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

这有什么问题吗?(0~100奇数加法)

sum = 0

x = 1

while x<=100:

    if x%2==1:

     x=x+1

sum+=x

print sum


正在回答

3 回答

问题在于只有是奇数时X才会加1,一旦X为偶数,就没有了对应操作,会在第一个偶数处卡住,陷入死循环。建议修改如下:

sum = 0
x = 1
while x<=100:
    if x%2==1:
        sum+=x
        x=x+1
    else:
        x=x+1
print sum              

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

水果联盟 提问者

发现问题所在
2016-07-25 回复 有任何疑惑可以回复我~
#2

水果联盟 提问者

谢谢你
2016-07-25 回复 有任何疑惑可以回复我~
#3

MrWater

不用谢,祝你成功
2016-07-26 回复 有任何疑惑可以回复我~

在if中对x进行操作后,x值变为2,循环过来后x%2=0,一直进行sum+=x操作而不进if,造成死循环

可改为

if x%2==1: #其实这句不写就行。

    sum+=x

    x=x+2

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

水果联盟 提问者

嗯嗯嗯,确实如此,谢谢你
2016-07-25 回复 有任何疑惑可以回复我~

sum = 0
x = 1
while x <= 100:
   if x % 2 == 1:
       sum += x
   x += 1

print sum


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

水果联盟 提问者

谢谢^ ^
2016-07-25 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

这有什么问题吗?(0~100奇数加法)

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号