如果值的值高于任何列表当前元素的值,如何在列表中存储值?

问题描述 投票:2回答:1

我是新来的,如果我不清楚,请原谅我,但我会尽我所能......

我是python的新手,所以这可能是一个新手问题:

我必须插入数字,直到读取负数,之后,我应该打印机器读取的5个最高数字。问题是我一次不能存储超过6个数字。

我写了以下内容:

while numb >= 0:
numb = int(input()) 

if numb >= 0:
    numbList.append(numb)          
else:
    break                          

numbList.sort()

.append命令只会使我的列表更大,我不想要的东西。

你能借给我一个手吗?

我也不是母语人士,所以请原谅我可能犯过的任何错误:)

python python-3.x list
1个回答
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]
© www.soinside.com 2019 - 2024. All rights reserved.