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

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,实际上不是一样的吗???

慕粉2151544046
浏览 966回答 1
1回答

asd8532

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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python