Python:每日一题005
题目:
输入三个整数x,y,z,请把这三个数由小到大输出。
程序分析:
我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
个人的思路及代码:
两种方法:分别使用sorted()或者min()函数
x,y,z = [int(x) for x in input("请输入三个数字:三个数字间以空格分隔").strip().split(" ")] li = [x,y,z] # 方式一 new_li= sorted(li) for i in new_li: print(i) # 方式二 x = min(li) li.remove(min(li)) y = min(li) li.remove(min(li)) z = li[0] print(x,y,z)
user_input = input("请输入三个数字:三个数字间以空格分隔") if user_input.isdigit(): x,y,z = [int(x) for x in user_input.strip().split(" ")]
分析:对用户输入的情况作出判断,不直接进行int
其他参考解答
解答1
x=int(input('输入第一个数:')) y=int(input('输入第二个数:')) z=int(input('输入第三个数:')) if x>y: x,y=y,x if x>z: x,z=z,x if y>z: y,z=z,y print(x,y,z)
解答2
x,y,z = [int(x) for x in input("请输入三个数字:三个数字间以空格分隔").strip().split(" ")] ns =lambda x,y,z:sorted(li) print(ns(x,y,z))
分析:使用匿名函数简化语句,调用匿名函数。
(本文编号005,首发于2018年9月15日,修改于2018年9月17日)
posted on 2018-09-15 23:47 Nicholas-- 阅读(254) 评论(0) 编辑 收藏 举报