# 遞歸
def func(n):
if n == 0 or n == 1:
return 1
else:
return (n * func(n - 1))
# reduce函數 + lambda函數
from functools import reduce
def fact(n):
return reduce(lambda a, b: a * b, range(1, n + 1))
# reduce函數 + operator模塊 mul函數
from functools import reduce
from operator import mul
def fact_operator(n):
return reduce(mul, range(1, n + 1))