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

让n=0时,结果1048576,为什么

sum = 0

x = 1

n = 1

while True:

   if n>20:

    break

   sum=sum+x

   x=2**n

   n=n+1

print sum

让n=0时,结果1048576,为什么

正在回答

4 回答

这样就多循环了一次嘛,sum再加上一个2**0(也就是1)结果就比原来的多了1而已

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

n = 0 时,2**n == (2**0),结果还是0,等于无效,无效的多一次循环而已啦!

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

sum = 0

x = 1

n = 1

while True:

    sum+=2**(n-1)

    if n>=20:

        break

    n=n+1

print sum


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

把n=0不就是多加个数么,x=2**n,x = 1,n=1到n=20和的结果是1048575,刚刚好

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

举报

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

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

进入课程

让n=0时,结果1048576,为什么

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