入力された数値の立方根を小数点以下2桁までで計算するコードを作成することになっています。このコードは、上記までの小数点以下が2桁の数の平方根を計算します。キューブルートの計算:OverflowError:( 'Result too large')
epsilon = 0.01
guess = num/2.0
while abs(guess**2 - num) >= epsilon:
guess = guess - abs(guess**2 - num)/(2 * guess)
print("Guess:", guess)
だから明らかに私は与えられたこのコードを変更し、コードでこれを使用して、その基準に立方根を行うことができますよ:
delta = abs(guess**3 - num)/100.0
私はそのラインを使用し、平方根のために使用されるコードを変更しようとしたと私は入れません:
OverflowError: ('Result too large')
これは私のコードは、これまでのように見えるものです:
num = float(input("Enter a number: "))
epsilon = 0.01
guess = num/2.0
while abs(guess**3 - num) >= epsilon:
guess = abs(guess - (guess**3 - num)/100.0)
print("Guess:", guess)
私はこの上にそのコードを実行し、何が起こるかです:
runfile('C:/Users/100617828/Documents/CSCI1040U/edits.py', runfile('C:/Users/100617828/Documents/CSCI1040U/edits.py', wdir='C:/Users/100617828/Documents/CSCI1040U')
Enter a number: 34 Traceback (most recent call last):
File "", line 1, in runfile('C:/Users/100617828/Documents/CSCI1040U/edits.py', wdir='C:/Users/100617828/Documents/CSCI1040U')
File "C:\Anaconda\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 699, in runfile execfile(filename, namespace)
File "C:\Anaconda\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 88, in execfile exec(compile(open(filename, 'rb').read(), filename, 'exec'), namespace)
File "C:/Users/100617828/Documents/CSCI1040U/edits.py", line 11, in while abs(guess**3 - num) >= epsilon:
OverflowError: (34, 'Result too large')
これは私の割り当てシートが何を私に言っているが、それは私ドン思われるものですdelta = abs(guess**3 - num)/100.0
を使用する必要はありませんか?
で作業コードをしてください参照してください**トレースバックの**全文を含めますファイル名、行番号、およびすべて。あなたはキューブのルートを計算する方法の数学を理解していますか? – MattDMo
反復近似が必要ですか? 'x **(1/3)'はあなたのためにどのように機能しますか? – Evert
私はトレースバックを使用して最初のstackoverflowを使用して申し訳ありませんが、私は単純な方程式で(1/3)の指数に番号を持つだけでキューブのルートを計算することができることを理解しています。 – Langfao