2014-06-25 167 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