Python: while queue



有一个包含数字的列表。while队列应该一直运行到用户从列表中输入数字为止。

new_list = [1, 2, 3]
while not True:
user_input = input()
if user_input in new_list:
break
else:
print("false")

如果我输入例如2,队列当前不会停止。

由于条件While not True,这将不会执行,请查看布尔值以及循环构造的工作方式。此外,当从命令行读取时,您使用输入。如果您之前没有说明input((应该期望什么,那么它默认为字符串。这意味着,如果您输入一个数字,这个数字不是整数或浮点值,因为input((将其解释为字符串。

试试这个:

new_list = [1, 2, 3]
while True:
user_input = int(input('Number: '))
if user_input in new_list:
break
else:
print('False')

条件检查new_list中是否存在字符串'2'。您应该将字符串转换为对应的类型,在您的情况下,代码应该是user_input = int(input())

最新更新