我编写了这段代码(x
在此作用域之前通过 str()
运行):
if x == "A" or "O":
return x
当x = B
时,返回B
。有人可以帮助我理解为什么 x = B
在这里验证吗?
当我将代码更改为读取时
if x == "A":
return x
elif x == "O":
return x
它与x = B
不匹配,所以我假设这里的 boolean 逻辑有一些我不理解的东西。
最佳答案
if x == "A"or "O":
应该是if x == "A"or x == "O":
。
if x == "A"or "O":
将始终被评估为 true
。
如果 x == "A"或 "O":
解释为:
如果 (x == "A") 或 ("O")
,"O"
为 true
,因此即使 x
不是 "A"
,因为您有 or
,所以这将始终是 true
。
或者你可以写:
if x in ["A", "O"]:
关于python - 我不明白 Python 中的 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18227780/