这篇文章主要介绍了计算机编程语言怎么定义计算普通的阶乘的函数,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
定义计算普通的阶乘的函数
1)使用循环计算阶乘
定义分数(n):
r=1
如果n=1:
如果n==0或n==1:
返回一
否则:
打印(' n不能小于0')
否则:
对于范围(1,^北部1)中的我:
r *=i
返回r
打印(frac(5))
打印(frac(6))
打印(frac(7))
120
720
5040
2)使用递归计算阶乘
定义分数(n):
如果n=1:
如果n==0或n==1:
返回一
否则:
打印(' n不能小于0')
否则:
返回n *分数(n-1)
打印(frac(5))
打印(frac(6))
打印(frac(7))
120
720
5040
3)调用reduce函数计算阶乘
说明:Python在functools模块提供了减少()函数,该函数使用指定函数对序列对象进行累计。
查看函数信息:
导入功能工具
打印(帮助(functools.reduce))
模块_功能工具中关于内置函数减少的帮助:
减少(.)
减少(函数,序列[,初始值]) -值
将两个参数的函数累积应用于序列中的项,
从左到右,从而将序列缩减为单个值。
例如,reduce(x,y: x y,[1,2,3,4,5])计算
((((1 2) 3) 4) 5).如果有首字母,它会放在项目之前
时,它将作为默认值
序列为空。
导入功能工具
def fn(x,y):
返回x*y
定义分数(n):
如果n=1:
如果n==0或n==1:
返回一
否则:
打印(' n不能小于0')
否则:
return functools.reduce(fn,range(1,n-1))
打印(frac(5))
打印(frac(6))
打印(frac(7))
120
720
5040
# 使用希腊字母的第11个简写
导入功能工具
定义分数(n):
如果n=1:
如果n==0或n==1:
返回一
否则:
打印(' n不能小于0')
否则:
return functools.reduce(lambda x,y: x*y,range(1,n-1))
打印(frac(5))
打印(frac(6))
打印(frac(7))
120
720
5040
补充:python求n的阶乘并输出_python求n的阶乘
阶乘是基斯顿卡曼(克里斯蒂安克兰普,1760~1826年)于1808年发明的运算符号,是数学术语。
一个正整数的阶乘(阶乘)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!
下面我们来看一下使用计算机编程语言计算n的阶乘的方法:
第一种:利用functools工具处理import functools
结果=(lambda k:func工具。减少(整数).__mul__,range(1,k ^ 1),1))(5)
打印(结果)` '
第二种:普通的循环x = 1
y=int(input('请输入要计算的数:'))
对于范围(1,y ^ 1)中的我:
x=x * i
打印(十)
第三种:利用递归的方式def func(n):
如果n==0或n==1:
返回一
否则:
return (n * func(n - 1))
a=func(5)
打印(一份)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。