(使用Python 2.7)我知道这是非常基本的,但为什么下面的语句不能按书面方式工作:
input = int(raw_input())
while input != 10 or input != 20:
print 'Incorrect value, try again'
bet = int(raw_input())
基本上我只想接受 10 或 20 作为答案。现在,无论“输入”如何,即使是 10 个或 20 个,我都会得到“值不正确”。这些条款是否自相矛盾?我认为只要其中一个子句正确,OR 语句就会说“OK”。谢谢!
你需要and
:
while input != 10 and input != 20:
想一想:如果input
is 10
,那么第一个表达式是false
,导致 Python 计算第二个表达式input != 20
. 10
是不同的形式20
,所以这个表达式的计算结果为true
. As false or true == true
,整个表达式为true
.
同样适用于20
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)