有人可以解释为什么 print("red" == "blue" or 3 >= 3) returns True

Can someone explain why print("red" == "blue" or 3 >= 3) returns True

我脑子里想不通。

>>>print("red" == "blue")
False

>>>print("red" == 3 >= 3)
False 

那么为什么以下是正确的?

>>> print("red" == "blue" or 3 >= 3)
True

有人让我的大脑摆脱了痛苦

当您使用布尔运算符 时,只有声明的条件之一必须为真才能使其 return 为真。 3>=3 为真,所以整个表达式为真.

print("red" == "blue" or 3 >= 3)

分析:

"red" == "blue" #--> False

3 >= 3 #-->True

假设有一个 OR 运算符:

"red" == "blue" or 3 >= 3 #--> False OR True --> True

那是因为你使用了or

在那种特定情况下,3 >= 3 returns 正确,并且由于它只需要一个 True 参数,因此 returns 正确,忽略其他条件。

print("red" == "blue") #False 原因很明显,因为红色字符串不等于蓝色字符串。

print("red" == 3 >= 3) 这是错误的,因为红色不等于 3

print("red" == "blue" or 3 >= 3) 这是真的因为 3 == 3