繁体   English   中英

修改列表中的斐波那契数列— Python

[英]Modifying Fibonacci Series in list — 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

您正在修改列表时遍历列表。 不要那样做

[x for x in fib_list if x % 2 == 0]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM