[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))

Updated:

Leave a comment