刷题(十三)

题目

有一个序列:1/2, 2/3, 3/5, 5/8, 8/13...,写一段Python代码,求出这个序列前10项的和

分析

可以分别用变量表示分母和分子,在根据规则计算出下一个分数时,要同时改变分母和分子的值

代码实现

def sum(n = 10):
    a = 1    #分子
    b = 2    #分目
    s = 0
    l = []

    for i in range(n):
        s += (a / b)
        l.append('%s/%s' %(a, b))

        a, b = b, a + b   #同时改变


    print(" + ".join(i for i in l), end="")  #表达式
    print(" = %.2f" %s)


sum()

猜你喜欢

转载自www.cnblogs.com/my_captain/p/12821816.html
今日推荐