【发布时间】:2020-10-16 15:22:45
【问题描述】:
我想不通。
>>>print("red" == "blue")
False
>>>print("red" == 3 >= 3)
False
那么为什么以下是正确的?
>>> print("red" == "blue" or 3 >= 3)
True
有人把我的大脑从痛苦中解救出来
【问题讨论】:
-
当您使用布尔值
or时,只需其中一个条件为真,它就会返回真。3>=3为真,所以整个表达式为真。查看Boolean algebra 了解更多信息。 -
当您将第一个 sn-p 与第二个进行比较时,它看起来像一个骗子。它们与受骗者抓人的方式不太匹配。
-
没关系,我通读了接受的答案,如果你仔细看,你可以看到逻辑
or的解释。 -
print("red" == 3 >= 3)但这不是您完整表达的任何部分。它是"red" == "blue" or 3 >= 3,它被评估为("red" == "blue") or (3 >= 3),然后是False or True。 -
"red" == 3 >= 3等价于"red" == 3 and 3 >= 3,这就是你得到False的原因。