Python 을 이용한 재귀 팩토리얼 계산

Beginner

This tutorial is from open-source community. Access the source code

소개

수학에서, 음이 아닌 정수 n의 팩토리얼 (factorial) 은 n!으로 표기하며, n보다 작거나 같은 모든 양의 정수의 곱입니다. 예를 들어, 5! = 5 x 4 x 3 x 2 x 1 = 120입니다. 이 챌린지에서는 재귀 (recursion) 를 사용하여 주어진 숫자의 팩토리얼을 계산하는 Python 함수를 작성합니다.

팩토리얼 (Factorial)

음이 아닌 정수 num을 인수로 받아 팩토리얼을 반환하는 함수 factorial(num)을 작성하십시오. 이 함수는 재귀 (recursion) 를 사용하여 팩토리얼을 계산해야 합니다. num이 1 보다 작거나 같으면 1을 반환합니다. 그렇지 않으면 numnum - 1의 팩토리얼의 곱을 반환합니다. num이 음수 또는 부동 소수점 숫자이면 예외 (exception) 를 발생시켜야 합니다.

def factorial(num):
  if not ((num >= 0) and (num % 1 == 0)):
    raise Exception("Number can't be floating point or negative.")
  return 1 if num == 0 else num * factorial(num - 1)
factorial(6) ## 720

요약

이 챌린지에서는 재귀 (recursion) 를 사용하여 숫자의 팩토리얼을 계산하는 방법을 배웠습니다. 또한 Python 에서 예외 (exception) 를 처리하는 방법도 배웠습니다.