Вычисление факториала с использованием рекурсии в Python

Beginner

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

Введение

В математике факториалом неотрицательного целого числа n, обозначенного как n!, является произведение всех положительных целых чисел, меньших или равных n. Например, 5! = 5 x 4 x 3 x 2 x 1 = 120. В этом испытании вы напишете функцию на Python для вычисления факториала заданного числа с использованием рекурсии.

Факториал

Напишите функцию factorial(num), которая принимает неотрицательное целое число num в качестве аргумента и возвращает его факториал. Функция должна использовать рекурсию для вычисления факториала. Если num меньше или равно 1, верните 1. В противном случае верните произведение num и факториала num - 1. Функция должна выбросить исключение, если num является отрицательным или вещественным числом.

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

Резюме

В этом испытании вы узнали, как вычислять факториал числа с использованием рекурсии. Также вы узнали, как обрабатывать исключения в Python.