我試圖找出如何使用平分搜索來查找:平分搜索使用不同高低
作出明確貸款金額每月支付
- 月利率=(年利率)/12
- 每月付款下界=平衡/ 12
- 每月付款上限=(餘額×(1 +每月利率)12)/ 12
目前我有:
balance = 6758
annualInterestRate = 0.20
monthlyRate = annualInterestRate/12
numGuesses = 0
lo = balance/12
hi = (balance)*((1+monthlyRate)**12)/12
monthPay = (hi + lo)/2.0
NuBalance = balance
while abs((NuBalance)*(1+monthlyRate))-(monthPay) >= 0.01:
print('low = ' + str(lo) + ' high = ' + str(hi) + ' MonthPay = ' + str(monthPay))
numGuesses += 1
if ((NuBalance)*(1+monthlyRate))-(monthPay) <= 0.01:
print('Month Pay LO = ' + str(monthPay))
lo = monthPay
else:
print('Month Pay HI = ' + str(monthPay))
hi = monthPay
monthPay = (hi + lo)/2.0
print('numGuesses = ' + str(numGuesses))
print('Month Pay = ' + str(monthPay))
我要去哪裏錯了,將不勝感激任何幫助。
什麼不起作用? – 2012-10-11 10:16:32
它並沒有正確地計算出搜索結果,它使用hi來平分和減少它自己,有時它應該使用lo來對分使用正確的一半。 –