与 while 循环的混淆

时间:2020-12-22 15:34:22

标签: while-loop

    ConfirmationforNewDeviceName= str(input("Please insert 'Yes' or 'No' :"))
    while (ConfirmationforNewDeviceName != "Yes" or 
        ConfirmationforNewDeviceName != "yes" or
        ConfirmationforNewDeviceName != "No" or
        ConfirmationforNewDeviceName != "no"):
        ConfirmationforNewDeviceName= str(input("Please insert 'Yes' or 'No' :"))

这是我的 Python 3 程序。我希望循环仅在我在第 1 行得到 Yes、yes、No 或 no 字符串时结束,否则它会继续运行。但是在给定的程序中,我创建的循环并没有结束我写的任何内容。它继续显示第 7 行的“请插入‘是’或‘否’:”。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

您需要and,而不是or

如果 ConfirmationforNewDeviceName"yes",请考虑:

"yes" != "Yes" or "yes" != "yes"

计算结果为 True or False,计算结果为 True。另一方面:

"yes" != "Yes" and "yes" != "yes"

计算结果为 True and False,按预期计算结果为 False