求阶乘python方法

发布网友 发布时间: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的阶乘求和,你可以参考下!

输出的结果

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com