我不理解Python中的布尔真理

时间:2013-08-14 09:22:46

标签: python boolean

我写了这段代码(x在此范围之前通过str()运行:

if x == "A" or "O":
    return x

B时会返回x = B。有人可以帮我理解为什么x = B在这里验证了吗?

当我将代码更改为

if x == "A":
    return x
elif x == "O":
    return x

它与x = B不匹配,所以我假设这里有一些布尔逻辑,我不理解。

1 个答案:

答案 0 :(得分:3)

if x == "A" or "O":应为if x == "A" or x == "O":

if x == "A" or "O":将始终评估为true


if x == "A" or "O":被解释为:

if (x == "A") or ("O")"O"true,因此,即使x不是"A",因为您有or,这始终是true

或者你可以写:

if x in ["A", "O"]: