码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-06-02 15:21:20      阅读:559      评论:0      收藏:0      [点我收藏+]

标签:key   接受   cto   ...   div   contain   word   nta   ons   

方法一
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!的和

标签:key   接受   cto   ...   div   contain   word   nta   ons   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!