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 行的“请插入‘是’或‘否’:”。请帮我解决这个问题。
答案 0 :(得分:0)
您需要and
,而不是or
。
如果 ConfirmationforNewDeviceName
是 "yes"
,请考虑:
"yes" != "Yes" or "yes" != "yes"
计算结果为 True or False
,计算结果为 True
。另一方面:
"yes" != "Yes" and "yes" != "yes"
计算结果为 True and False
,按预期计算结果为 False
。