为什么(not false and true或not false and not true)结果为true ?
如果按从左到右的顺序求值,则在语句末尾有一个and语句,并带有一个不为真语句。这不应该是假的吗?
因为运算符优先。
查看您正在使用的语言中的操作符文档,以查看它们的具体规则。但至少在我使用的每种语言中,and
操作优先于or
操作。
:
not false and true or not false and not true
等于:
(not false and true) or (not false and not true)
not
的操作有更高的优先级,所以现在它是一样的:
((not false) and true) or ((not false) and (not true))
可简化为:
(true and true) or (true and false)
可简化为:
true or false
可简化为:
true