Мой код не будет добавлен в список и будет ничего печатать - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь добавить все числа больше 10, сгенерированные оператором random int, в мой список (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 ]

2 голосов
/ 25 июня 2019

Цикл выполняется только тогда, когда в lisps содержится более 5 элементов. Но списки начинаются пустыми, поэтому цикл даже не вводится, а списки остаются пустыми.

Возможно, вы имели в виду while len(lisps) < 5:, так что цикл выполняется до тех пор, пока меньше , чем 5 элементов?

1 голос
/ 25 июня 2019

Неважно, я понял.Я видел, что я положил больше 5 вместо меньше чем 5.

0 голосов
/ 25 июня 2019
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) не так, как вы сделали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...