break條件和while True用的時候,break放的位置不一樣,有影響嗎?
sum = 0
x = 1
n = 1
while True:
? ? if n>20:
? ? ? ? break
? ? sum=sum+x
? ? x=x*2
? ? n=n+1
print sum
這個運行是正確的,但是把if....break語句放在后面就出錯了,
sum = 0
x = 1
n = 1
while True:
? ? sum=sum+x
? ? x=x*2
? ? n=n+1
if n>20:
? ? ? ? break
print sum
這兩種有什么區別嗎?求解。
2019-03-01
(1)python是按縮進劃分代碼塊,所以你應該把第二次中的if n > 20和break縮進
(2)兩者還是有區別的,如果n初始值為21,那么第一次sum = sum + x之后的代碼一次也不會執行,但是第二次sum = sum + x的代碼會執行一次
2019-03-01
把if語句縮進后,兩個代碼的執行結果是一樣的,都是只會計算到前20個數的和。
sum = 0
x = 1
n = 1
while True:
? ? sum=sum+x
? ? x=x*2
? ? n=n+1
? ? if n>20:
? ? ? ? break
print sum