私はいくつかの宿題で助けが必要です。私はPythonに精通していません。しかし、私はこの小さなpythonプログラムにいくつか問題があります。与えられた関数に基づいて数値のセットを出力するために再帰を使います。それは約num = 30になり、プログラムがクラッシュします。何が間違っているか、それをどう修正するかはわかりません。助けて?処理後にクラッシュする再帰的なpythonプログラムを修正する
def func(num):
if num==0:
return 0
elif num==1:
return 1
else:
return func(num-1)+2*func(num-2)
for num in range(2,101):
print(num,func(num))
'StackOverflowError':あなたはたとえば、あなたの
if-statement
内の値を返すしている場合ときにもelif/else
を使用する必要はありませんか?各関数呼び出しは新しいスタックを割り当てなければならないので、おそらく各呼び出しで多くのリソースを使用しています。 – Zizouz212