2014-06-25 210 views
-2

有人能告訴我爲什麼我陷入無限循環嗎?我找不到有什麼問題。我試圖打印出來的項目,至少要找出問題來自哪裏,我認爲它發生在practiceBalance> 0之後。除此之外,我還沒有弄明白!謝謝!爲什麼我陷入無限循環

count = 0 
while count<12: 

    count +=1 

    if practiceBalance < 0: 
     count = 0 
    elif practiceBalance > 0: 
     count = 0 
    elif practiceBalance == 0: 
     break 
+1

你正在你的''中和if''elif' condition..so它會在無限的垂耳count'等於0 – rock321987

回答

2

如果打印practiceBalance你會發現這一點:

practiceBalance: 298222.561111 
practiceBalance: 298222.561111 
practiceBalance: 298222.561111 
practiceBalance: 298222.561111 
practiceBalance: 298222.561111 
practiceBalance: 298222.561111 
practiceBalance: 298222.561111 
practiceBalance: 298222.561111 
... 

因此,它總是比0更大。因此,在本節:

elif practiceBalance > 0: 
    low = monthlyPayment 
    practiceBalance = balance 
    count = 0 

你總是重置count0

+0

但'elif'聲明不會只運行一次嗎?我認爲這就是它的工作原理。我以爲只有'同時'陳述持續循環? – happykatt

+0

@MeMyself:每次運行循環時,都會檢查所有if/elif/else語句,因爲它們在循環中。 – Dair

+0

我試着重寫它作爲一個函數...它仍然是一個正在進行的工作,但我仍然沒有得到一個正確的答案。雖然,死循環停止了。 – happykatt