如何在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.
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的阶乘,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注恰卡编程网行业资讯频道。
推荐阅读
-
Python中怎么动态声明变量赋值
这篇文章将为大家详细讲解有关Python中怎么动态声明变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中变量的存储原理是什么
-
Python中怎么引用传递变量赋值
这篇文章将为大家详细讲解有关Python中怎么引用传递变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中怎么获取程序执行文件路径
python中怎么获取程序执行文件路径,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的...
-
Python中如何获取文件系统的使用率
Python中如何获取文件系统的使用率,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴...
-
Python中怎么获取文件的创建和修改时间
这篇文章将为大家详细讲解有关Python中怎么获取文件的创建和修改时间,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读...
-
python中怎么获取依赖包
今天就跟大家聊聊有关python中怎么获取依赖包,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据...
-
python怎么实现批量文件加密功能
-
python中怎么实现threading线程同步
小编给大家分享一下python中怎么实现threading线程同步,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!...
-
python下thread模块创建线程的方法
本篇内容介绍了“python下thread模块创建线程的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来...