可能重复:
为什么这个除法在 python 中不起作用?
我遇到的一个简单问题(我认为)以下语句:
print (4950*8)/(((4950*8)/10000000*(1538/1460))+0.1/1000)/1000
给我 396000.0。
但在计算器上我得到 9270.614192621。
如果有人能指出我在代码中做错了什么,那就太好了。
谢谢。
可能重复:
为什么这个除法在 python 中不起作用?
我遇到的一个简单问题(我认为)以下语句:
print (4950*8)/(((4950*8)/10000000*(1538/1460))+0.1/1000)/1000
给我 396000.0。
但在计算器上我得到 9270.614192621。
如果有人能指出我在代码中做错了什么,那就太好了。
谢谢。
>>> print (4950.0*8)/(((4950.0*8)/10000000*(1538.0/1460))+0.1/1000)/1000
9270.61419262
int
旧版本的 Python 对操作数使用截断整数除法。
尝试from __future__ import division
(请参阅http://www.python.org/dev/peps/pep-0238/了解全文)或强制 int 操作数浮动(例如,使用float
,或附加.0
到文字)。