python中的逻辑与运算
这个表达式在Python中是如何工作的python中的逻辑与运算,python,python-3.x,logical-operators,Python,Python 3.x,Logical Operators,这个表达式在Python中是如何工作的 x=1, y=2, z=3 print(x and y and z) 结果是3 如果 结果是1 任何人都可以解释这一点?或python中的运算符返回第一个参数,如果它被认为是真的,那么它将返回第二个参数。这两个值都不会转换为布尔值。 和运算符将返回第一个参数(如果它被视为false),否则返回第二个参数。再次没有转换 所以a或b是a如果bool(a)==True否则它是b 如果bool(a)=False,则a和b为a 编辑: 编辑我的错误-我在逻辑测试
x=1, y=2, z=3
print(x and y and z)
结果是3
如果
结果是1
任何人都可以解释这一点?
或python中的
运算符返回第一个参数,如果它被认为是真的,那么它将返回第二个参数。这两个值都不会转换为布尔值。
和
运算符将返回第一个参数(如果它被视为false),否则返回第二个参数。再次没有转换
所以a或b
是a
如果bool(a)==True
否则它是b
如果bool(a)=False,则a和b
为a
编辑:
编辑我的错误-我在逻辑测试中切换了和和或,返回的值是最后评估的值。
因此,在第一个测试中==>print(1、2和3)
,我们得到的答案是3
,因为它是测试的最后一个真值。
在第二个测试中==>打印(3和2和1)
,同样的答案是1
对我来说,它给出了3个不是1你要么去z和y和x
要么x=1;y=2;z=3
您可以找到答案。表达式x和y首先计算x;如果x为false,则返回其值;否则,将计算y并返回结果值。1和2=2,然后2和3=3,3和2=2,然后2和1=1
您所说的似乎与实际情况相反。老年退休金计划的条款都是正确的,但最终的价值是结果,而不是第一个。谢谢你,我忘了他问过,不是或。
x=3, y=2, z=1
print(x and y and z)