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

代码顺序问题

sum = 0

x = 1

n = 1

while True:

    sum = sum + x

    x = 2**(n - 1)

    n = n + 1

    if n > 20:

        break

print (sum)

为什么这串代码只计算单个x的2^19的值,而不是前20项之和

line6 和line7 调换一下位置就能得出正确答案

不理解


正在回答

1 回答

lin6处计算时n比循环前-1,line7则比循环前+1。如果要满足 line8的 n>20,则 line6 n为19 ,line7 n为21,计算到x=2^19就停止了。

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

慕沐9167629 提问者

明白了,谢谢
2018-12-23 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

代码顺序问题

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

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

帮助反馈 APP下载

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

公众号

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