2
我收到了一個程序設計來製作一個甚至斐波那契數列表的意外結果。代碼是找出所有的號碼部分工作正常,但是當它到達在列表中修改斐波納契數列 - Python
if i % 2 != 0
fib_list.remove(i)
部分東西似乎出問題,因爲它不採取了所有的奇數。以下是整個計劃。我究竟做錯了什麼?
fib_list = [1, 2, 3]
for i in range(4, 4000001):
if (i - fib_list[-1] - fib_list[-2]) == 0:
fib_list.append(i)
print fib_list
for i in fib_list:
if i % 2 != 0:
fib_list.remove(i)
print fib_list
哦。有沒有一種方法可以獨立評估列表中的每個項目,然後對其執行操作並避免迭代 - 修改問題? – Chandrew
另外,在你發佈的代碼中,它看起來像第一個x必須指向不同於其他x的東西......你能調用這樣的函數嗎? – Chandrew
@ user2579517這個解決方案確實做到了 - 換句話說,它在'fib_list'上循環並抓取所有'x',使得'x%2 == 0',在這個過程中創建一個新列表,所以原始列表是不變的。 –