发布网友 发布时间:2022-04-28 10:53
共2个回答
懂视网 时间:2022-04-28 15:14
python如何编写阶乘?
python编写阶乘的方法:
1、阶乘的计算:用递归函数实现是比较好的方案,先定义一个递归函数实现求阶乘功能。
def recursion(n): #'定义递归函数实现求阶乘功能' if n==1: return 1 else: return n*recursion(n-1)
2、求和:(1)可以直接求和 。也可以定义一个列表,将for遍历得到的阶乘结果追加到列表,然后使用sum()函数求和。
Sum=0 print("for循环直接调用递归函数求和".center(80,"*")) for i in range(1,21): Sum +=recursion(i) print(Sum) 列表求和方案: list=[] #定义一个空的列表,将调用递归函数生成的阶乘值追加到列表 print("将1-20的阶乘写入列表,使用sum函数求和".center(80,"*")) for i in range(1,21): list.append(recursion(i))# 将调用递归函数生成的阶乘值追加到列表 print(sum(list)) #列表求和
【完整源代码】以及结果:
def recursion(n): #'定义递归函数实现求阶乘功能' if n==1: return 1 else: return n*recursion(n-1) list=[ ] #定义一个空的列表,将调用递归函数生成的阶乘值追加到列表 for i in range(1,21): list.append(recursion(i))# 将调用递归函数生成的阶乘值追加到列表 print(sum(list)) #列表求和 Sum = 0 for i in range(1,21): Sum +=recursion(i) print(Sum) 结果: 2561327494111820313
推荐教程:《python视频教程》
热心网友 时间:2022-04-28 12:22
阶乘一般都用递归来实现,具体如下:
这个函数只能识别整数,即使输入10.0也会报错。
打字不易,望采纳!!!
具体代码如下!!!
def factorial(n):
data_type = isinstance(n, int)
if n < 0:
raise Exception("请输入一个正整数!!!")
elif data_type == False:
raise Exception("请输入一个整数!!!")
elif n == 0:
return 1
elif n == 1:
return 1
elif n > 1:
return n * factorial(n-1)