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

大神求教Python基础问题!!!跪求!

大神求教Python基础问题!!!跪求!

慕粉2151544046 2017-03-15 19:39:14
sum = 0 x = 1 n = 0 while True:     x = 2**n     n = n+1     sum =sum+x     if n>=20:         break print sum #这个print出来是1048575可是sum = 0 n = 0 while True:     n = n+1     sum =sum+(2**n)     if n>=20:         break print sum #这个print出来是2097150这两个值正好是两倍关系,为什么啊?只是一个将2**n赋值给x,一个没有设x直接sum中写2**n,实际上不是一样的吗???
查看完整描述

1 回答

已采纳
?
asd8532

TA贡献143条经验 获得超187个赞

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

while True:
    n = n+1
    sum =sum+(2**n)  #这里去掉了n=0是加的值1,n直接等于2了,且这个是1-20的和
    if n>=20:
        break
print sum

######################################
while True:  
    sum =sum+(2**n) 
    n = n+1           #这才是0-19的和
    if n>=20:
        break
print sum


查看完整回答
1 反对 回复 2017-03-15
  • 1 回答
  • 0 关注
  • 965 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信