Waldo - 1 year ago 84
Python Question

# What am I missing on this spyder Loan Calculator?

I´m learning Python at one of my college classes and I was asked to create a "Loan Calculator".... I might have an idea but I´m not sure how to fix an error that I´m getting

`TypeError: 'float' object is not subscriptable`

This is the announcement
The user has to enter the cost of the loan, interest rate and the number of years of the loan.
Calculate the monthly payments with the following formula:

``````M = L[i(1+i)^n]/[(1+i)^(n)-1]
Data:
M = monthly payment
L = loan amount
i = interest rate (remember that 5%, i = 0.05)
n = number of payments
``````

And this is my code:

``````# Loan Calculator
# Equation: M = L[i(1+i)^n]/[(1+i)(n)-1]

print("Loan Calculator")
L = float(input("Loan amount: "))
i = float(input("Interest rate: "))
# Remember: 5% ---> i=0.05
n = float(input("Number of payments: "))
M = (L[i*(1+i)**n]/[(1+i)**(n)-1])
# M = Monthly payment

print("Monthly payment: " + M)
``````

PS: I first thought I was missing convert "M" into a string, but after I changed to

``````print("Monthly payment: " + str(M))
``````

Needed a few changes:

``````# Loan Calculator
# Equation: M = L[i(1+i)^n]/[(1+i)(n)-1]

print("Loan Calculator")
L = float(input("Loan amount: "))
i = float(input("Interest rate: "))
# Remember: 5% ---> i=0.05
n = float(input("Number of payments: "))
M = L*(i*(1+i)**n)/((1+i)**(n)-1)
# M = Monthly payment

print("Monthly payment: " , M)
``````

Using some arbitrary values:

``````Loan Calculator
Loan amount: 1000
Interest rate: 9
Number of payments: 100
('Monthly payment: ', 9000.0)
``````
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download