함수 fibonacci()의 인자 n은 n번째 피보나치 수를 의미합니다. 첫 번째 피보나치 수가 0이므로 n이 1이면 함수의 반환 값이 0이 됩니다.
탈출 조건은 n이 1이면 0, n이 2면 1을 반환하는 행입니다(#2, #3).
탈출 조건에 해당하지 않으면 ‘다음 수가 앞의 두 수를 더한 값’이라는 피보나치 수의 정의에 따라 값을 반환합니다(#4).
테스트 코드를 작성하여 잘 작동하는지 확인해 보겠습니다.
코드 13-4 data_structure_2/ds_1/fibonacci.py ②
if __name__ = = "__main__": n = 10 for i in range(1, n+1): print(fibonacci(i), end = ' ')
실행결과 0 1 1 2 3 5 8 13 21 34
실행 결과를 보면 재귀 함수가 잘 작동하는 것을 확인할 수 있습니다.