如何在Python 中计算N的阶乘

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

1)使用循环计算阶乘

deffrac(n):
r=1
ifn<=1:
ifn==0orn==1:
return1
else:
print('n不能小于0')
else:
foriinrange(1,n+1):
r*=i
returnr
print(frac(5))
print(frac(6))
print(frac(7))

120

720

5040

2)使用递归计算阶乘

deffrac(n):
ifn<=1:
ifn==0orn==1:
return1
else:
print('n不能小于0')
else:
returnn*frac(n-1)

print(frac(5))
print(frac(6))
print(frac(7))

120

720

5040

3)调用reduce函数计算阶乘

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

查看函数信息:

importfunctools
print(help(functools.reduce))
Helponbuilt-infunctionreduceinmodule_functools:
reduce(...)
reduce(function,sequence[,initial])->value

Applyafunctionoftwoargumentscumulativelytotheitemsofasequence,
fromlefttoright,soastoreducethesequencetoasinglevalue.
Forexample,reduce(lambdax,y:x+y,[1,2,3,4,5])calculates
((((1+2)+3)+4)+5).Ifinitialispresent,itisplacedbeforetheitems
ofthesequenceinthecalculation,andservesasadefaultwhenthe
sequenceisempty.

如何在Python 中计算N的阶乘

importfunctools
deffn(x,y):
returnx*y
deffrac(n):
ifn<=1:
ifn==0orn==1:
return1
else:
print('n不能小于0')
else:
returnfunctools.reduce(fn,range(1,n+1))

print(frac(5))
print(frac(6))
print(frac(7))

120

720

5040

#使用lambda简写
importfunctools
deffrac(n):
ifn<=1:
ifn==0orn==1:
return1
else:
print('n不能小于0')
else:
returnfunctools.reduce(lambdax,y:x*y,range(1,n+1))

print(frac(5))
print(frac(6))
print(frac(7))

120

720

5040

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

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

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

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

第一种:利用functools工具处理import functools

result=(lambdak:functools.reduce(int.__mul__,range(1,k+1),1))(5)
print(result)```

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

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

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

ifn==0orn==1:
return1
else:
return(n*func(n-1))
a=func(5)
print(a)

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

发布于 2021-03-13 15:41:31
收藏
分享
海报
0 条评论
175
上一篇:R语言怎么创建矩阵形式 下一篇:R语言怎么利用barplot()制作条形图的各种实例
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码