为了账号安全,请及时绑定邮箱和手机立即绑定

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

num = 0

sum = 0

while num > 1000:

    break

if num % 2 == 0:

    sum = sum + num

    num = num + 1

print(sum)


正在回答

2 回答

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

#第一次循环

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




1 回复 有任何疑惑可以回复我~
#1

weixin_慕妹8593821

我看错了,while循环刚上来就被break了,那肯定只输出sum原来的值(也就是零)啊
2021-12-13 回复 有任何疑惑可以回复我~
#2

宝慕林2344284 提问者

谢谢解答!
2021-12-14 回复 有任何疑惑可以回复我~

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

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)


1 回复 有任何疑惑可以回复我~
#1

宝慕林2344284 提问者

感谢解答,很棒哦。
2021-12-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信