소개
수학에서, 음이 아닌 정수 n의 팩토리얼 (factorial) 은 n!으로 표기하며, n보다 작거나 같은 모든 양의 정수의 곱입니다. 예를 들어, 5! = 5 x 4 x 3 x 2 x 1 = 120입니다. 이 챌린지에서는 재귀 (recursion) 를 사용하여 주어진 숫자의 팩토리얼을 계산하는 Python 함수를 작성합니다.
수학에서, 음이 아닌 정수 n의 팩토리얼 (factorial) 은 n!으로 표기하며, n보다 작거나 같은 모든 양의 정수의 곱입니다. 예를 들어, 5! = 5 x 4 x 3 x 2 x 1 = 120입니다. 이 챌린지에서는 재귀 (recursion) 를 사용하여 주어진 숫자의 팩토리얼을 계산하는 Python 함수를 작성합니다.
음이 아닌 정수 num을 인수로 받아 팩토리얼을 반환하는 함수 factorial(num)을 작성하십시오. 이 함수는 재귀 (recursion) 를 사용하여 팩토리얼을 계산해야 합니다. num이 1 보다 작거나 같으면 1을 반환합니다. 그렇지 않으면 num과 num - 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) 를 처리하는 방법도 배웠습니다.