我是新来的,如果我不清楚,请原谅我,但我会尽我所能......
我是python的新手,所以这可能是一个新手问题:
我必须插入数字直到读取负数,之后,我应该打印机器读取的5个最高数字。问题是我一次不能存储超过6个数字。
我写了以下内容:
while numb >= 0:
numb = int(input())
if numb >= 0:
numbList.append(numb)
else:
break
numbList.sort()
但是.append
命令只会使我的列表变大,这是我不想要的。
你可以帮我一把吗?
我也不是母语人士,所以请原谅我可能犯过的任何错误:)
答案 0 :(得分:0)
from collections import deque
all_numbers = deque(maxlen=6)
while True:
number = int(input('Enter a positive number: '))
if number < 0:
break
if not all_numbers or number > all_numbers[-1]:
all_numbers.append(number)
# print(all_numbers)
print(list(all_numbers)[-5:])
控制台:
Enter a positive number: 1
Enter a positive number: 2
Enter a positive number: 3
Enter a positive number: 4
Enter a positive number: 5
Enter a positive number: 6
Enter a positive number: 7
Enter a positive number: 8
Enter a positive number: 9
Enter a positive number: -1
[5, 6, 7, 8, 9]