重複の可能性:
この分割が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
リテラルに追加します)。