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练习小例子(二十三)的更多相关文章

  1. python2.7练习小例子(十三)

        13):题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5.     程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成.(1)如果这个质数恰等于 ...

  2. python2.7练习小例子(二十九)

        29):1.题目:按相反的顺序输出列表的值. #!/usr/bin/python # -*- coding: UTF-8 -*- a = ['one', 'two', 'three'] for ...

  3. python2.7练习小例子(十二)

        12):题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数" ...

  4. python2.7练习小例子(二十七)

        27):题目:一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同.      #!/usr/bin/python # -*- coding: UTF-8 -* ...

  5. python2.7练习小例子(二十八)

    28):题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母.     程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母. ...

  6. python2.7练习小例子(二十四)

        24):1.题目:利用递归方法求5!.     程序分析:递归公式:fn=fn_1*4! #!/usr/bin/python # -*- coding: UTF-8 -*- def fact( ...

  7. python2.7练习小例子(十八)

    19):题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数.      #!/usr/bin/python # -*- ...

  8. python2.7练习小例子(八)

        8):题目:输出 9*9 乘法口诀表.     程序分析:分行与列考虑,共9行9列,i控制行,j控制列.     程序源代码: #!/usr/bin/python # -*- coding: ...

  9. python2.7练习小例子(七)

        7):题目:将一个列表的数据复制到另一个列表中.     程序分析:使用列表[:].     程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- ...

随机推荐

  1. day3-购物车小程序

    1.要求 启动程序后,让用户输入工资,然后打印商品列表 允许用户genuine商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒还有多少 可随时退出,退出时,打印已购买商品和余 ...

  2. 2.LVS配置过程

    请查看我的有道云笔记: http://note.youdao.com/noteshare?id=866edb5736418d29c86d68b5198c5c1c&sub=66F88F0A24D ...

  3. JVM 虚拟机内存深入探究

    [<深入理解java虚拟机>-整理笔记] by  lijun JVM虚拟机内存逻辑模型: 方法区(全局变量 静态数据 常量等) 线程共享 堆栈区(对象实例 数组数据 new generat ...

  4. 服务器安装anaconda

    SSH连接服务器可以用putty 网址:https://repo.continuum.io/archive/ 下载安装脚本 wget https://repo.anaconda.com/archive ...

  5. SPOJ MUSKET - Musketeers

    黑书P117页. 要是不看解析,确实不要算和定义状态. 把环看成链,是指把这个1234512345,写两边,然后怎么表示一个人是否胜利了呢?其实就是其他人全部死光(好像等于没说): 考虑最后一次杀人, ...

  6. 动态规划(DP),类似LIS,FatMouse's Speed

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1108 解题报告: 1.首先按照weight从小到大排列,weig ...

  7. 【luogu P3375 KMP字符串匹配】 模板

    题目链接:https://www.luogu.org/problemnew/show/P3375 精华:在每次失配后不从头匹配而是尝试找一个新的开始并且是新开始的位置最长的相同前缀和后缀. 实际上KM ...

  8. oracle 基本语法(一)

    1.基本语句: .查询每个部门工资最高的人的详细记录 select * from emp e,(select max(sal) max,deptno from emp group by deptno) ...

  9. mobienet, shufflenet

    参考github上各位大神的代码 mobilenet和shufflenet,实现起来感觉还是各种问题. mobilenet目前使用的代码来自这里:https://github.com/BVLC/caf ...

  10. o'Reill的SVG精髓(第二版)学习笔记——第七章

    第七章:路径 所有描述轮廓的数据都放在<path>元素的d属性中(d是data的缩写).路径数据包括单个字符的命令,比如M表示moveto,L表示lineto.接着是该命令的坐标信息. 7 ...