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

代码顺序问题

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
  • 参与学习       758625    人
  • 解答问题       8667    个

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

进入课程

代码顺序问题

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