Will mark brainliest if correct!
Code to be written in python
A deferred annuity is an annuity which delays its payouts. This means that the payouts do not start until after a certain duration. Notice that a deferred annuity is just a deposit at the start, followed by an annuity. Your task is to define a Higher-order Function that returns a function that takes in a given interest rate and outputs the amount of money that is left in a deferred annuity.
Define a function new_balance(principal, gap, payout, duration) that returns a single-parameter function which takes in a monthly interest rate and outputs the balance in a deferred annuity. gap is the duration in months before the first payment, payout is monthly and duration is just the total number of payouts.
Hint: Note that duration specifies the number of payouts after the deferment, and not the total duration of the deferred annuity. You are NOT ALLOWED to use string formatting and YOU SHOULD USE previous definitions of deposit and balance to answer this question!
def new_balance(principal, gap, payout, duration):
# Complete the function
return
Definitions of previous functions deposit and balance:
def deposit(principal, interest, duration):
total = principal * ((1+ interest )** duration)
return total
def balance(principal, interest, payout, duration):
for i in range(duration): #iterating for duration number of times
principal = principal*(1+interest) #compounding the principat
principal = principal-payout #subtracting payout from principal
return principal
How to run your code?
# e.g.
# test_balance = new_balance(1000, 2, 100, 2)
# result = test_balance(0.1)
Test Case:
new_balance(1000, 2, 100, 2)(0.1)
output: 1121.0