发布网友 发布时间:2022-04-23 05:12
共2个回答
懂视网 时间:2022-04-28 07:30
python阶乘的方法:1、使用普通的for循环;2、使用【reduce()】函数,代码为【num = reduce(lambda x,y:x*y,range(1,7))】;3、使用【factorial()】函数;4、递归调用方法。
相关学习推荐:python教程
python阶乘的方法:
第一种:普通的for循环
a = int(input('please inputer a integer:')) num = 1 if a < 0: print('负数没有阶乘!') elif a == 0: print('0的阶乘为1!') else : for i in range(1,a + 1): num *= i print(num)
第二种:reduce()函数
#从functools中调用reduce()函数 from functools import reduce #使用lambda,匿名函数,迭代 num = reduce(lambda x,y:x*y,range(1,7)) print(num)
第三种:factorial()函数
import math value = math.factorial(6) print(value)
第四种:递归调用
def num(n): if n == 0: return 1 else: return n * num(n - 1) print(num(6)
热心网友 时间:2022-04-28 04:38
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的阶乘求和,你可以参考下!