用Python程序查找斐波那契数列。更多Python方式

发布于 2021-01-29 14:09:43

还有另一个线程讨论Python中的Fibo系列。这是为了将代码调整为更多pythonic。如何用Python编写斐波那契数列

我爱上我编写的用于解决Euler
Q2计划的程序。我刚用Python编写代码,每次这样做都会很高兴。Python的方式!您能建议一种更好的Pythonic方法吗?

欧拉Q2计划。找出斐波纳契数列中所有不超过400万的偶数项之和。

fib=[]
def fibo(a=-1,b=1,upto=4000000):
    if a+b>=upto:
        return
    else:
        a,b=b,a+b
        fib.append(b)
        fibo(a,b)

fibo()
even=[i for i in fib if not i%2]
print sum(even)
关注者
0
被浏览
192
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    首先,我将fibo()用作生成器:

    def fibo(a=-1,b=1,upto=4000000):
        while a+b<upto:
            a,b = b,a+b
            yield b
    

    然后,我还要选择均匀性作为生成器,而不是列表理解。

    print sum(i for i in fibo() if not i%2)
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看