0

我有一个 int 类型的变量,它是 Python,所以它可以是正数和负数。现在,我想让另一个变量与第一个变量1 具有相同的符号。通过使用 if 语句很容易做到这一点,然后将 -1 或 +1 分配给一个变量,并将我想要这个符号的每个变量乘以 -1 或 +1。但后来我想也许还有另一种方法可以做到这一点(例如内置函数)。有没有像“sign = getsignbit(value)”这样的东西?

编辑:解决了!math.copysign 做了这件事, cmp(x,0) 也可以,但我不仅想要 -1、0 或 1,还要将 5 变成 -5。

4

2 回答 2

3

没有内置sign函数(有关解释,请参阅此答案:为什么 Python 没有符号函数?),但math.copysign可能对您有用。 http://docs.python.org/2/library/math.html#math.copysign

于 2013-11-01T20:53:01.423 回答
3

我不认为有一个内置函数,但你可以很容易地推出自己的功能:

def the_sign(num):
    return cmp(num, 0)
于 2013-11-01T20:54:15.353 回答