我必须创建一个代码,以找到确切的付款,到美分,需要在12个月内还清贷款使用平分。我为此创建的代码可以工作,但它超出了目标。贷款将在12个月内还清,但12次付款后,最终余额应在0左右。然而,这是一个更大的负数。在
我使用的代码是:
StartBalance = float(raw_input('Credit Balance in $: '))
AnnualRate = float(raw_input('Annual interest rate in decimals: '))
MonthlyRate = AnnualRate / 12.0
MinPaymentLow = StartBalance / 12.0
MinPaymentHigh = (StartBalance*(1+MonthlyRate)**12.0)/12.0
cent = 0.01
Payment = (MinPaymentHigh+MinPaymentLow)/2.0
while (Payment*12-StartBalance) >= cent:
for month in range(0, 12):
Balance = (StartBalance-Payment)/10*(1+MonthlyRate)
if Balance < 0:
MinPaymentLow = Payment
elif Balance > 0:
MinPaymentHigh = Payment
Payment = (MinPaymentHigh + MinPaymentLow)/ 2.0
print 'RESULT'
print 'Number of months needed: 12'
print 'Montly pay: $', round(Balance,2)
看起来像是这样的线条:
应该是:
^{pr2}$或者类似的事情,这取决于你想如何计算利息,以及你是否考虑在月初或月底付款。在
您的代码对我来说似乎运行得很好,但是如果您得到的结果“太差了”,那可能是因为您使用的是} 。此模块将小数作为索引整数值进行跟踪。在
float
数据类型。Float是不稳定的,因为它对每个操作都进行舍入。经过足够多的迭代,你已经赚了很多钱。请尝试改用^{相关问题 更多 >
编程相关推荐