python3练习100题——025

原题链接:http://www.runoob.com/python/python-exercise-example25.html

题目:求1+2!+3!+...+20!的和。

我的代码:

s =[]
for i in range(1,21):
    num=1
    for n in range(1,i+1):
        num *=n
    ls.append(num)
print(ls)
print(sum(ls))

用了两个循环,其实不好。看到用map的,打算重写一下。

l=range(1,21)
def f(x):
    num=1
    for i in range(1,x+1):
        num*=i
    return num          #不能说yield

s=sum(map(f,l))
print(s)

猜你喜欢

转载自www.cnblogs.com/drifter/p/9181789.html