上級 › RecursionError: maximum recursion depth exceeded の原因と直し方 › パターン3
RecursionError: maximum recursion depth exceeded の原因と直し方
再帰関数に終了条件(ベースケース)が無い、または正しく機能していないときに発生します。
1 def sum_up_to(n): 2 ___________________ ^ 3 return n + sum_up_to(n - 1) 4 5 print(sum_up_to(5))
Traceback (most recent call last):
File "main.py", line 5, in <module>
print(sum_up_to(5))
^^^^^^^^^^^^^
File "main.py", line 3, in sum_up_to
return n + sum_up_to(n - 1)
^^^^^^^^^^^^^^^^
...(同じ行が何度も繰り返される)...
RecursionError: maximum recursion depth exceeded
空欄を埋めて実行を通す
1からnまでの合計を再帰で求める場合も同様です。0以下になったら足すのをやめる条件が必要です。
次の問題