如何比较 x 的值以使它们按升序排列n = 5i = 1while i <= n: x = int(input()) i = i + 1
3 回答
米脂
TA贡献1836条经验 获得超3个赞
n = 5
i = 1
prev = float('-inf')
while i <= n:
x = int(input())
if x < prev:
print(f'{x} is lesser than {prev}!')
break
prev = x
i += 1
一只甜甜圈
TA贡献1836条经验 获得超5个赞
您只能将值与以前的值进行比较,因此您必须保留它们。由于您询问“增加订单”,看来您想收集所有输入:
n = 5
i = 1
x = []
while i <= n:
x += [int(input())]
i = i + 1
x = sorted(x)
x = []设置x为空列表。x += [int(input())]与您的命令执行相同的操作,但不是将结果直接分配给x,而是将其放入一个小列表中并将其添加到 的末尾x。最后的命令只是一次性对列表进行排序。
不过,构建列表的方法有很多。相反x += [int(input())],您可能更喜欢类似的东西x.append(int(input()))。这主要是风格问题。
翻过高山走不出你
TA贡献1875条经验 获得超3个赞
虽然之前的答案都是正确的,但我更喜欢:
x = <some random value>
while i <= n:
prev_x, x = x, int(input())
...
x这立即清楚地表明,在获得新值的同时,prev_x也在获得其先前的值。
其他人的感受可能有所不同。
添加回答
举报
0/150
提交
取消