这是我计算信用卡余额的程序。它似乎运行不一致,因为某些值导致它在无限循环中运行,而使用其他值时代码运行正常。我认为我使用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)))
答案 0 :(得分:4)
while newbalance > 0:
monthlyPayment += .1
newbalance = balance
这是你的问题。只要balance
大于0,newbalance
将始终重置为balance
,而while循环将评估为true,并将导致无限循环。
答案 1 :(得分:0)
您必须使while
的测试条件成为False
。由于它是newbalance > 0
,它最终应该从for
循环中以正值出现。