有人可以解释为什么print“ red” ==“ blue”或3> = 3返回True

问题描述

我想不通。

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

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

那为什么下面的为真?

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

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

解决方法

使用布尔运算符时,仅声明的条件之一必须为true才能使其返回true。 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返回True,并且由于只需要一个True参数,因此它会返回True,而忽略其他条件。

,

print("red" == "blue") #False出于显而易见的原因,因为红色字符串不等于蓝色字符串。

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

print("red" == "blue" or 3 >= 3)这是正确的,因为3 == 3