Python 为什么我被困在无限循环中
有人能告诉我为什么我被困在一个无限循环中吗?我找不出有什么问题。我已尝试打印出项目,以至少找出问题的来源,我认为它是在practiceBalance>0之后发生的。除此之外,我还没弄明白!谢谢Python 为什么我被困在无限循环中,python,infinite-loop,Python,Infinite Loop,有人能告诉我为什么我被困在一个无限循环中吗?我找不出有什么问题。我已尝试打印出项目,以至少找出问题的来源,我认为它是在practiceBalance>0之后发生的。除此之外,我还没弄明白!谢谢 count = 0 while count<12: count +=1 if practiceBalance < 0: count = 0 elif practiceBalance > 0: count = 0 elif
count = 0
while count<12:
count +=1
if practiceBalance < 0:
count = 0
elif practiceBalance > 0:
count = 0
elif practiceBalance == 0:
break
count=0
计数为0时:
计数=0
elif practiceBalance==0:
打破
如果您打印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
您总是将
count
重置为0在if
和elif
条件下,您正在使count
等于0。因此它会无限长,但“elif”语句不会只运行一次?我想这就是它的工作原理。我以为只有“while”语句继续循环?@MeMyself:每次运行循环时都会检查所有if/elif/else语句,因为它们都在循环中。我尝试将其作为函数重写……这仍然是一项正在进行的工作,但我仍然没有得到正确的答案。尽管无限循环停止了。@MeMyself因为这个答案帮助您解决了无限循环问题,我建议您接受它(答案旁边的绿色勾号),自己好好解决其余的问题,然后带着另一个问题回到站点(如果适用,可能会引用这个问题)稍后,如果您仍然有问题-只需确保您生成了代码,并尝试了您已经尝试过的尝试。。。祝你好运