【Day3】用python实现n的阶乘
方法1:math.factorial(x)
import math x=4 value = math.factorial(x) print(value)
输出结果:
24
方法2:reduce函数
from functools import reduce def factorial_1(n): return reduce(lambda x, y: x * y, range(1, n + 1)) if __name__ == '__main__': print(factorial_1(4))
这里还有另外一个写法,注意就是右边的参数是列表的形式
from functools import reduce def factorial_2(n): l=[] for i in range(1, n + 1): l.append(i) return reduce(lambda x, y: x * y, [1] + l) if __name__ == '__main__': print(factorial_2(4))
输出结果:
24
方法3:递归实现
def factorial_3(n): if n == 0: return 1 else: return n * factorial_3(n - 1) if __name__ == '__main__': print(factorial_3(4))
输出结果:
24
善于跌倒仍喜爱奔跑~