[英]Mortage Interest Rate Calculator Returning Ridiculous Values
該代碼返回的抵押貸款支付的價值極低。
我期望有大約18,000(假設沒有稅,沒有保險等),那么要獲得該數字我需要更改什么值? 他們的編碼方式有問題嗎? 是的,我做了Google。 只是在下午的一些項目中恢復編碼。 謝謝!
p = float(input("What is your mortgage principal?"))
r = float(input("What's your interest rate?"))
t = int(input("How long is your mortage gonna last?"))
n = 12
finalresult = p * (1 + (r/t))**(n * t)
print("This is how much you will be paying over one year!", finalresult)
樣本輸入/輸出:
What is your mortgage principle?300000
What's your interest rate?3.5
How long is your mortage gonna last?15
This is how much you will be paying over one year! 7.44056195468128e+21
Process finished with exit code 0
您提供的利率是一個百分比,需要除以100才能產生數學上有用的值。 如果輸入0.035
則會得到456365.140385318
的合理數字。 如果您希望用戶提供百分比(合理的百分比),請對其進行除法,其余的數學公式將得出:
r = float(input("What's your interest rate (as a percentage, e.g. 3.5)?")) / 100
如評論中所述, finalresult
的計算應使用r/n
而不是r/t
; 您是在一年中的幾個月內分配利率,而不是在抵押年限內分配。 對於15年期的抵押貸款,該錯誤不像按100倍利率發行的問題那樣明顯,但它仍然是相當重大的(對於您的示例案例,它低估了總付款額50,000美元)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.