求繁为简:初学者总是复杂化一个简单问题

题目是:输入三个整数x,y,z,由大到小排序输出
(我初学,应用不太熟)
我的思路是:

x=int(input())
y=int(input())
z=int(input())
a=(x, y, z)
x=max(a)
y=min(a)
print(x, y, z)
x=int(input())
y=int(input())
z=int(input())
a=[x, y, z]
a.sort(reverse=True)
print(a)

a=input()
a=a.split(' ')
a=[int(i) for i in a]
a.sort(reverse=True)
print(a)

如果按照你得想法,这个样子要从大到小排序下面得x你取出了最大值,y取出得是最小值 按照你这个样子输出 应该是print(x,z,y) 而不是xyz得输出 ,而且你得z也得重新赋值判断他是中间值,多学学函数,你这个样子可以使用nextVal =sorted(a, reverse=True) 直接输出nextVal

# 输入以逗号分隔的一串数字
num_str_list = input("请输入").split(",")
# 转换为int型
num_list = list(map(int, num_str_list))
# 直接倒序
num_list.reverse()
# 打印倒叙后的列表
print(num_list)

img

在大家的帮助下,在此献上我的答案


x, y, z = map(int,input("请输入(中间用逗号隔开):").split(","))
a = [x, y, z]
a.sort(reverse = True)
print(a)