玩蛇网提供最新Python编程技术信息以及Python资源下载!
您现在的位置: 玩蛇网首页 > Python 100例 > 正文内容

Python分数序列求和,编程练习题实例二十四

本文是关于Python分数序列求和的应用练习,适合菜鸟练习使用,python大牛绕行哦。

Python练习题问题如下:
问题简述:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13
要求:求出这个数列的前20项之和。

Python解题思路分析:这道题要关注分子与分母的变化规律。2,3,5,8......

Python解题源代码如下:
a = 2.0
b = 1.0
s = 0
for n in range(1,21):
    s += a / b
    t = a
    a = a + b
    b = t
print s

第二种方法:

a = 2.0
b = 1.0
s = 0.0
for n in range(1,21):
    s += a / b
    b,a = a , a + b
print s

s = 0.0
for n in range(1,21):
    s += a / b
    b,a = a , a + b
print s

还有第三种方法,可以参考下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
#www.iplaypy.com

a = 2.0
b = 1.0
l = []
for n in range(1,21):
    b,a = a,a + b
    l.append(a / b)
print reduce(lambda x,y: x + y,l)

以上的第三种方法,用到了lambda表达式,这个需要对lambda有了解明白其中的原理。但是很简洁。

Python分数序列求和,编程练习题实例二十四,输出结果为:32.6602607986。

玩蛇网文章,转载请注明出处和文章网址:http://www.iplaypy.com/python-100/11108.html [复制]



我要小额赞助,鼓励作者写出更好的教程↓↓↓

玩蛇网Python QQ群,欢迎加入: ① 279974227 玩蛇网Python新手群
修订日期:2017年02月27日 - 21时34分09秒 发布自玩蛇网

我要分享到:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules