我試圖再次項目歐拉問題,並在problem 2,我被要求找到在400萬以下的斐波那契序列中所有偶數的總和。我可以使用下面的代碼使用While循環(在代碼中顯示爲註釋),但不使用for循環(這給我提供了巨大的數字,並且需要超過4百萬的'c'方法。爲x在範圍(y)與while循環:Python
爲什麼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()
您在'for'循環中對'c'所做的修改在下一次迭代時不會考慮。 –