sum = 0
for i in range(2, 100):
for j in range(2, i):
if i % j == 0:
break
else:
print(i)
sum += i
print('sum:{}'.format(sum))
曾经输入错误的地方:将else 放在了if的后面,导致i在被整除之前都执行了一遍print,也就是说一个质数,以7为例,j从2到6都不能实现整除,else的语句被执行了2到6共计5次,7 被输出了5回。
将else放在for循环的结尾,可以看做是对for循环的奖励,如果for循环循环完毕,没有被break,就奖励执行else里面的内容。如果中途break的话,则不执行。