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 に答える