实现三个数从大到小排序,下面的python代码有啥问题?

2025-05-09 20:26:52
推荐回答(2个)
回答1:

  1. input 输入的是字符类型的数据,你应该把num1,2,3通过int变成数据类型,在这之后再运算。

  2. for j in range(0,3) 这一个比较次数多了,两次即可彻底比较出来,修改为for j in range(1,3)

  3. for i in range(0,len(numlist)-1)这一个表达不明,改成for i in range(0,2)即可。

num1 =int( input("请输入第一个数:"))

num2 = int(input("请输入第二个数:"))

num3 = int(input("请输入第三个数:"))

numlist = [num1,num2,num3]

for j in range(1,3):
for i in range(0,2):
if numlist[i] > numlist[i+1]:
a = numlist[i]
numlist[i] = numlist[i+1]
numlist[i+1] = a

print(numlist)

以上。

回答2:

排序最简单的方式是使用内置函数sorted,接上你上面numlist = [num1,num2,num3],之后如果想从大到小排序只需numlist = sorted(numlist,reverse = True),这样就行了。至于你代码里面的问题,请你自己找出来吧。即使是单纯用代码实现,应该也不算太难。