我再次尝试 Project Euler 问题,在问题 2中,我被要求找到 400 万以下的斐波那契数列中所有偶数的总和。我可以使用下面的代码使用 While 循环(在代码中显示为注释)来做到这一点,但不使用 for 循环(它给了我巨大的数字,并且 'c' 远远超过 400 万。
为什么 for 循环在这里不起作用?
谢谢。
def fibo():
z=[]
a=1
b=1
c=0
for c in range(0,4000000): #doesn't work; works with while (c<4000000)
c = a+b
if c%2 == 0 and c<4000000:
z.append(c)
a=b
b=c
print c
print 'sum is',sum(z)
fibo()