需要帮助来理解python中的代码

时间:2014-02-10 06:51:59

标签: python

first = int(input('first int: '))
second = int (input('second int: '))
result =0
if first and second:
result =1
elif not first:
    result =2
elif first or second:
    result=3
else:
    result=4
print(result)

当我输入1和0时,结果为3.如果有人可以添加一些解释,我将不胜感激。

2 个答案:

答案 0 :(得分:2)

您正在使用or - 这意味着该语句首次找到True时将返回True。 当你说5 or 9时,5和9都表示真理(任何非零值都是如此)。所以它返回第一个 - 在这种情况下为5。当您说9 or 5时,它会返回9.

编辑k = 1 or 0将评估为True,因为1代表真理。因此,根据您的代码,result为3

答案 1 :(得分:0)

在许多程序语言中,布尔运算仅在其结果需要时才评估其第二个参数。这些称为短路运算符。在python中,根据docs,它返回:

x or y  :   if x is false, then y, else x
x and y :   if x is false, then x, else y