Python loop vs. list comprehension

如何用2种方式求1-500之间能被3or7整除的数之和。用loop和 comprehension两种方式。

For loop我想到是:
sum=0
for i in range(1,501):
if i % 3 !=0 and i %7 !=0:
continue
sum+= i
return sum

恩你写的loop写法没问题

loop

sum=0
for i in range(1,501):
  if i % 3 == 0 or i % 7 == 0:
    sum += i
print(sum)

list comprehension

sum([i for i in range(1, 501) if i % 3 == 0 or i % 7 == 0])

谢谢Wang老师。 关于list comprehension这个写法我run一下是不行的。list内元素求和有什么方式吗?sum([a,b,c])是不行的

为什么 sum([1,2,3]) 无法求和?你能否把你的python截屏发给我看一下?

哦哦可以了 解决了 谢谢老师