我尝试理解为什么我从以下 if
中得到不合理的结果:
def print_if_neg (a,b):
if a < 0 != b < 0:
print "Only One Neg"
else:
print "0 or 2"
print_if_neg(1,1)
print_if_neg(-1,1)
print_if_neg (1,-1)
print_if_neg(-1,-1)
我得到 3 次 0 或 2
,然后最后一次 只有一个 Neg
。
这个复杂条件的顺序是什么?
我已经尝试过这个:
if (a < 0) != (b < 0):
没关系,但我试图理解为什么上面的方法不起作用。
最佳答案
您需要括号,因为 operator precedence
def print_if_neg (a,b):
if (a < 0) != (b < 0):
print "Only One Neg"
else:
print "0 or 2"
关于python 条件语句结果不合理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45172888/