检查两个值是否为非负值或均为负值

goo*_*ion 0 python python-3.x

给定一对整数值,我需要检查两者是否为非负数或两者都为负数.

琐碎的方式是:

def func(a, b):
    return (a >= 0 and b >= 0) or (a < 0 and b < 0)
Run Code Online (Sandbox Code Playgroud)

但我正在寻找一些"整洁"的东西,我相信这是可能的,所以我想出了这个:

def func(a, b):
    return (a >= 0) ^ (b >= 0) == 0
Run Code Online (Sandbox Code Playgroud)

然而,这个感觉有点"对普通读者来说模糊不清".

有更干净的方式吗?

谢谢.

cs9*_*s95 10

将它们相乘并对0进行测试:

def func(a, b):
    return a * b >= 0
Run Code Online (Sandbox Code Playgroud)