1.재귀호출
- 재귀호출 : 함수 안에서 자기 자신을 호출하는 방식
- 알고리즘 구현할 때 유용
1-1.재귀호출 사용하기
- hello 함수 안에서 다시 hello 함수 호출
- 파이썬 최대 재귀 깊이가 1,000으로 정해져 있음
def hello():
print('Hello, world!')
hello()
hello()
1-2.재귀호출에 종료 조건 만들기
def hello(count):
if count == 0 : # 종료 조건을 만듦. count가 0이면 다시 hello 함수를 호출하지 않고 끝냄
return
print('Hello, world!', count)
count -= 1 # count를 1 감소
hello(count) # 다시 hello에 넣음
hello(5) # hello 함수 호출
2.재귀호출로 팩토리얼 구하기
- 팩토리얼 : 1부터 n까지 양의 정수를 차례대로 곱한 값이며 ! 기호로 표기
- 5! : 5 4 3 2 1
def factorial(n):
if n == 1: # n이 1일 때
return 1 # 1을 반환하고 재귀호출을 끝냄
return n * factorial(n-1) # n과 factorial 함수에 n-1을 넣어서 반환되는 값을 곱함
print(factorial(5))