Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 스크랩
- 코딩도장
- 자연어처리
- 파이썬코딩도장
- 데이터분석
- 후기
- NLP
- 아이펠
- TensorFlow
- 기사
- 딥러닝
- 속성
- Set
- 카카오
- 제어문
- AI
- 데이터사이언티스트
- 클래스
- 추천시스템
- 데이터사이언스 스쿨
- 제로베이스 데이터사이언스
- AIFFEL
- 사이킷런
- 함수
- 머신러닝
- numpy
- 재귀함수
- 딕셔너리
- Python
- 파이썬
Archives
- Today
- Total
뮤트 개발일지
[파이썬 코딩 도장] Unit 31. 함수에서 재귀호출 사용하기 본문
재귀호출 recursive call: 함수 안에서 함수 자기 자신을 호출하는 것
def hello():
print('Hello, world!')
hello()
hello()
Hello, world!
Hello, world!
Hello, world!
...(생략)
Traceback (most recent call last):
File "C:\project\recursive_function_error.py", line 5, in <module>
hello()
File "C:\project\recursive_function_error.py", line 3, in hello
hello()
File "C:\project\recursive_function_error.py", line 3, in hello
hello()
File "C:\project\recursive_function_error.py", line 3, in hello
hello()
[Previous line repeated 974 more times]
File "C:\project\recursive_function_error.py", line 2, in hello
print('Hello, world!')
RecursionError: maximum recursion depth exceeded while pickling an object
* 최대 재귀 깊이는 1000이기 때문에 재귀 함수의 종료 조건을 만들어 줘야 한다.
재귀호출을 사용해 팩토리얼 구현하기
* 팩토리얼: 1부터 n까지의 양의 정수를 차례대로 곱한 것
def factorial(n):
if n == 1: # n이 1일 때
return 1 # 1을 반환하고 재귀호출을 끝냄
return n * factorial(n - 1) # n과 factorial 함수에 n - 1을 넣어서 반환된 값을 곱함
print(factorial(5))
'코딩도장' 카테고리의 다른 글
[파이썬 코딩 도장] Unit 35. 클래스 속성과 정적, 클래스 메서드 사용하기 (0) | 2022.01.03 |
---|---|
[파이썬 코딩 도장] Unit 34. 클래스 사용하기 (0) | 2022.01.03 |
[파이썬 코딩 도장] Unit 25. 딕셔너리 응용하기 (0) | 2021.12.29 |
[파이썬 코딩 도장] Unit 23. 2차원 리스트 사용하기 (0) | 2021.12.29 |
[파이썬 코딩 도장] Unit 22. 리스트와 튜플 이용하기 (0) | 2021.12.29 |