有人可以解释为什么 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
我脑子里想不通。
>>>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