【python】编程语言入门经典100例--25

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

代码:

  2 
  3 m = 0
  4 for x in range(1,21):
  5     s = 1
  6     for y in range(1,x+1):
  7             s *= y
  8     m += s
  9 print(‘1+2!+3!+...+20!的和为%d‘%m)

运行结果:

[[email protected] code_100]# python code_25.py 
1+2!+3!+...+20!的和为2561327494111820313
[[email protected] code_100]#

代码解释:

 #思路:首先累乘求出每一个数的阶乘值,然后累加求出所有数阶乘值的和
  2 
  3 m = 0                                #m是求和累加,初始化为0
  4 for x in range(1,21):                #遍历1到20个数
  5     s = 1                            #s是求累乘,初始化为1,位置有应该放在两层for循环中间,每次内层for循环完成之后,下一个for x开始计算时都要重新置1
  6     for y in range(1,x+1):           #这个for y的取值是从1到x,包含了所有阶乘的数值
  7             s *= y                   #将所有符合要求的数字相乘,就得到了for x这个数的阶乘的值
  8     m += s                           #将这20个数的所有的阶乘值相加,得到最终结果
  9 print(‘1+2!+3!+...+20!的和为%d‘%m)    #打印这20个数的阶乘的和
时间: 2024-10-12 04:25:26

【python】编程语言入门经典100例--25的相关文章

【python】编程语言入门经典100例--20

1 #题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? 代码:   2    3 h = 0   4 li = []   5 for i in range(1,11):   6     s = 100/(2**(i-1))   7     li.append(s)   8    9 for x in li:  10     h += x  11 print(li)  12 print('球在第十次落地时,共经过了%.1

【python】编程语言入门经典100例--8

题目:输出9*9口诀 代码:   2    3 for i in range(1,10):   4     for j in range(1,10):   5             if j < i:   6                 print('%d*%d=%d '%(j,i,i*j),end = '')          7             elif i == j:   8                 print('%d*%d=%d'%(j,i,i*j)) 运行结果:

【python】编程语言入门经典100例--28

1 #题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁.问第4个人岁数,他说比第3个人大2岁.问第三个人,又说比第2人大两岁.问第2个人,说比第一个人大两岁.最后问第一个人,他说是10岁.请问第五个人多大? 代码:   2    3 li = [0]*5   4 li[0] = 10   5 for i in range(1,5):   6     li[i] = li[i-1] + 2   7 print('第五个人是%d岁'%li[4]) 运行结果: [[email prote

【python】编程语言入门经典100例--29

1 #题目:给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. 代码:   2    3 li = list(input('输入一个不多于5位的正整数:'))   4 n = len(li)   5 print('这个正整数是%d位数'%n)   6 i = 0   7    8 def order(li,n,i):   9     if i <= n-1-i:  10          tmp = li[i]  11          li[i] = li[n-1-i]

【python】编程语言入门经典100例--26

1 #题目:利用递归方法求5!. 代码:   2 def fac(n):   3     if n == 1:   4         return 1   5     return n*fac(n-1)   6 print('5的阶乘是%d'%fac(5)) 运行结果: [[email protected] code_100]# python code_26.py  5的阶乘是120 [[email protected] code_100]# 代码解释:  思路:递归一般使用函数的形式,在函数

【python】编程语言入门经典100例--37

1 #题目:对10个数进行排序 代码:   2 i = 1   3 li = []   4 while i <= 10:   5     li.append(int(input('请输入第%d个数字:'%i)))   6     i += 1   7 print('这十个数分别为:')   8 print(li)   9   10 liorder = []  11 x = 0   12 while x == 0:  13     if li != []:  14         m = li[0

【python】编程语言入门经典100例--12

1 #题目:判断101-200之间有多少个素数,并输出所有素数. 代码:   3 tmp = [n for n in range(101,201)]   4 for i in reversed(tmp):   5     for j in range(2,i):   6         if (i%j == 0):   7             tmp.remove(i)   8             break   9 print('101到200之间有%d个素数'%len(tmp))  

【python】编程语言入门经典100例--19

1 #题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. 代码:   2    3 for i in range(1,1001):   4     s = 0   5     for j in range(1,i):   6         if i%j == 0:   7             s += j   8     if s == i:   9         print(i) 运行结果: [[email pro

【python】编程语言入门经典100例--18

1 #题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制. 代码:   2    3 num = int(input('请输入需要相加的数字:'))   4 m = int(input('请输入需要相加的次数:'))   5 s = 0   6 for j in range(1,m+1):   7     for i in range(1,j+1):   8         s +=