(这是Python。很抱歉错过了。)
我正在尝试开发一个程序,计算给定贷款金额,期限(年数)和利率范围的每月按揭付款从3%到18%。给出的公式是:
D =((1 + r)^(n) - 1)/ r(1 + r)^ n
其中A是原始贷款金额,D是折扣,N是付款次数12,R是小数除以12的比率。我理解数学应该如何工作,但究竟是多少这全部格式化,所以我可以写一点python代码?
我会打印出类似的东西:
利率:3%。每月付款:1475.61。 利率:4%。每月付款:1670.95。 利率:5%。每月付款:1878.88。 利率:6%。每月付款:2098.43。 等等,降到18%。到目前为止我的代码(最后一行中的第二个“1”因为标识符中的无效字符而给我带来问题:
#User input is collected
print('enter your loan amount')
a1 = (int(input('amount')))
print ('enter the number of years of the loan')
n1 = (int(input('amount')))
print ('enter the interest rate in decimal format')
r1 = (float(input('rate')))
#Then do the math
n1 * 12 = n
r1 / 12 = r
((1 + r) ** (n) – 1) / r * (1 + r) ** n = D
答案 0 :(得分:1)
我想你刚开始知道programming
这个词。你永远不能做
n1*12 = n
r1/12 = r
它应该只是
n = n1 * 12
r = r1 / 12
指定的变量应始终位于左侧。
答案 1 :(得分:0)
尊重,我不确定你是否理解数学。或许我不这样做。您提供的公式甚至不包括术语“A”,因此我不明白“A是原始贷款金额”的含义,或者“折扣”应该是什么。
classic mortgage loan payment formula是:
M = P [ r(1+r)^n ] / [ (1+r)^n - 1 ]
,其中
因此,一旦您将这些值变为变量P
,r
和n
,用于计算每月抵押贷款M的Python表达式将是:
M = P * ( r * (1 + r) ** n ) / ((1 + r) ** n - 1)