我正在尝试对列表进行排序以查找最大值和最小值,但是在输入10之类的2位数字后,排序无法正常工作
n=input().split();
n=list(n)
n.sort()
print(n)
print(max(n),min(n),end=" ")
10 11 4 1 7 2 9
我,除了输出应该是
['1','2','4','7','9','10','11']
11 1
但实际输出是
['9', '7', '4', '2', '11', '10', '1']
9 1
答案 0 :(得分:0)
尝试一下:
n=[int(x) for x in input().split()]
n.sort()
print(n)
print(max(n),min(n),end=" ")
在您的代码中,n
是字符串列表。您可以通过[int(x) for x in input().split()]
获取数字列表。
答案 1 :(得分:0)
您要按词法而不是数字进行排序,因为n
是一个字符串列表,而不是数字。
将第一行替换为:
n=map(int, input().split());