재귀 함수는 실행 중에 자신을 호출하는 함수입니다. 이렇게 하면 함수가 여러 번 반복되어 결과와 각 반복의 끝을 출력할 수 있습니다. 재귀는 무한대와 관련이 있습니다.
다음은 정수의 계승을 찾는 재귀 함수의 예입니다.
팩토리얼 숫자의 1부터 해당 숫자까지의 모든 정수의 곱입니다.
예를 들어 9의 계승(9로 표시됨)은 1*2*3*4*5*6*7*8*9 =362880입니다.
예시 1
def factorial(i):if i ==1:return 1 else:return (i * factorial(i-1))number =9print("The factorial of", number, "is", factorial(number) )
출력
9의 계승은 362880입니다.
위의 프로그램에서 factorial()은 자신을 호출하는 재귀 함수입니다. 각 함수 호출은 숫자가 1이 될 때까지 숫자 1의 계승으로 숫자를 곱합니다.
예를 들어 서로 마주하는 두 개의 평행 거울을 배치합니다. 그 사이에 있는 모든 객체는 재귀적으로 반영됩니다.
예시 2
def Function(x):if (x <1):return else:print( x,end =" ") Function(x-1) print(x,end =" ") returnx =5Function(x)사전>출력
5 4 3 2 1 1 2 3 4 5