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

下面代码运行怎么出不来结果,也没反应?

sum=0

x=1

while True:

    if x%2==0:

        continue

    sum=sum+1

    x=x+1

    if x>100:

        break

print sum


正在回答

4 回答

运行了一遍才发现,,这是个坑:

问出在以下这句

if x%2==0:
        continue

题主要试一下1%2=1,所以在循环体中,就只执行到这一句,不再往下执行。

也就是说,x永远为1,这个while循环永远跳不出去。

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

慕粉3196086 提问者

非常感谢!
2016-04-18 回复 有任何疑惑可以回复我~
sum=0
x=1
while True:
    if x%2==0:   ## 此处, 当第二次执行的时候,x=2, 条件成立,跳出循环,再进入循环,    
        continue ## x值没有改变,又跳出。 如此往复,则没有结果
    sum=sum+1
    x=x+1
    if x>100:
        break
print sum

正确代码如下:

sum=0
x=1
while True:
    x=x+1          ##将 x自加1 放到循环的第一句。 
    if x>100:
        break
    if x%2==0:
        continue
    sum=sum+1

print sum


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

清波

有点重复。。 将两个if 调换下位置
2016-04-18 回复 有任何疑惑可以回复我~
#2

慕粉3196086 提问者

谢谢!!
2016-04-18 回复 有任何疑惑可以回复我~

你那个我知道,我是想知道我的那段代码为什么就不行

0 回复 有任何疑惑可以回复我~

sum=0

x=1

while True:

    x=x+1

    if x>100:

        break

    if x%2==0:

        continue

    sum=sum+1


print sum


0 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

下面代码运行怎么出不来结果,也没反应?

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