上級 › RecursionError: maximum recursion depth exceeded の原因と直し方 › パターン1
RecursionError: maximum recursion depth exceeded の原因と直し方
再帰関数に終了条件(ベースケース)が無い、または正しく機能していないときに発生します。
1 def countdown(n): 2 ________________ ^ 3 print(n) 4 return countdown(n - 1) 5 6 countdown(5)
Traceback (most recent call last):
File "main.py", line 6, in <module>
countdown(5)
File "main.py", line 4, in countdown
return countdown(n - 1)
^^^^^^^^^^^^^^^^
...(同じ行が何度も繰り返される)...
RecursionError: maximum recursion depth exceeded
空欄を埋めて実行を通す
終了条件(ベースケース)が無いと、再帰は自分自身を呼び続けます。Pythonは既定の再帰深度を超えると例外で止めます。
次の問題