Code Fix

上級RecursionError: maximum recursion depth exceeded の原因と直し方 › パターン2

RecursionError: maximum recursion depth exceeded の原因と直し方

再帰関数に終了条件(ベースケース)が無い、または正しく機能していないときに発生します。

 1  def factorial(n):
 2      ___________________
                 ^
 3      return n * factorial(n - 1)
 4  
 5  print(factorial(5))
Traceback (most recent call last): File "main.py", line 5, in <module> print(factorial(5)) ^^^^^^^^^^^^ File "main.py", line 3, in factorial return n * factorial(n - 1) ^^^^^^^^^^^^^^^^ ...(同じ行が何度も繰り返される)... RecursionError: maximum recursion depth exceeded

空欄を埋めて実行を通す

広告
広告スロット(未設定)

RecursionError: maximum recursion depth exceeded の原因と直し方

再帰は必ずどこかで止まる条件が必要です。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)