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

while循环

sum = 0

x = 1

n = 1

while True:

    x = 2**(n-1)

    n = n+1

    sum =sum+x

    if n>20:

        break

print sum


sum = 0

x = 1

n = 1

while True:

    sum=sum+x

    x=2**n

    n=n+1

    if n>20:

        break

print sum



这两段程序的运行结果为什么是一致的??

正在回答

1 回答

一个是-1一个没减一。。前面一个计算了后马上就加给sum了。后一个的x是计算了下一次加用的,因为判断n=20的时候上面一个计算了马上就加给sum了,后面一个计算了并没有加给sum,所以就一样了。

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

CYC2015

不对吧。。。 第一个计算下来1.x=0 n=2 sum=0+0=0 2.x=2 n=3 sum=0+0+2 3.x=4 n=4 sum=0+0+2+4=6 4.x=0 n=6 sum=0+0+2+4+6以此类推应该是2+4+6+8+10才对。。。。为何会和下面的一样呢?
2015-07-06 回复 有任何疑惑可以回复我~

举报

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

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

进入课程
意见反馈 帮助中心 APP下载
官方微信