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.如果有人可以添加一些解释,我将不胜感激。
答案 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