Python факториал

Вычисляет факториал числа на python.  

Используем  рекурсию.
Если число меньше или равно 1, возвращаем 1.
В противном случае вернется произведение числа и факториала числа - 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

Ответить