有人可以解释以下内容吗?
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
答案 0 :(得分:2)
第3行-5<(7<3) False
(7<3)
是False
,在Python上下文中是0
,现在5<0
是False
。
第4行-5>(7<3) True
类似地,7<3
是False
,它也是0
,所以5>0
是True
。
对于其他行,如果条件导致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,这是正确的