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

2022-12-05 03:01:35 发布

您现在位置: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条回答

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

照办

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

相反,也就是说,将print(summ)语句移到for循环之外