為啥 sum = sum + x放在后面,結果就不同了
x = 1
n = 1
while True:
??? if n > 20:
??????? break
??? x = x + x
??? n = n + 1
??? sum = sum + x
print sum
x = 1
n = 1
while True:
??? if n > 20:
??????? break
??? x = x + x
??? n = n + 1
??? sum = sum + x
print sum
2019-05-23
舉報
2019-05-23
第一:sum沒有初始值應該要先賦值為0,sum=0
第二:如果sum=sum+x放后面,第一次循環的時候先計算的是x=x+x =2 ,這樣就少了第一個數x=1,這樣計算的就是2+4+8+16+。。。+的二十個數,
第三: 要是改成這樣的話,sum=sum+x放后面也是可以的
sum = 1
x = 1
n = 1
while True:
? ? if n > 19:
? ? ? ? break
? ? x= x*2
? ? n= n + 1
? ? sum = sum + x
print sum
2019-07-01
sum = 0
x = 1
n = 1
while True:
? ? if n > 20:
? ? ? ? break
? ? x = 2 ** (n - 1)
? ? sum += x
? ? n += 1
print sum
2019-05-29
這樣第一個x都加不進去,x=1是第一個數,sum要先加第一個數,你直接先x=x+x,sum直接加2
2019-05-23
不清楚你說的“放在后面”是指的放在哪行代碼的后面,如果是放到x = x + x,“前面”和“后面”進行對比,結果當然會不一樣了,放到“后面”會多執行一次sum =sum +x