더북(TheBook)

어떤 것을 재귀적인 정의로 작성할 수 있다면 이를 평가할 수 있는 파이썬 프로그램을 작성할 수 있다. 첫 번째 단계는 인자가 무엇인지 정하는 것이다. 여기서는 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

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.