2017-10-08 8 views
-3

私の計算は簡単です間違った答えを生産するが、それは、間違った答えを提供例3**0.1-0.3ため が0.0、 に等しくなければならないが、Pythonインタプリタでも進システムを使用して0.8161 を与えます。私のpython 3.6.3を使用しています電源を入れる

は、ここに私のコードです:

from decimal import Decimal as D 
print(D('3')**D('0.1')-D('0.3')) 

出力:***の違いがある

0.816123174033904434442614138 

答えて

1

は、上記の答えは正しいです

print(D('3')*D('0.1')-D('0.3')) 
+0

はい、あなたは正しいですが、数学的に(3)^ 0.1から0.3までがあまりにも0.0でなければなりませんが、それは基本的にPythonの通訳 –

+1

に間違った答えを示し、0.1のパワーと3は約1.1です。任意の計算機で試してみることができます。私は3^0.1から0.3を得ようとしていると推測しています。 – thatrockbottomprogrammer

+2

@MaverickTiacoon数学的に '3^0.1-0.3' **は0.0には等しくないので、検証のために任意の計算機を使用してください。 – abccd

0

を試してみて、あなたは後に、それはあなたが力行を行うことができます数学モジュールを使用して電力を供給されているものならば。

import math 
print (math.pow (3,(0.1-0.3))) 
+0

上記を以下のようにしてください。 – Hilea

+0

OPは3から0.1の電力を得ようとしていて、次に0.3 – thatrockbottomprogrammer

0

0.1と0.3の差がマイナス0.2であるためです。そして負の指数は数値のresprocalを意味するので、あなたは数学モジュールを使ってこれを試すことができます。

3**(1/float (-1*(0.1-0.3))) 
関連する問題