问题描述
我想不通。
>>>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