python 条件语句结果不合理

标签 python conditional-statements

我尝试理解为什么我从以下 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/

相关文章:

javascript - 只要动画有效,就试图停止 jQuery 单击事件

java - 我的条件声明有问题

python - 与更通用的 python 日志记录模块相比,flask.logger 有什么优势?

python - 文本编辑始终大写

Python 在读取时截断行

PHP XSL 条件语句(CHOOSE、WHEN、IF、OTHERWISE)导致 500 内部服务器错误

javascript - 有条件 "not equal to a and not equal to b"等的 JS 简写吗?

c# - 是否可以有条件地停止 .NET 2008 调试器?

python - Python 扩展方法的段错误

Python/Django Multi-Tenancy 解决方案