答案 0 :(得分:3)
-28/96
为-1(整数除法是整数的默认值)
将其转为-28/96.0
您将获得所需的结果。
(或切换到python 3)
BTW:3.14是Pi
的一个非常差的近似值,除非你喜欢ovoïd圆圈:)
改为使用math.pi
。
(我刚刚看到你第一次写了28.0/96
,这是正确的!你的潜科学家知道这个错误:))
答案 1 :(得分:3)
Python正确处理它。 Python将“-28/96”解释为int divides int,因此它返回最大的前一个整数“-28/96”,即-1。你需要的是“-28.0 / 96”,然后python 2.7会将表达式解释为float division并按照你的意愿处理它。
此外,相同的表达式将在python 3中返回一个双精度浮点数,即“-0.2916666666666667”。
答案 2 :(得分:1)
查看-28/96
的结果:
>>> -28/92
-1
>>> math.atan(-1)
-0.7853981633974483
所以python对整数使用整数除法,而不是浮点除法。
>>> math.atan(-28.7/96)
-0.2905008632137447
给出正确的结果