1 #题目:输入三个整数x,y,z,请把这三个数由小到大输出。
代码:
2 3 x = int(input('请输入第一个整数:')) 4 y = int(input('请输入第二个整数:')) 5 z = int(input('请输入第三个整数:')) 6 7 if x > y: 8 num_max = x 9 if num_max < z: 10 num_max = z 11 else: 12 num_max = y 13 if num_max < z: 14 num_max = z 15 16 17 if x < y: 18 num_min = x 19 if num_min > z: 20 num_min = z 21 else: 22 num_min = y 23 if num_min > z: 24 num_min = z 25 26 27 if x > y: 28 if z > x: 29 num_mid = x 30 elif z < x and z > y: 31 num_mid = z 32 else: 33 num_mid = y 34 else: 35 if z < x: 36 num_mid = x 37 elif z > x and z < y: 38 num_mid = z 39 else: 40 num_mid = y 41 42 print('输入的三个数字按从小到大排列分别为%d,%d,%d'%(num_min,num_mid,num_max))
运行结果:
[root@HK code_100]# python code_5.py 请输入第一个整数:3 请输入第二个整数:5 请输入第三个整数:7 输入的三个数字按从小到大排列分别为3,5,7 [root@HK code_100]#
代码解释:
这个题的解题思路是通过比较,分别确认这三个数中的最大数,最小数,以及中间数,然后按顺序输出 其实按照list的排序方法最简单,但是用下面方法可以巩固知识练习判断语句。 3 x = int(input('请输入第一个整数:')) # 接收三个整数 4 y = int(input('请输入第二个整数:')) 5 z = int(input('请输入第三个整数:')) 6 ############################################################### 求三个数中的最大值 7 if x > y: #当 x > y 时,。 8 num_max = x #将x赋值给最大值 9 if num_max < z: #如果最大值小于z 10 num_max = z #那么z就是最大值 11 else: 12 num_max = y #else,如果x<y,那么最大值就是y 13 if num_max < z: #如果最大值小于z 14 num_max = z #那么就将z赋值给最大值,这个else条件默认如果最大值大于z,那么最大值保持不变 15 16##################################################################求三个数中的最小值 17 if x < y: #思路与求最大值相同 18 num_min = x 19 if num_min > z: 20 num_min = z 21 else: 22 num_min = y 23 if num_min > z: 24 num_min = z 25 #################################################################求三个数中的中间值 26 27 if x > y: #如果x>y 28 if z > x: #如果z >x 29 num_mid = x #那么z>x>y,那么x就是中间数 30 elif z < x and z > y: #如果x>z>y 31 num_mid = z #那么中间数就是z 32 else: #第三种情况就是 x>y>z,中间数是y 33 num_mid = y 34 else: # 与上述类似 35 if z < x: 36 num_mid = x 37 elif z > x and z < y: 38 num_mid = z 39 else: 40 num_mid = y 41 42 print('输入的三个数字按从小到大排列分别为%d,%d,%d'%(num_min,num_mid,num_max)) #格式化按由小到大输出三个数