我只想要求和,但它不起作用

时间:2021-07-02 19:23:46

标签: python

问题是:编写一个程序的 Python 代码,将所有 7 和 9 的倍数相加到 600(包括 600)

这是我所做的:

summ = 0
for i in range(1, 601):
    if i % 7 == 0 and i % 9 == 0:
        summ+=i
        print(summ)

输出:

63
189
378
630
945
1323
1764
2268
2835

我想要添加。 2835 以上的那些数字是干什么用的?我只想要结果 2835。我该怎么做?

2 个答案:

答案 0 :(得分:3)

请记住,Python 中的缩进表示“嵌套”。换句话说,当您缩进一行时,它是缩进较少的构造“内部”。在这种情况下,您会看到添加每个数字时的运行总数,因为您在 print() 循环内缩进了 for。如果您只希望 print() 发生一次,请将其从 for 循环中拉出。

答案 1 :(得分:1)

就去做

summ = 0
for i in range(1, 601):
    if i % 7 == 0 and i % 9 == 0:
        summ+=i
print(summ)

而是将 print(summ) 语句移到 for 循环之外。