Crédito Hipotecario
La cuota mensual \(m\) que se debe pagar en un crédito hipotecario por un capital inicial \(h\) a un plazo de \(n\) años, utilizando un interés compuesto de \(i\%\) anual está dada por:
\[\begin{equation}
m = \dfrac{h\,r}{1-(1+r)^{-12n}},
\end{equation}\]
donde
\[\begin{equation}
r = \dfrac{i}{100\cdot 12}
\end{equation}\]
- Escriba la función
cuota_mensual
que calcula la cuota mensual para un capital inicial, un plazo y una tasa de interés dados, redondeado a \(2\) decimales. Ej: para \(\$50.000.000\), \(15\) años y \(4,75\%\), debe entregar \(\$388.915,96\) (todo como números, sin \(\$\) ni \(\%\)). - Escriba la función
monto_total
que calcula el monto total que se pagará en el total en el crédito. Para el ejemplo sería: \(\$70.004.872,8\) - Escriba la función
intereses_pagados
que calcula el monto total por intereses que se pagará en todo el crédito. Para el ejemplo sería: \(\$20.004.872,8\) - Escriba la función
porcentaje_intereses
que calcula el porcentaje del capital inicial que se pagará en intereses en todo el crédito. Para el ejemplo sería: \(40,01\%\) - Escriba un programa que para un capital inicial y una tasa de interés dados, muestre los valores de cuota mensual, monto total a pagar y porcentaje que se pagará en intereses, para un rango de plazos (años). Por ejemplo de \(10\) a \(25\):
10 524238.72 62908646.4 25.82 11 487057.28 64291560.96 28.58 12 456199.58 65692739.52 31.39 ... 25 285058.68 85517604.0 71.04
Solución
def cuota(h, n, i):
r = i / (1200)
m = h * r / (1 - (1 + r)**(-12 * n))
return round(m, 2)
def monto_total(h, n, i):
return round(n * 12 * cuota(h, n, i), 2)
def intereses_pagados(h, n, i):
return round(monto_total(h,n,i) - h, 2)
def porcentaje_intereses(h,n,i):
return round(100 * intereses_pagados(h,n,i) / h, 2)
# Datos
h = 50000000
n = 15
i = 4.75
# Preguntas 1-4
print(cuota(h,n,i))
print(monto_total(h,n,i))
print(intereses_pagados(h,n,i))
print(porcentaje_intereses(h,n,i))
# Pregunta 5
n = 10
while n <= 25:
print(n, cuota(h,n,i), monto_total(h,n,i), porcentaje_intereses(h,n,i))
n += 1