我想我是在目标,但为什么有一个无效的标识符字符?

时间:2013-11-30 04:40:26

标签: python identifier

(这是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

2 个答案:

答案 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 是付款次数

因此,一旦您将这些值变为变量Prn,用于计算每月抵押贷款M的Python表达式将是:

M = P * ( r * (1 + r) ** n ) / ((1 + r) ** n - 1)