我正在解决项目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,不要在线发布解决方案。我想我的问题非常接近解决方案。如果主持人认为应该删除,那么请这样做。
答案 0 :(得分:2)
因为multiples
被设置为循环内的空列表。
multiples = [] # <----------
for number in range(1001):
if (number % 3 == 0) or (number % 5 == 0):
multiples.append(number)