我对Python中的逻辑运算符得到的结果有点困惑。我是一名初学者,正在学习使用几本书,但他们并没有像我想的那样详细解释。
这是我自己的代码:
five = 5
two = 2
print five and two
>> 2
似乎只是输出两个变量。
five = 5
two = 2
zero = 0
print five and two and zero
所以,我添加了另一个变量整数。然后我打印并得到以下输出:
>> 0
Python在后台发生了什么?为什么输出不像7或5,2。
答案 0 :(得分:41)
Python布尔运算符返回最后计算的值,而不是True / False。 docs对此有一个很好的解释:
表达式
x and y
首先评估x
;如果x
为false
,则返回其值;否则,将评估y
并返回结果值。
答案 1 :(得分:4)
作为一个旁注:(我没有足够的代表注释)打印多个变量不需要AND运算符。您可以使用逗号分隔变量名称,例如print five, two
而不是print five AND two
。您还可以使用转义将变量添加到打印行,例如print "the var five is equal to: %s" %five
。更多相关内容:http://docs.python.org/2/library/re.html#simulating-scanf
像其他人一样说过AND是一个逻辑运算符,用于将多个条件串起来,例如
if (five == 5) AND (two == 2):
print five, two
答案 2 :(得分:3)
Boolean如果求值的表达式为5
,则运算符将返回第一个值false
,如果求值的表达式为2
,则运算符将返回第二个值true
。由于5
和2
都是真值,非假值和非空值,因此表达式的计算结果为true。
如果你想打印两个变量,你可以将它们连接到一个字符串并打印出来。
five = 5
two = 2
print five + " and " + two
或者打印他们可以使用的金额
print five + two
这个document解释了如何使用逻辑布尔运算符。
答案 3 :(得分:1)
Python中的AND
等同于Java中的&&
。这并不意味着英语和英语。 AND
是一个逻辑运算符。假设五个持有5和两个持有2.从Python文档:表达式x和y首先计算x;如果x为false,则返回其值;否则,将评估y并返回结果值。基本上,它会计算您案例中的最后一个整数,即
if (five and two):
... print "True"
... else:
... print "False"
AND是一个逻辑运算符,用于测试特定情况的逻辑,而不是算术运算符。如果你想得到像5和2的结果,你应该使用“+”,这意味着添加两个整数。见下文:
>>> five = 5
>>> two = 2
>>> print five + two
7
答案 4 :(得分:1)
尝试0
和9
。
结果为0
,因为0
的值为false。 and
运算符左侧的操作数为False,因此整个表达式为False并返回0
答案 5 :(得分:0)
在Python中,任何非零整数值都为真;零是假的。
OP的值都不为零。
AND运算符从左到右进行测试,
with和,如果所有值都为True,则返回最后一个评估值。 如果任何值为false,则返回第一个值。
由于两者都不为零,两者都为真,因此返回最后一个值
答案 6 :(得分:-2)
要将整型变量转换为字符串,请在每个变量前添加str
五 = 5 两个 = 2
print(str(five) + " and " + str(two))