我有一些代码,必须在其中找到数字3的倍数,然后对其进行汇总 我已经完成了第一项工作,我的意思是我找到了带for循环的数字3的所有倍数,但是我无法总结发现的所有数字。
我尝试了很多次,并试图在google上找到解决方案,但找不到
x = 3
for number in range(1000):
if number%x == 0:
print(number)
我现在需要此代码上指示的所有数字的总和,当您运行此代码时,您会发现仅发布可以除以3的数字,现在我需要它们的总和
答案 0 :(得分:10)
比您想象的要容易:
sum(range(0, 1000, 3))
说明:
range
就是defined:range([start], end[, step])
因此range(0, 1000, 3)
的意思是从0到1000以3为步长
sum
函数将对所有可迭代项(包括范围)求和
答案 1 :(得分:4)
您需要一个变量来保存总和(如果您处于学习阶段):
x = 3
total = 0
for number in range(1000):
if number % x == 0:
print(number)
total += number # equivalent to: total = total + number
print(total)
编辑:
要回答您的评论,请使用condition or condition
:
x = 3
y = 5
total = 0
for number in range(10):
if number % x == 0 or number % y == 0:
print(number)
total += number # equivalent to: total = total + number
print(total)
答案 2 :(得分:0)
您可以创建一个result
变量,然后继续添加:
result = 0
x = 3
for number in range(1000):
if number%x == 0:
result += number
print(result)
答案 3 :(得分:0)
最好的方法是使用filter
和sum
:
# any iterable variable
iterable_var = range(100)
res = sum(filter(lambda x: x % 3 == 0, iterable_var), 0)