[python] 함수에서 재귀호출 사용하기
재귀호출 사용하기
# 함수 안에서 자기자신을 호출하는 방식을 재귀호출(recursive call)이라고 한다.
# def hello():
# print('hello world')
# hello()
#
#
# hello()
# hello를 호출하면 문자열이 계속 출력되다가 에러가 발생한다.
# 파이썬에서는 최대 재귀 깊이가 1,000으로 정해져 있기 때문이다.
# 따라서, 재귀호출을 사용하려면 반드시 종료 조건을 만들어 주어야 한다.
def hello(count):
if count == 0: # 종료조건, count가 0이면 hello를 재귀호출하지 않고 함수 종료
return
print('hello world')
hello(count - 1)
hello(5)
재귀호출로 팩토리얼 구하기
# n! = (n) * (n - 1) * (n - 2) * ... * (3) * (2) * (1), (n이 0이면 1) 임을 이용해서 팩토리얼을 구현해보자.
def factorial(n):
if n == 0: # 종료조건
return 1
return n * factorial(n - 1)
print(factorial(5))
Leave a comment