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

求解这样为什么不对?

求解这样为什么不对?

sum = 0
x = 1
n = 1
while True:
    sum = sum +x
    n = n + 1
    x = 2^(n-1)
    if n > 2:
        break
print sum

正在回答

4 回答

解释下,这串代码我是自己想要计算下前两项的和,但是最终计算结果是4,我有点不明白为什么多计算了一个1?

而且即使把代码补齐为20,计算结果也不对。

0 回复 有任何疑惑可以回复我~
sum = 0
x = 1
n = 1
while True:
    if n>20:
        break
    sum=sum+x
    x=x*2
    n=n+1
print sum

要求是前20项的和,你的条件是2项。

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

n每循环一次都会+1,等到n加到3时(即n>2时)会跳出循环,所以sum = 1 + 1 + 2 = 4,其他的自己想,帮不上了

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

梦想家小可 提问者

我有点不明白为什么是sum=1+1+2,而不是1+2,多的那个1是怎么来的?
2016-09-28 回复 有任何疑惑可以回复我~
#2

慕粉3370840 回复 梦想家小可 提问者

第一个1就是x的初始值,第二个1就是循环一次后,x还是等于1!
2016-10-02 回复 有任何疑惑可以回复我~

应该是n>20吧

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

举报

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

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

进入课程

求解这样为什么不对?

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

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

帮助反馈 APP下载

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

公众号

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