1

可能重复:
为什么这个除法在 python 中不起作用?

我遇到的一个简单问题(我认为)以下语句:

    print (4950*8)/(((4950*8)/10000000*(1538/1460))+0.1/1000)/1000

给我 396000.0。

但在计算器上我得到 9270.614192621。

如果有人能指出我在代码中做错了什么,那就太好了。

谢谢。

4

2 回答 2

5
>>> print (4950.0*8)/(((4950.0*8)/10000000*(1538.0/1460))+0.1/1000)/1000
9270.61419262
于 2012-06-25T15:14:22.523 回答
4

int旧版本的 Python 对操作数使用截断整数除法。

尝试from __future__ import division(请参阅http://www.python.org/dev/peps/pep-0238/了解全文)或强制 int 操作数浮动(例如,使用float,或附加.0到文字)。

于 2012-06-25T15:15:07.917 回答