我想找到我所拥有的数字的总和

时间:2019-09-10 08:36:58

标签: python

我有一些代码,必须在其中找到数字3的倍数,然后对其进行汇总 我已经完成了第一项工作,我的意思是我找到了带for循环的数字3的所有倍数,但是我无法总结发现的所有数字。

我尝试了很多次,并试图在google上找到解决方案,但找不到

x = 3
for number in range(1000):
    if number%x == 0:
        print(number)

我现在需要此代码上指示的所有数字的总和,当您运行此代码时,您会发现仅发布可以除以3的数字,现在我需要它们的总和

4 个答案:

答案 0 :(得分:10)

比您想象的要容易:

sum(range(0, 1000, 3))

说明:

range就是definedrange([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)

最好的方法是使用filtersum

# any iterable variable
iterable_var = range(100)
res = sum(filter(lambda x: x % 3 == 0, iterable_var), 0)
相关问题