为什么这么写,输出的结果是0

来源:4-6 Python之break跳出循环

宝慕林2344284

2021-12-13 19:45

num = 0

sum = 0

while num > 1000:

    break

if num % 2 == 0:

    sum = sum + num

    num = num + 1

print(sum)


写回答 关注

2回答

  • weixin_慕妹8593821
    2021-12-13 20:32:48
    已采纳

    #我的一点个人看法,不喜勿喷

    #第一次循环

    num = 0

    sum = 0

    while num > 1000:

        break

    if num % 2 == 0:

        sum = sum + num

    此时sun为 0 ,num也为0

        num = num + 1

    #此时num为1

    print(sum)


    #第二次循环

    num = 0

    sum = 0

    while num > 1000:

        break

    if num % 2 == 0:

    此时num为1,于2相除余数为1,因此 sum = sum + num 和 num = num + 1 的代码系统不会运行

        sum = sum + num

        num = num + 1

    #此时代码陷入死循环

    print(sum)

    #因此输出0




    宝慕林234...

    谢谢解答!

    2021-12-14 19:56:52

    共 2 条回复 >

  • weixin_慕妹8593821
    2021-12-13 20:50:10

    #正确的代码因该是这样的,你看一下是不是你要的效果

    num = 0


    sum = 0


    while num <= 1000:


    #限定循环范围,num超出了这个范围那么循环就不会继续了,也就是说,break在这里可以不用


        num = num + 1

    #要把 num 每次循环加一的指令放到 if 判断外面,不然 if 只会运行一次,因为当num为 1 时,if判断就不通过了

        if num % 2 == 0:

    #让系统判断num的数值,num/2 是否余数为1 ,也就是说,是否为偶数

            sum = sum + num

    #如果num是偶数,那么将偶数相加起来,比如说 10 以内的偶数为 0 2 4 6 8 10 ,每次if 判断成立,那么 

    #公式:sum(要被赋值的)= sum(原来的) + num

    #数值:0      = 0      +      2

    #第一次偶数相加

    #数值:2      = 2      +      4

    #第二次偶数相加

    #数值:6      = 6      +      6

    #第三次偶数相加

    #以此类推

    print(sum)


    宝慕林234...

    感谢解答,很棒哦。

    2021-12-14 19:56:27

    共 1 条回复 >

Python3 入门教程(新版)

python3入门教程,让你快速入门并能编写简单的Python程序

154153 学习 · 1075 问题

查看课程

相似问题