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

结果为5050

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


为何结果为5050,看不懂

正在回答

4 回答

相当于100以内(包括100)所有数据的和,后面两个if语句其实对该程序没有什么影响,第一个if表示当x为偶数时进行下一轮循环,下一个if将不会再执行,第二个if表示当x大于100时就结束循环,结束循环时的数据为101是一个奇数也就没有执行continue语句,但是如果把第二个if改成if x > 101时就不再是计算101以内的所有数据和,而是计算102以内的所有数据和,因为当数据为102时会执行continue语句,只有到103时才会结束。

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

宝慕林6422410 提问者

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

if x%2==0: continue   这条语句完全没有作用,每次都会运行sum=sum+x

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

因为你的判断条件放在后面了,你每次都把x加到sum里面后然后判断了,所以你实际干的事是从1加到100,就是5050

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

sum=sum+x 这条语句应该放到 if 后边。你这样写的话,无论if 语句判断结果是什么都会执行sum=sum+x

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

举报

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

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

进入课程

结果为5050

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