簡體   English   中英

雖然循環沒有結束

[英]While loop does not end

嗨,有人可以告訴我為什么這行不通嗎? 它永遠運行,並且不會結束。 當a的值達到10時,它應該退出循環。

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

a仍位於for循環內時,它變為10 (當while循環進行第二次運行時,它變得大於10 )。

print下移一級,您將明白我的意思:

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

在第一個for循環之后,它變為55,並且不等於10,並且一直增加

也許你的意思是:

a=0
for counter in range(11):
    a+=counter
    print a
    if a > 10: 
        break 

您可以看一下http://docs.python.org/tutorial/controlflow.html#break-and-continue-statements-and-else-clauses-on-loops

因為計數器在增加,所以A會增加bby! 因此它等於0、1、3、6、10等,而不是等於1,2,3,4,5,6等! 只需將a + = 1或將其更改為“ while a <10”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM