4

Pythonの数学で小さな問題があります。したがって、いくつかの変数 、xyおよびがありanswerます。

>>>x = 20
>>>y = 21
>>>answer = x / y * 100
>>>answer
0

したがって、nullが出力されます。x = 20.0printの代わりに印刷する必要があったため、 null が出力されることはわかっていますx = 20

しかし、とにかく私はそれを印刷する必要があります:

95.2380952381

どうやってやるの?

注:私はただ書くことはできませんx = 20.0か?

また、私はこれを次のようにしようとしました:

x1 = str(x) + '.0'
result = int(x1) / y * 100

しかし、Pythonは私にエラーを出します:

ValueError: invalid literal for int() with base 10: '20.0'

では、どうすればこれを修正できますか?

4

4 に答える 4

2

すべての分割をフロート分割from __future__ import divisionにするために使用します。

または、代わりに文字列を浮動小数点数として解釈するfloat()代わりに使用します。int()

answer = float(x) / y * 100
于 2013-07-19T20:33:26.947 に答える
0

float(x)/y*100の代わりに使用int()

しかし、これはエラーを修正するだけですが、達成しようとしたことはこの方法で行うことができます
answer = x/y*100.

于 2013-07-19T20:35:07.483 に答える
0

Python は、整数除算を行っていると見なします ( x,yは整数であるため)。これを修正するには、 を使用していずれかfloat()を変換するか、 floatに変換します。xy

answer = float(x) / y * 100
于 2013-07-19T20:35:36.420 に答える