如何在for循环中使用限制数运行python代码?

如何在for循环中使用限制数运行python代码?,python,Python,我有一个简单的for循环代码,用于计算小于100的3和5的所有倍数之和,由于我将打印置于if下,它将显示3和5的所有倍数之和,我希望它只显示100之前的3和5之和,我该怎么办?谢谢 range(1,100) total = 0 for i in range(1, 100): if i % 3 == 0 or i % 5 == 0: total += i print(total) 如果我正确解释了你的问题,你是在问如何只在最后打印总和,而不是在循环中的每一

我有一个简单的for循环代码,用于计算小于100的3和5的所有倍数之和,由于我将打印置于if下,它将显示3和5的所有倍数之和,我希望它只显示100之前的3和5之和,我该怎么办?谢谢

range(1,100)
total = 0
for i in range(1, 100):
    if i % 3 == 0 or i % 5 == 0:
        total += i
        print(total)

如果我正确解释了你的问题,你是在问如何只在最后打印总和,而不是在循环中的每一点。对此的答案是将
print
语句缩进到
if
块之外:

range(1,100)  # note: this line does nothing, you can remove it
total = 0
for i in range(1, 100):
    if i % 3 == 0 or i % 5 == 0:
        total += i
print(total)
您可以使用
sum
函数更简单地计算此总和:

print(sum(
    i for i in range(1, 100)
    if i % 3 == 0 or i % 5 == 0
))

如果您想问的是只打印一次总数,而不是一次又一次,那么答案很简单,只需取消打印语句的行,即:

total = 0
for i in range(1, 100):
    if i % 3 == 0 or i % 5 == 0:
        total += i
print(total)
这是因为,如果语句缩进,它将被视为for循环的一部分,并将在for循环的每次迭代中运行。取而代之的是,取消输入它,使它只运行一次,这是在for循环运行完成之后。此代码的输出如下所示:


缩进看起来不对。for循环有一个空块,没有显式的
过程
。请确保此处显示的缩进与正在运行的代码的缩进匹配。目前没有意义。回答时不需要引用问题。另外,请将您的结果添加为文本,而不是图片。该问题存在一些问题,现在似乎需要编辑,这就是我添加该问题的原因。然后,如果您无法尝试编辑该问题,则应将其作为对该问题的单独评论。