使用列表范围执行循环

Mum*_*mid 0 python for-loop

我正在根据用户输入创建一个正整数列表。该列表将有 5 个值。在负输入的情况下,该值不会进入列表并发出错误消息并再次询问该数字。我的代码遇到的问题是循环在执行 5 次后下降。然而,我希望它继续运行,直到我得到 5 个正数。

lists = []

for i in range(5):
  s = int(input('Enter a number: '))
  if s >= 0:
    lists.append(s)
  else:
    print("Enter a valid number")

print(lists)
Run Code Online (Sandbox Code Playgroud)

Ioa*_*mas 5

您最好将其更改为 while 循环,如下所示:

lists = []

while len(lists)<5:
    s = int(input('Enter a number: '))
    if int(s) >= 0:
        lists.append(int(s))
    else:
        print("Enter a valid number")
Run Code Online (Sandbox Code Playgroud)