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

5-6提问

sum = 0
x = 1
n = 1
while True:
    sum=sum+x
    x=x*2
    if n>20: 
       break    
       n=n+1
print sum

把n换了一下行结果就变2097151

正在回答

3 回答

因为算多了一次,n在if后面时,会导致当n=21时,sum还是会被赋值新的数值后再去判断n是否大于21,才结束循环

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

这样与答案调换了顺序却是对的

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

上面提问打错了,第九行要删掉4个空格

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

举报

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

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

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