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

为什么代码这样写结果是120?

sum = 0
x = 1
while x < 100:
    sum = sum + x
    x = 2*x + 1
print sum

正在回答

7 回答

x = 2*x + 1不表示奇数

x=x+2是表示奇数

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

你把x = x*2+1放在循环里面了

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

因为 2*x+1

循环第一次: x=3

循环第二次: x=7

循环第三次: x=15

依次类推,到63,因为之后就要大于100了,每次的和就是120了

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

sum时累加器,当x<100时一直循环

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

再好好想想

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

就是120啊 是不是你逻辑弄错了 还是没弄懂题意

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

因为x=2*x+1,所以x的值为1,3,7,15,31,63

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

举报

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

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

进入课程

为什么代码这样写结果是120?

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