자기 자신을 호출하는 함수!
아래 함수는 60~1을 차례로 출력하는 함수이다.
def count_down(number):
if number < 0:
return
print(number) # number를 출력하고
count_down(number - 1) # count_down 함수를 number - 1 인자를 주고 다시 호출한다!
count_down(60)
※ 재귀 함수는 탈출하는 지점을 정해주어야 한다. 안하면 무한으로 자신을 호출하기 때문에 오류 발생
재귀 함수를 활용해서 팩토리얼을 구현할 수 있다.
def factorial(n):
if n == 1:
return 1
return n * factorial(n-1)
print(factorial(5))
[출력]
120
재귀 함수를 활용해서 회문 검사를 구현할 수 있다.
def is_palindrome(string):
# 문장의 수가 1이하면 true
if len(string) <= 1:
return True
# 문자열 맨앞/ 맨뒤가 다르면 false
if string[0] != string[-1]:
return False
return is_palindrome(string[1:-1])
print(is_palindrome(input))
[출력]
True