In: Computer Science
Using Python write an application that will calculate a loan payment. To complete this, you are required to write 2 functions, LoanPayment and InterestOnlyLoanPayment, as well as a test application that calls each of the functions to get the payment amount based on parameters supplied to the functions. The test application should output both the loan payment and the interest-only loan payment based on input values from the user.
The LoanPayment function is defined as follows:
Payment = Loan amount / Discount factor
The discount factor is {[(1 + i)^n] - 1} / [i(1 + i)^n], where you have the following:
Take for example the following:
D = {[(1 + 0.005)^360] – 1} / [0.005(1 + 0.005)^360] = 166.7916, where n = 12 × 30 and i = 0.06 / 12.
Loan payment = $250,000 / 166.7916 = $1,498.88
The InterestOnlyLoanPayment is defined as follows:
Interest-only payment = Loan amount × (Annual interest rate / 12)
Take for example the following:
Interest-only payment = $250,000 × (0.06 / 12) = $1,250
The test application interaction should be something like the following:
def LoanPayment(loan_amount,n,i):
disc_factor=(((1+i)**n)-1)/(i*(1+i)**n)#The
discount factor is {[(1 + i)^n] - 1} / [i(1 + i)^n],
loan_payment=loan_amount/disc_factor
#loan_payment is calculated
return loan_payment #return loan_payment
def InterestOnlyLoanPayment(loan_amount,i):
interest_only_payment=loan_amount*i #
Interest-only payment = Loan amount × (Annual interest rate /
12)
return interest_only_payment
loan_amount=int(input("Enter loan amount: ")) #input
loan_amount
numb_of_years=int(input("Enter duration of loan: ")) # input number
of years
rate_of_interest=int(input("Enter interest rate: ")) #input rate of
interest
n=12*numb_of_years
i=rate_of_interest*0.01/12
loan_payment=LoanPayment(loan_amount,n,i)
interest_only_payment=InterestOnlyLoanPayment(loan_amount,i)
print("Principle or interest payment: ",loan_payment) #
OUTPUT LOAN_PAYMENT
print("Interest only payment: ",interest_only_payment) # OUTPUT
INTEREST ONLY PAYMENT
def LoanPayment(loan_amount,n,i):
disc_factor=(((1+i)**n)-1)/(i*(1+i)**n) #The discount factor is {[(1 + i)^n] - 1} / [i(1 + i)^n],
loan_payment=loan_amount/disc_factor #loan_payment is calculated
return loan_payment #return loan_payment
def InterestOnlyLoanPayment(loan_amount,i):
interest_only_payment=loan_amount*i # Interest-only payment = Loan amount × (Annual interest rate / 12)
return interest_only_payment
loan_amount=int(input("Enter loan amount: ")) #input loan_amount
numb_of_years=int(input("Enter duration of loan: ")) # input number of years
rate_of_interest=int(input("Enter interest rate: ")) #input rate of interest
n=12*numb_of_years
i=rate_of_interest*0.01/12
loan_payment=LoanPayment(loan_amount,n,i)
interest_only_payment=InterestOnlyLoanPayment(loan_amount,i)
print("Principle or interest payment: ",loan_payment) # OUTPUT LOAN_PAYMENT
print("Interest only payment: ",interest_only_payment) # OUTPUT INTEREST ONLY PAYMENT