使用Python 2.7和-1/2將導致-1,因爲-1是floor的-0.5。但我想得到0的結果,即1/2(結果爲0),然後是負1/2(最終結果仍爲0)想知道是否有一種優雅的方式來做到這一點?Python中的負數除
我目前的解決方案是使用abs並首先檢查它們的標誌,這看起來不是很優雅,想知道是否有人有更優雅的解決方案?在Python 2.7
源代碼,
a = -1
b = 2
print a/b # output -1
# prefer -(1/2) = 0
r = abs(a)/abs(b)
if (a > 0 and b < 0) or (a < 0 and b > 0):
r = -r
print r
這個答案是優雅的,因爲你不真的在浮點運算或符號函數http://stackoverflow.com/questions/1986152/why-doesnt-python-have-a-sign-function – Elmex80s
@ Elmex80s,謝謝。對於「這個答案」,你的意思是哪個答案? –