如何在Python中计算N的阶乘

  介绍

本篇文章为大家展示了如何在Python中计算N的阶乘,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

1)使用循环计算阶乘

def 压裂(N):   r 才能=1   if 才能;n<=1:   ,,,if  n==0,趁机n==1:   ,,,,,return  1   ,,,:   ,,,,,印刷(& # 39;n 不能小于0 & # 39;)   其他的才能:   ,,,for 小姐:拷贝范围(1,n + 1):   ,,,,,r  *=我   ,,,return  r   打印(压裂(5)),,,   打印(压裂(6))   打印(压裂(7))
120

720

5040

2)使用递归计算阶乘

def 压裂(n):   if 才能;n<=1:   ,,,if  n==0,趁机n==1:   ,,,,,return  1   ,,,:   ,,,,,印刷(& # 39;n 不能小于0 & # 39;)   其他的才能:   ,,,return  n  *,压裂(n - 1)   ,,   打印(压裂(5))   打印(压裂(6))   打印(压裂(7))
120

720

5040

3)调用减少函数计算阶乘

说明:Python在functools模块提供了减少()函数,该函数使用指定函数对序列对象进行累计。

查看函数信息:

import  functools   print(帮助(functools.reduce) Help 提醒built-in  function  reduce 拷贝module  _functools:   减少(…)   减少才能(函数,序列[,初始]),→价值   ,,   Apply 才能a  function  of  two  arguments  cumulatively 用,items  of  a 序列,   得到left 才能用吧,,so  as 用reduce 从而sequence 用a  single 价值。   For 例如,,才能减少(lambda , x,, y。, x + y,[1,, 2,, 3,, 4,, 5]),计算   ,,((((1 + 2)+(3)+ 4)+ 5)只If  initial  is 现在,it  is  placed  before 从而物品   of 才能;从而,sequence 拷贝,并计算,以及serves  as  a  default  when    sequence 才能;is 空的。

如何在Python中计算N的阶乘

import  functools   def  fn (x, y):   return 才能;x * y   def 压裂(n):   if 才能;n<=1:   ,,,if  n==0,趁机n==1:   ,,,,,return  1   ,,,:   ,,,,,印刷(& # 39;n 不能小于0 & # 39;)   其他的才能:   ,,,return  functools.reduce (fn,范围(1,n + 1))   ,,   打印(压裂(5))   打印(压裂(6))   打印(压裂(7))
120

720

5040

#,使用,lambda 简写   import  functools   def 压裂(n):   if 才能;n<=1:   ,,,if  n==0,趁机n==1:   ,,,,,return  1   ,,,:   ,,,,,印刷(& # 39;n 不能小于0 & # 39;)   其他的才能:   ,,,return  functools.reduce (lambda , x,, y。, x * y,范围(1,n + 1))   ,,   打印(压裂(5))   打印(压裂(6))   打印(压裂(7))
120

720

5040

<强>补充:python求n的阶乘并输出_python求n的阶乘

阶乘是基斯顿·卡曼(基督教Kramp, 1760 ~ 1826年)于1808年发明的运算符号,是数学术语。

一个正整数的阶乘(!)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n !.

下面我们来看一下使用Python计算n的阶乘的方法:

第一种:利用functools工具处理进口functools

result =, (lambda  k:, functools.reduce (int.__mul__,,范围(1,k  +, 1),, 1)) (5)   打印(结果)' ' '

第二种:普通的循环x=1

y =, int(输入(“请输入要计算的数:“))   for 小姐:拷贝范围(1,y  +, 1):   x =x  *,我   打印(x)

第三种:利用递归的方式def func (n):

if  n ==, 0,趁机n ==, 1:   return  1   其他:   return  (n  *, func (n 作用;1))   时间=a  func (5)   print ()

上述内容就是如何在Python中计算N的阶乘,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

如何在Python中计算N的阶乘