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

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

我爱上我编写的用于解决EulerQ2计划的程序。我刚用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)

回答:

首先,我将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)

以上是 用Python程序查找斐波那契数列。更多Python方式 的全部内容, 来源链接: utcz.com/qa/415273.html

回到顶部