2012-01-15 263 views
0

嗨,有人可以告訴我爲什麼這不起作用嗎?它永遠運行,並沒有結束。當一個值達到10時,它應該退出循環。雖然循環不結束

a=0 
while a!=10: 
    for counter in range(11): 
     a+=counter 
     print a 

回答

4

a變得10而這是仍在for循環內(並且在while循環進行第二次運行時變得大於10)。

移動你print下一個水平,你就會明白我的意思:

a=0 
while a!=10: 
    for counter in range(11): 
     a+=counter 
    print a 
    raw_input('press enter to keep looping') 
+0

好的謝謝。我不知道只有在for循環結束後纔會檢查一個值。我認爲它會檢查for循環中的每一次出現。 Python新手:$ – PhoneMicrowave 2012-01-15 06:32:35

0

因爲櫃檯正在增加,所以A因此上漲更多! 因此,而不是等於1,2,3,4,5,6等,它等於0,1,3,6,10等! 只是去一個+ = 1 或更改爲「而< 10」

+0

打印數字0到10,去: 而一個<= 10 打印 – Magicaxis 2012-01-15 06:18:56

1

後第一個for循環變得55,它是不等於10和它保持增加