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

x=x+1的位置放到while循环最后一句,为什么得不出结果?错在哪里?

代码如下:

sum = 0

x = 0

while True:

    #x +=1

    if x > 100:

        break

    if x%2==0:

        continue

    sum += x

    x += 1    #放在这,为什么得不到结果

print sum


正在回答

3 回答

当x=0的时候,第一个if不满足条件,于是继续到第二个if。这时符合条件,于是continue到最开始的第一行代码。这样后面的sum=sum+x和x=x+1永远无法运行,所以无果

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

虫子小白 提问者

懂了,谢谢
2016-12-23 回复 有任何疑惑可以回复我~

continue跳出本次循环  ,变量x的值永远是 0 ,进入死循环。

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

虫子小白 提问者

懂了,谢谢
2016-12-23 回复 有任何疑惑可以回复我~

当x为偶数时,x%2==0为真,执行continue跳出循环,下一次循环时x的值并未改变,还是偶数,会进入死循环。

在continue前面加一句x += 1即可。如下:

if x%2==0:

        x += 1

        continue


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

虫子小白 提问者

懂了,谢谢
2016-12-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758622    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

x=x+1的位置放到while循环最后一句,为什么得不出结果?错在哪里?

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