어떤 것을 재귀적인 정의로 작성할 수 있다면 이를 평가할 수 있는 파이썬 프로그램을 작성할 수 있다. 첫 번째 단계는 인자가 무엇인지 정하는 것이다. 여기서는 factorial이 정수를 받는다는 것이 명확해야 한다.
def factorial(n):
인수가 0이면 1을 반환하면 된다.
def factorial(n):
if n == 0:
return 1
인수가 0이 아닌 경우가 재미있는 부분인데, n-1의 팩토리얼을 구해서 n으로 곱하는 재귀 호출을 만들어야 한다.
def factorial(n):
if n == 0:
return 1
else:
recurse = factorial(n-1)
result = n * recurse
return result