代码运行的小问题输出的为什么是0呢


sum = 0
for i in range (2,100):
    if i%5:
        break
    sum+=i
print(sum)

为什么输出是0呢,我不理解

sum = 0  //  1
for i in range (2,100):  //2
    if i%5:   //3
        break //4
    sum+=i  //5
print(sum)  //6

先每行标上行号
总共是1-6行
看第2行 你写了for循环,for循环执行里面的语句块
第一句是if判断 i初始值为2
if i%5 的意思就是只要i不是5的倍数,就可以执行if语句的内容
2%5=2 不是5的倍数 执行if语句块内语句——break 由于break终止循环,所以最后的sum仍然是0
相当于就执行了 sum = 0 print(sum) 中间的循环语句 都相当于没执行 就跟现在的听君一席话,如听一席话一样。
要想跳出本次循环,一直执行到循环条件结束,那就用continue continue是跳出本次循环。

望采纳!!

你应该把你的break, 换成continue。

i没有初始值,应该默认为0,所以不会进入for循环,所以直接打印sum,打印结果为0

break 是跳出循环,不再执行。
continue 是跳出本次循环,执行下一次。

没有给变量i设定值,导致程序不会进入for循环,而直接执行了打印
类似于只执行了这两步。

sum = 0
print(sum)

如有帮助,采纳支持一下,谢谢。