【发布时间】:2018-03-03 06:44:03
【问题描述】:
从空闲:
>>> a=True
>>> b=True
>>> c=True
>>> d=True
>>> e=True
>>> f=a and b and c and d and e
>>> f
True
>>> b = False
>>> f
True
第二个f 不应该是假的,因为 b 是假的吗?
'如果两个操作数都为真,则条件为真。'
https://www.tutorialspoint.com/python/logical_operators_example.htm
即使它一次比较两个名字,因为一个比较给出了 False,所以其他所有比较都会是 False...?
【问题讨论】:
-
f 会是 False 吗?因为b?我没明白你的意思。我认为您错过了部分代码。
-
f 只有当 a,b,c,d 和 e 为真时才为真?没有?
-
在将
b设置为False后重复此操作:f=a and b and c and d and e。 -
虽然教程点的引用是正确的,但它也具有误导性的不完整性。
p and q将返回q如果p是 truth-ish 否则p。 Python 将__bool__()方法返回 true 的任何对象视为 true。例如3 and []将返回[]。