代码之家  ›  专栏  ›  技术社区  ›  weakit

无法获取项目Euler#2

  •  2
  • weakit  · 技术社区  · 8 年前

    我想解决 Project Euler Problem #2

    这是我写的:

    a = b = 1
    i = []
    while b <= 4000000:
        i.append(a)
        a, b = b, a + b
    e = [x for x in i if not x % 2]
    print(sum(e))
    

    有了这个,我 1089154

    但是,如果我将最后一行的第二行替换为 e = [x for x in i if x % 2] ,我似乎得到了正确的答案, 4613732

    为什么会这样,我最初写的有什么错?

    1 回复  |  直到 8 年前
        1
  •  3
  •   timgeb    8 年前

    问题在您的列表中 i .它开始于 [1, 1, 2, ...] 而不是 [1, 2, ...] 使用 i.append(b) 解决这个问题。