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)) #格式化按由小到大输出三个数