Python计算阶乘的三种方法


# 递归
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))

 

你可能感兴趣的:(Python)