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

这么些为什么不运行?

这么些为什么不运行? sum = 0 x = 1 while True:    x = x + 1    if x % 2 == 1 and x<=100:        continue    sum = sum + x print sum

正在回答

5 回答

同学,这个循环的条件是True,也就是永远都会满足循环条件,意味着循环进入了死胡同。而代码中的continue语句只是跳出当前循环,继续下一轮循环,而在循环条件中下一轮条件还是满足的,所以无法跳出循环,诊断结果是缺少break语句跳出循环。

上面的回答把代码中条件语句拆开为两句也可以,但是我觉得按照题主的思路,这个代码要实现的应该是在100以内的数中求出满足2的倍数的数之和(也可以说除0以外的偶数之和),那么这里可以给出代码如下:

sum = 0

x = 1

while True:

    x = x +1

    if x > 100:

        break

    if x % 2 = 0:

        sum = sum + x

print sum

或者我觉得更简洁的循环方式是将条件语句改为:

while x <= 100:
然后去掉上面判断大于100的条件语句

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

败家哥

= 是赋值 run下
2016-08-31 回复 有任何疑惑可以回复我~
#2

若夫萤雨霏霏 回复 败家哥

是的,抱歉这里是我写错了,谢谢!
2016-08-31 回复 有任何疑惑可以回复我~
#3

若夫萤雨霏霏

很抱歉,在条件语句那里我把 == 写成了 =
2016-08-31 回复 有任何疑惑可以回复我~


sum = 0
x = 1
while True:
    x = x + 1
    if x > 100:
        break
    if (x % 2) ==1:
        continue
    sum = sum + x
print (sum)


0 回复 有任何疑惑可以回复我~
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
sum = 0 
x = 1 
while x<101:    
    x = x + 1    
    if x % 2 == 1 and x<=100:        
        continue    
    sum = sum + x
print (sum)


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

 if x % 2 == 1 and x<=100:   这句应该分为俩句,and 的话是与运算,若判断 x % 2 == 1为假的话,x <= 100 就不会执行下去的了,再结合上面小伙伴说的,再用break语句进行 x 的值判断

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

代码进入了死循环....if判断应该分开   if x > 100 break   利用这个退出循环...

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

举报

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

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

进入课程

这么些为什么不运行?

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