python 10的阶乘怎么算?

python计算阶乘的方法有很多种,下面给大家介绍三种方法。

第一种:利用functools工具处理

import functools
result = (lambda k: functools.reduce(int.__mul__, range(1, k + 1), 1))(10)
print(result)
结果如下:
3628800

第二种:普通的循环

x = 1
y = int(input("请输入要计算的数:"))
for i in range(1, y + 1):
  x = x * i
print(x)

请输入要计算的数:10
结果如下:

3628800

第三种:利用递归的方式

def func(n):
  if n == 0 or n == 1:
    return 1
  else:
    return (n * func(n - 1))
 
a = func(10)
print(a)

结果如下:

3628800

以上三种方式分别采用了不同的方法,第二种是最容易理解的,第一种是最pythonic的,而第三种则是易用性最高的。第三种直接定义一个阶乘函数,随时都可以调用,从而得到不同值。

上一篇:boost::hana::comparing用法的测试程序


下一篇:Python 之 functools 模块随行笔记