不会就问。 2021-12-30 09:11 采纳率: 77.8%
浏览 38
已结题

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


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

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

  • 写回答

5条回答 默认 最新

  • Code_流苏 优质创作者: C/C++技术领域 2021-12-30 10:52
    关注
    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是跳出本次循环。

    望采纳!!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 8月3日
  • 已采纳回答 7月26日
  • 创建了问题 12月30日