python2.7练习小例子(二十三)
23):题目:求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
#!/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)
#!/usr/bin/python s = 1
t = []
for i in range(1,21):
s *= i
t.append(s)
print(sum(t)-1)
#!/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)
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)
#!/usr/bin/python3
n=int(input("Enter a number:"))
s=0
def cal(n):
pro=1
for i in range(1,n+1):
pro=pro*i
return pro
for i in range(1,n+1):
if i!=n:
print("%d! + "%i,end='')
else:
print("%d! = "%i,end='')
s=s+cal(i)
print(s)
python3 测试实例:使用两个递归函数实现,其中jie()生成阶乘,sum()对阶乘求和:
#!/usr/bin/env python3 def jie(n):
if n==1:
return 1
else:
return n*jie(n-1) def sum(n):
if n==1:
return jie(1)
else:
return jie(n)+sum(n-1) #a=int(input("请输入一个正整数:\n"))
#print(sum(a))
print(sum(20))
使用两个递归函数实现,其中jie()生成阶乘,sum()对阶乘求和:
#!/usr/bin/python
# -*- coding: UTF-8 -*- def jie(n):
if n==1:
return 1
else:
return n*jie(n-1) def sum(n):
if n==1:
return jie(1)
else:
return jie(n)+sum(n-1) #a=int(input("请输入一个正整数:\n"))
#print(sum(a))
print(sum(20))
Python3 下测试:
#!/usr/bin/python3
# -*- coding: UTF-8 -*- import math def jc(m):
l=[]
for n in range(1,m+1):
l.append(math.factorial(n)) #阶乘函数。
if m>1:
print('{}!+'.format(n),end='')
m -= 1
else:
print('{}!='.format(n),end='')
print(sum(l)) if __name__=='__main__':
jc(20)
Python3 下测试:
#python 3
from functools import reduce
a = 0
for n in range(1, 21):
a += reduce(lambda x, y: x * y, range(1, n + 1))
print(a)
这次的小例子,主要看的是程序分析能力。如果感觉不错的话,请多多点赞支持哦。。。
原文链接:https://blog.csdn.net/luyaran/article/details/80064388
python2.7练习小例子(二十三)的更多相关文章
- python2.7练习小例子(十三)
13):题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成.(1)如果这个质数恰等于 ...
- python2.7练习小例子(二十九)
29):1.题目:按相反的顺序输出列表的值. #!/usr/bin/python # -*- coding: UTF-8 -*- a = ['one', 'two', 'three'] for ...
- python2.7练习小例子(十二)
12):题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数" ...
- python2.7练习小例子(二十七)
27):题目:一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. #!/usr/bin/python # -*- coding: UTF-8 -* ...
- python2.7练习小例子(二十八)
28):题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母. 程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母. ...
- python2.7练习小例子(二十四)
24):1.题目:利用递归方法求5!. 程序分析:递归公式:fn=fn_1*4! #!/usr/bin/python # -*- coding: UTF-8 -*- def fact( ...
- python2.7练习小例子(十八)
19):题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. #!/usr/bin/python # -*- ...
- python2.7练习小例子(八)
8):题目:输出 9*9 乘法口诀表. 程序分析:分行与列考虑,共9行9列,i控制行,j控制列. 程序源代码: #!/usr/bin/python # -*- coding: ...
- python2.7练习小例子(七)
7):题目:将一个列表的数据复制到另一个列表中. 程序分析:使用列表[:]. 程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- ...
随机推荐
- JS入口函数和JQuery入口函数
首先,讲一下它们的区别: (1)JS的window.onload事件必须要等到所有内容,以及外部图片之类的文件加载完之后,才会去执行. (2)JQuery入口函数是在所有标签加载完之后,就会去执行. ...
- TP5.0:访问不同模块方法,跳转视图页面
我们在开发项目时,都会给每个项目加上基本的后台管理页面,并命名为admin 那么,我们在添加admin后台模块后,怎么通过url访问admin后台模块文件代码呢? 1.访问admin模块默认文件的UR ...
- React总结和遇到的坑
一.react项目 前端react后端node:https://github.com/GainLoss/react-juejin 前端react后端Pyton:https://github.com/G ...
- scrum 第二次冲刺
scrum 第二次冲刺 1.本周工作 本周正式开始了开发工作.首先设计了类图,建好了数据库,将整个小组的分工传到了禅道上,我主要负责后台的挂号操作. 本周分工如下: 首先搭建好了ssm框架,其中遇到了 ...
- c++基础知识_c++11 类默认函数的控制:"=default" 和 "=delete"函数
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> #include <vecto ...
- 【[JSOI2007]文本生成器】
\(AC\)机上的计数\(dp\)啊 并没有想到反着求出不合法的串的个数,直接正面硬上 设\(dp[i][j][0/1]\)表示匹配出的长度为\(i\),在\(AC\)机上位置为\(j\),没有/有匹 ...
- HDU 5258 数长方形【离散化+暴力】
任意门:http://acm.hdu.edu.cn/showproblem.php?pid=5258 数长方形 Time Limit: 2000/1000 MS (Java/Others) Me ...
- mui(手机)
官网:http://dev.dcloud.net.cn/mui/
- VMware虚拟机修改BIOS启动项
vmware默认是硬盘启动,要进bios里面设置成开机的启动顺序,要将光盘设置成第一启动项.但vm的开机画面比笔记本的还要快很多,基本都在1s内的,想进入 bios里面也有难度.. 对于网上说的开vm ...
- golang-Tag
Tag 理解 Golang中可以对struct定义Tag 例如: type TestTag struct{ UserName string `json:"name"` Age In ...