我的代码给出了正确的结果,除了balance=3926。最低付款:370,而应该是360。程序应打印给定年利率的最低月供。给定初始余额,代码应在年底计算余额。我们正试着每月付10美元的初始余额。如果年底还有余额,我们会编写代码,将余额重置为初始余额,将付款增加10美元,然后重试(使用相同的代码!)计算年底的余额,看看这个新的支付值是否足够大
annualInterestRate = 0.2
balance = 3926
monthlyinterestrate = annualInterestRate/12.0
remainingBalance = balance
month = 1
total = 0
payment = 10
def CheckMinimumPayment(payment,balance):
"Checking if payment is in correct balance"
while(payment*12 < balance):
payment += 10
return payment
payment = CheckMinimumPayment(payment,balance)
while(month <= 12):
remainingBalance = remainingBalance - payment + (annualInterestRate / 12.0) * (remainingBalance - payment)
month += 1
total += payment
payment = CheckMinimumPayment(payment,total+remainingBalance)
print("Lowest Payment: " + str(payment))
问题是,每次尝试新的支付时,您不会重复利息循环(您所拥有的
while(month <= 12)
)。把这个循环写进一个函数中,每次你尝试新的支付时都会调用它。总的欠款余额取决于还款情况,因为每月的大额还款意味着每月增加的利息减少。我用的是:相关问题 更多 >
编程相关推荐