此问题在此处已有答案:
Why does "a == x or y or z" always evaluate to True? How can I compare "a" to all of those?(6个答案)
昨天关门了。
我正在使用是/否循环,使一个无限循环,将结束时,用户输入否或否,但程序不能正常工作。我知道什么是错误,但我不知道为什么它发生这样的。谁能告诉如何修复错误,而不改变我的初始程序
当我使用这段代码时,它可以工作,但当我在中使用if a=='yes'或'Yes'和elif a=='no'或'No'时,即使我输入no,输出也会显示if语句的print语句。
没有OR条件的我的程序
while True:
a = input("Enter yes/no to continue")
if a=='yes':
print("enter the program")
elif a=='no':
print("EXIT")
break
else:
print("Enter either yes/no")
我的初始程序带有OR条件
while True:
a = input("Enter yes/no to continue")
if a=='yes' or 'Yes':
print("enter the program")
elif a=='no' or 'No':
print("EXIT")
break
else:
print("Enter either yes/no")
3条答案
按热度按时间rdlzhqv91#
在
or
语句中,必须将a
与所有表达式中的值进行比较:一个更复杂的方法是在你的例子中使用
.lower()
。nszi6y052#
您有几个选项:
也可以执行以下操作:
enxuqcxy3#
当你使用
or
时,你应该再写一次完整的条件。在这里如果你想检查
a=="Yes"
,你应该完全声明它。您也可以使用此选项: