Python: 排队时

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,当前队列不会停止。

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

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

试试这个:

new_list = [1, 2, 3]

while True:
    user_input = int(input('Number: '))
    if user_input in new_list:
        break
    else:
       print('False')