2013-11-01 162 views
0

我有一個int類型的變量,它是Python,所以它可以是正數也可以是負數。現在,我想讓另一個變量具有與第一個變量1相同的符號。使用if語句很容易做到這一點,然後將-1或+1賦值給一個變量,並將每個想要將此符號與-1或+1相加的變量相乘。但後來我想也許還有另一種方法來做到這一點(例如內置函數)。有沒有像「sign = getsignbit(value)」的東西?Python將變量號賦給變量

編輯: 解決! math.copysign做了這件事,cmp(x,0)也起作用,但我不僅想要-1,0或1,還要將5變成-5。

+0

標誌=拉姆達X:math.copysign(1,X)看起來不錯 – yossi

回答

3

我不認爲有一個內置的功能,但你可以滾你自己很輕鬆地:

def the_sign(num): 
    return cmp(num, 0) 
+1

請注意['cmp'已經在Python3中刪除](http://docs.python.org/3.0/whatsnew/3.0.html#ordering-comparisons)。 –

+0

我使用的Python 2.7,它既可以工作,但我喜歡math.copysign更好。我仍然給了+1;) – user2746752