재귀함수 파이썬

yun·2024년 7월 22일
####################################################
#                   재귀함수 뽀개기                 #
####################################################
# Return 하기 전에 함수는 아직 끝난것이 아니다! 살아있다! 명심!

#별찍기 재귀함수
def func(n):
    if n <= 0:
        return
    else:
        func(n-1)
        print('*' * n)

func(5)
# 만약 4 펙토리얼(!)을 계산한다고 했을 때 
def factorial(factorial_number):
    if factorial_number == 0:
        print("끝났다!", factorial_number)
        return 1
    else:
        print(f'factorial_number: {factorial_number}')
        result = factorial_number * factorial(factorial_number-1)
        print("result:", result)
        return result
    
print("\n최종 계산 값: ", factorial(4))
# 피보나치 수열 [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377...] 
# 1번째랑 2번째랑 더한게 3번째고, 2번째랑 3번째랑 더한게 4번째고, 3번째랑 4번째랑 더한게 5번째고...
# fibonacci_number 번째에 있는 피보나치 수를 구하여라

def fibonacci(fibonacci_number):
    if fibonacci_number == 0:
        print("0으로 끝!")
        return 1
    elif fibonacci_number == 1:
        print("1로 끝!")
        return 1
    else:
        print(f'factorial_number: {fibonacci_number}')
        result = fibonacci(fibonacci_number - 1) + fibonacci(fibonacci_number - 2)
        print("result:", result)
        return result
print("\n최종 계산 값: ", fibonacci(5))

0개의 댓글