开发者社区> 问答> 正文

2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

展开
收起
珍宝珠 2019-11-19 15:51:52 4424 0
1 条回答
写回答
取消 提交回答
  • 方法一:
    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    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
    
    
    方法二:
    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    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 -*-
    
    a = 2.0
    b = 1.0
    l = []
    l.append(a / b)
    for n in range(1,20):
        b,a = a,a + b
        l.append(a / b)
    print reduce(lambda x,y: x + y,l)
    
    

    以上实例输出结果为:

    32.6602607986
    
    2019-11-19 15:53:53
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载