【发布时间】:2017-07-13 08:11:18
【问题描述】:
使用 Python 2.7 和 -1/2 将导致 -1,因为 -1 是 -0.5 的下限。但我想得到 0 的结果,即 1/2(结果为 0),然后是负数 1/2(最终结果仍为 0)想知道是否有一种优雅的方法可以做到这一点?
我目前的解决方案是使用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
【问题讨论】:
-
这个答案很优雅,因为您并不真正使用浮点算术或符号函数stackoverflow.com/questions/1986152/…
-
@Elmex80s,谢谢。对于“这个答案”,你指的是哪个答案?
标签: python python-2.7