Python比较>,<

时间:2019-03-04 12:55:49

标签: python comparison-operators

有人可以解释以下内容吗?

print("5<7<3 ",5<7<3) 
print("(5<7)<3 ",(5<7)<3) 
print("5<(7<3) ",5<(7<3)) 
print("5>(7<3) ", 5>(7<3))
print("(5<7)>3 ",(5<7)>3)
print("(5<7)<1 ",(5<7)<1)

输出为:

Line 1 - 5<7<3  False 
Line 2 - (5<7)<3  True
Line 3 - 5<(7<3)  False
Line 4 - 5>(7<3)  True
Line 5 - (5<7)>3  False
Line 6 - (5<7)<1  False

我很困惑第3行和第4行的输出如何给出True和False。 据我了解x

3 个答案:

答案 0 :(得分:2)

第3行-5<(7<3) False

(7<3)False,在Python上下文中是0,现在5<0False

第4行-5>(7<3) True

类似地,7<3False,它也是0,所以5>0True

对于其他行,如果条件导致True,则Python将其渲染为1,以进行后续条件检查。

答案 1 :(得分:0)

第3行-(7 <3)解析为不超过5的0 =>否。
第4行-(7 <3)解析为0,小于5 => True。

答案 2 :(得分:0)

简单地评估括号的答案:

记住False = 0和True = 1

因此,第3行和第4行:

print("5<(7<3) ",5<(7<3)) 
print("5>(7<3) ", 5>(7<3))

将会

1)5 <(False),即5 <0,这是False。

2)5>错误,即5> 0,这是正确的