是否可以在Python中的print语句中使用for循环

mou*_*aim 0 python loops

我可以在某些条件下在for循环中使用print元素吗?
其实我有这段代码:

sum = 0
for i in range(1,1000):
    if i%3 == 0 or i%5 == 0 :
        sum+=i
print(sum)  
Run Code Online (Sandbox Code Playgroud)

我想在一行代码中转换它.任何帮助将不胜感激.

ars*_*jii 6

您可以使用生成器表达式:

print(sum(i for i in range(1,1000) if i%3 == 0 or i%5 == 0))
Run Code Online (Sandbox Code Playgroud)

请注意,我在sum()这里使用的是内置函数,它与变量不同sum(通常不应该使用它作为名称,因为它会影响内置函数).