我有一个“如果”站,它的行为不符合我的预期。你知道吗
下面是我的例子:
if not userTime[-2].upper() == "X" or not userTime[-2].upper() == "Z":
raise ValueError("not entered an X or a Z")
else:
notValid = False
我的输入总是导致userTime[-2]
总是大写的“Z”
将userTime[-2].upper()
打印到屏幕上显示为“Z”,但仍会引发异常。你知道吗
我不能让它击中这个'if'语句的else
部分,现在想知道我是否遗漏了什么
与
a or b
相反的不是not a or not b
,而是not a and not b
。尝试:或者,等价地
或者,完全避免复杂布尔表达式的问题
否定布尔表达式有点违反直觉。有关详细信息,请参阅De Morgan's laws。你知道吗
相关问题 更多 >
编程相关推荐