首页 > 编程语言 > 详细

【Python3练习题 020】 求1+2!+3!+...+20!的和

时间:2018-06-02 15:16:17      阅读:663      评论:0      收藏:0      [点我收藏+]
方法一
import functools
 
sum = 0
for i in range(1,21):
    sum = sum + functools.reduce(lambda x,y: x*y, range(1, i+1))
print(sum)
 
lambda x,y: x*y 的意思是:有一个函数,接受x, y两个参数做乘法。
 
import functools
 方法二
def f(n):
    if n == 1:
        return 1
    else:
        return functools.reduce(lambda x,y: x*y, range(1, n+1)) + f(n-1)
print(f(20))
方法三
def plus(n):
    if n == 1:
        return 1
    else:
        return reduce(lambda x,y: x*y, range(1,n+1)) + plus(n-1)
 
print plus(20)
方法四
sum = 0
x = 1
for i in range(1,21):
    x = x * i
    sum = sum + x
print(sum)

【Python3练习题 020】 求1+2!+3!+...+20!的和

原文:https://www.cnblogs.com/jackzz/p/9125471.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!