本文是关于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
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。
玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy/python-100/11108.html
相关文章 Recommend
更多推荐
python 分数序列求和公式_Python分数序列求和,编程练习题实例二十四
发布评论