한번씩 접했던 오류이고 매번 해결하는 명령어를 까먹어서 스스로 기억하자는 마음으로 남깁니다.
파이썬에서는 재귀 호출의 깊이가 1000 이상으로 늘어나는 것을 기본적으로 막고 있습니다.
따라서 아래와 같은 코드를 실행시키면
def f(n):
if n == 1:
return 1
else:
return n+f(n-1)
f(2000)
RecursionError: maximum recursion depth exceeded in comparison
다음과 같은 에러가 발생합니다.
만약 1000번 이상의 재귀가 요구되는 코드를 작성하고 싶다면 아래 2줄을 추가시켜주면 됩니다.
import sys
sys.setrecursionlimit(3000)
물론, sys.setrecursionlimit() 메서드 안에 인자는 여러분의 상황에 맞춰서 숫자를 넣어주시면 됩니다.
Rmx
'TIL' 카테고리의 다른 글
[TIL] HTML canvas 되게 예뻐보이기 쉬우면서 재밌는 거였어.. (0) | 2020.11.08 |
---|---|
[TIL] box-shadow로 광원 효과처럼 보이네? (0) | 2020.11.08 |
[TIL] Window에서 폴더 안에 있는 특정 확장자 파일 지우기 (0) | 2020.11.08 |
[TIL] vscode snippet으로 빠르게 초기 코드 작성하기 (0) | 2020.04.29 |
[TIL] 비트연산자의 우선순위 (0) | 2020.03.10 |