为什么列表的总和不正确?

时间:2014-09-27 02:44:59

标签: python arrays list

我正在解决项目Euler的练习1:

  

如果我们列出10以下的所有自然数,它们是3或3的倍数   5,我们得到3,5,6和9.这些倍数的总和是23.找到   所有3或5的倍数的总和低于1000。

我坚持了一段时间,在做了一些研究后,这是如何计算总和。

# range of numbers 0 to 1000
# iterate through numbers
for number in range(1001):
    multiples = []    
    # multiples of 3 or 5
    if (number % 3 == 0) or (number % 5 == 0):
        # store num into array
        multiples.append(number)

# add up all elements in array
total = sum(multiples)
print total

我的输出是1000

更新:我刚看过项目euler,不要在线发布解决方案。我想我的问题非常接近解决方案。如果主持人认为应该删除,那么请这样做。

1 个答案:

答案 0 :(得分:2)

因为multiples被设置为循环内的空列表。

multiples = []  # <----------
for number in range(1001):
    if (number % 3 == 0) or (number % 5 == 0):
        multiples.append(number)