我的代码不会添加到列表中,并且会打印任何内容

时间:2019-06-25 16:43:53

标签: python python-3.x list

我正在尝试将随机int运算符生成的所有大于10的数字都添加到我的列表(lisps)中,并打印出所有小于10的数字。每当我运行它时,它都不会返回输出。您可以仔细查看一下,看看问题出在哪里。

from random import randint

lisps = []

rand = randint(0,20)

while len(lisps) > 5:
    if rand > 10:
        lisps = lisps.append(rand)
        print(f'{rand} Greater than 10')
    elif rand < 10:
        print(rand)
        print(f'{rand} less than 10')


#It doesn't print anything. 

3 个答案:

答案 0 :(得分:2)

仅当lisps包含5个以上的项目时才执行循环。但是lisps开始时是空的,因此甚至从未进入循环,并且lisps仍然是空的。

也许您是说while len(lisps) < 5:,以便只要少于5个项目就执行循环?

答案 1 :(得分:1)

没关系,我明白了。我看到我把大于5而不是小于5放置了。

答案 2 :(得分:0)

from random import randint

lisps = []


while len(lisps) < 5:
    rand = randint(0,20)
    if rand > 10:
        lisps.append(rand)
        print(lisps)
        print(f'{rand} Greater than 10')
    elif rand < 10:
        print(rand)
        print(f'{rand} less than 10')

这可以工作!

您还将仅生成一次random int。将其放在while中,以便每次都附加不同的值。

追加到列表的正确方法是lisps.append(rand),而不是您完成的方法。