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

请问这个代码怎么算不出来

sum = 0

x = 1  

while True:

    if x > 100:

        break

    if x % 2 == 0:

        continue

    sum = sum + x

    x = x + 1

print sum

请问这个代码怎么算不出来

正在回答

4 回答


 if x % 2 == 0:

        continue

当X == 2 的时候就陷入死循环了,continue意思是跳过下面内容重新返回循环,X的值始终没有变,当然也就算不出来了。

解决方案是:把x= x+1 放到break和if 之间,

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

慕仰3175336 提问者

非常感谢!
2016-05-08 回复 有任何疑惑可以回复我~

其实呢, 这个代码在 执行过第一遍后, x自加了1 成为了 

x =2

这时候再进入循环体:

while True:
    if x > 100:
        break
    if x % 2 == 0:  ## 由于 x = 2, 就会进入if, 遇到continue, continue 的已是跳过本次循环的以下部分
        continue    ## 接着x再次进入循环, 由于跳过了continue 以下部分,所以x 依然是2. 然后
    sum = sum + x   ## 如此反复, 循环 成了死循环。
    x = x + 1


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

改成这样就好,不然x=2,直接continu,然后换是2执行if然后换是2执行···

 if x % 2 == 0:

        sum = sum + x

        x = x + 1

        continue

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

因为 if x%2==0  这一句之后跳出循环,就没法对x进行自加了,所以之后的代码无法运行,所以出不来结果,需要颠倒一下顺序。

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

举报

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

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

进入课程

请问这个代码怎么算不出来

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