Python 练习实例25
题目:求1+2!+3!+...+20!的和。
程序分析:此程序只是把累加变成了累乘。
程序源代码:
方法一:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
n = 0
s = 0
t = 1
for n in range(1,21):
t *= n
s += t
print '1! + 2! + 3! + ... + 20! = %d' % s
方法二:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
s = 0
l = range(1,21)
def op(x):
r = 1
for i in range(1,x + 1):
r *= i
return r
s = sum(map(op,l))
print '1! + 2! + 3! + ... + 20! = %d' % s
以上实例输出结果为:
1! + 2! + 3! + ... + 20! = 2561327494111820313
Python 100例
小白
358271673@qq.com
参考解法:
#!/usr/bin/python # -*- coding: UTF-8 -*- s=0 def fact(n): if n==1: return 1 return n*fact(n-1) for n in range(1,21): a=fact(n) s+=a print(s)小白
358271673@qq.com
健健
459878163@QQ.com
参考方案:
#!/usr/bin/python s = 1 t = [] for i in range(1,21): s *= i t.append(s) print(sum(t)-1)健健
459878163@QQ.com
习惯乌龙茶
realsongtao@163.com
参考解法:
#!/usr/bin/python # -*- coding: UTF-8 -*- sum1=0 for each in range(1,21): sum2=1 while each>1: sum2=sum2*each each-=1 sum1+=sum2 print(sum1)习惯乌龙茶
realsongtao@163.com
等一个人
252343465@qq.com
Python3 参考解法:
#!/usr/bin/env python3 s = 0 for i in range(1, 21): r = 1 for j in range(1, i+1): r *= j s += r print(s)等一个人
252343465@qq.com