2024-04-18 00:38:11 发布
网友
test = '' # This loop infinitely while test != 'O' or test != 'X': test = raw_input("Enter: ").upper() # This works fine while not(test == 'O' or test == 'X'): test = raw_input("Enter: ").upper()
放not和用!=有什么区别?你知道吗
not
!=
。。。如果你一路狂饮,你会写作
while not test in ('O', 'X'):
或者更简单
while not test in 'OX':
问题是你的连词:你没有正确地应用德莫根定律。分发否定时,需要从or切换到and。你知道吗
or
and
not(test == 'O' or test == 'X')
相当于
test!= 'O' and test!= 'X'
看看test!= 'O' or test!= 'X'的逻辑:不管你给test什么字符,它都不等于两个测试字符中的至少一个。F0r O,第二个子句是True;对于X,第一个是True;对于任何其他字符,两个子句都是True。为了克服这个问题,您需要一个同时是X和O的字符。你知道吗
test!= 'O' or test!= 'X'
test
O
True
X
我们不是在用Python做量子变量。。。至少现在还没有。您必须编写一个带有自定义相等运算符的新类才能使其正常工作。你知道吗
。。。如果你一路狂饮,你会写作
或者更简单
问题是你的连词:你没有正确地应用德莫根定律。分发否定时,需要从
or
切换到and
。你知道吗相当于
看看
test!= 'O' or test!= 'X'
的逻辑:不管你给test
什么字符,它都不等于两个测试字符中的至少一个。F0rO
,第二个子句是True
;对于X
,第一个是True
;对于任何其他字符,两个子句都是True
。为了克服这个问题,您需要一个同时是X
和O
的字符。你知道吗我们不是在用Python做量子变量。。。至少现在还没有。您必须编写一个带有自定义相等运算符的新类才能使其正常工作。你知道吗
相关问题 更多 >
编程相关推荐