def recursion(n):
if n==1:
return 1
else:
return n*recursion(n-1)
list=[]
print("将1-10的阶乘写入列表,使用sum函数求和") #显示效果明显
for i in range(1,11):
list.append(recursion(i))# 将调用递归函数生成的阶乘值追加到列表
print(sum(list)) #列表求和
sum_0=0
#显示效果明显,center(80,"*")标题放置位置
print("for循环直接调用递归函数求和".center(80,"*"))
for i in range(1,11):
sum_0 +=recursion(i)
print(sum_0)
这是1-10的阶乘求和,你可以参考下!
输出的结果
以下提供两种方法 供参考,第一种方式为自己构造求阶乘的函数,第二种则直接使用了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)))
两段程序输出一样,如下: