python递归阶乘函数 python递归方法求阶乘

python 求阶乘的四种方法第一种:普通的for循环
第二种:reduce()函数
第三种:factorial()函数
第四种:递归调用
用python求1! 2! 3! 4! 5!的程序以下提供两种方法 供参考,第一种方式为自己构造求阶乘的函数,第二种则直接使用了Python标准库,代码如下:
一、
自己构造阶乘函数
from functools import reduce
def factorial(n):
l = range(1,n 1)
result = reduce(lambda x,y:x*y,l)
return result
for i in range(1,6): print('{}! = {}'.format(i, factorial(i)))
二、
Python标准库
from math import factorial
for i in range(1,6):
print("{}! = {}".format(i,factorial(i)))
两段程序输出一样,如下:
求阶乘python方法defrecursion(n):
if n==1:
return 1
else:
returnn*recursion(n-1)
list=[]
#定义一个空的列表,将调用递归函数生成的阶乘值追加到列表
print("将1-10的阶乘写入列表,使用sum函数求和") #显示效果明显
foriin range(1,11):
list.append(recursion(i))# 将调用递归函数生成的阶乘值追加到列表
print(sum(list)) #列表求和
sum_0=0
#显示效果明显,center(80,"*")标题放置位置
print("for循环直接调用递归函数求和".center(80,"*"))
foriin range(1,11):
sum_0=recursion(i)
print(sum_0)
这是1-10的阶乘求和,你可以参考下!
输出的结果
求python用递归算阶乘def jiezheng(n):
if n==1 or n==0:
return 1
return n*jiezheng(n-1)
递归调用函数jiezheng算阶乘
jiezheng(5)
返回120
Python通过函数求s=a! b! c!如果你想在 Python 中通过函数求出 s=a! b! c!,你可以使用递归函数来实现 。
首先,你需要定义一个函数来计算阶乘,代码如下:
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n - 1)
这个函数使用了递归的思想 , 在 n 等于 1 时返回 1,否则返回 n * (n-1)! 。
然后,你可以定义另一个函数来计算 s=a! b! c!,代码如下:
def sum_factorials(a, b, c):
return factorial(a)factorial(b)factorial(c)
这个函数调用了 factorial 函数来计算 a!、b! 和 c!,然后将它们相加得到最终的结果 。
你可以使用这两个函数来计算任意的 a、b 和 c 的阶乘和,例如:
s = sum_factorials(3, 4, 5)
print(s)# Output: 150
希望这些内容能帮助你实现需求 。
python 递归版 阶乘求和python不鼓励递归,请看这个函数的递归版(def sn_recursion)和非递归版(def sn)的代码对比:
【python递归阶乘函数 python递归方法求阶乘】关于python递归阶乘函数和python递归方法求阶乘的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读