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
+1
+1
+1
+1
+1