具有较大值的无限循环

时间:2016-09-27 00:16:53

标签: python python-3.x infinite-loop

这是我计算信用卡余额的程序。它似乎运行不一致,因为某些值导致它在无限循环中运行,而使用其他值时代码运行正常。我认为我使用for循环的方式一定有问题。

monthlyPayment = 0

monthlyInterestRate = annualInterestRate /12
newbalance = balance
month = 0

while newbalance > 0:
    monthlyPayment += .1
    newbalance = balance

    for month in range(1,13):
        newbalance -= monthlyPayment
        newbalance += monthlyInterestRate * newbalance
        month += 1
print("Lowest Payment:" + str(round(monthlyPayment,2)))

2 个答案:

答案 0 :(得分:4)

while newbalance > 0:
    monthlyPayment += .1
    newbalance = balance

这是你的问题。只要balance大于0,newbalance将始终重置为balance,而while循环将评估为true,并将导致无限循环。

答案 1 :(得分:0)

您必须使while的测试条件成为False。由于它是newbalance > 0,它最终应该从for循环中以正值出现。