[英]Python why this if statement returns True?
我想知道为什么它返回True:
if False or True and True == True and (False == True or False == (not True)) or False and False and True:
pass
它最后不接受“和假”部分为假吗? 不是所有带有“and”的语句都返回True吗?
从...开始:
False or True and True == True and (False == True or False == (not True)) or False and False and True
先解决括号:
(False == True or False == (not True))
首先解决括号 - not True
是False
:
(False == True or False == False)
下一个操作顺序: ==
:
((False == True) or (False == False))
导致:
((False) or (True))
下一个操作顺序: or
:
(True)
现在我们有:
False or True and True == True and (True) or False and False and True
下一个操作顺序: ==
:
False or True and (True == True) and True or False and False and True
导致:
False or True and (True) and True or False and False and True
下一个操作顺序: and
:
False or ((True and True) and True) or ((False and False) and True)
导致:
False or ((True) and True) or ((False) and True)
接着:
False or (True) or (False)
现在or
运算符:
((False or True) or False)
接着:
((True) or False)
这导致True
因为True or False
是True
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.