Question: IS280: Python Programming TimeVaueOfMoney 2024 This program will calculate several financial operations: the future value (FV) of an amount (or amounts) deposited today and the

IS280: Python Programming\ TimeVaueOfMoney 2024\ This program will calculate several financial operations: the future value (FV) of an amount (or amounts) deposited today and the present value (PV) of an amount to be received in the future. The Future Value operation will look at both a single amount deposited or an ongoing (monthly) amount being deposited. In each case you will need to specify an amount, an annual interest rate, and a period of time or term - over which the operation continues (which will be specified in months).\ \ The Present Value of an amount to be received in the future asks the question: what would I take today instead of waiting x months to receive a lump sum of y. The answer depends on the time value of money in other words, what could be deposited today and earn interest so that in x months you would have the amount y that would be received in the future. The financial formula for Present Value is:\ PresentValue = AmountInFuture / ((1 + Interest Rate) ^ Term)\ Note that the above formula uses the standard ^ character to represent exponentiation, but that is not that actual operator you will use in Python. Also since we will consider Term to be a certain number of months, the Interest Rate which will be entered as an annual rate -- ust be converted to a monthly rate before being used in the formula.\ \ The Future Value of an amount will be calculated using two different options: a) the amount is a one-time deposit earning interest over the term or b) the amount is a monthly deposit so that the principal grows by the deposit amount at the same time prior balances are earning interest (this can also be called an Annuity).\ \ a) Future Value of a single deposit represents a compound interest calculation, and the formula is:\ FutureValue = Deposit * (1 + Interest Rate ) ^ Term\ \ Term will still be in months, so rate must be a monthly rate (note the direct relationship to the PresentValue formula above)\ \ b) Future Value of an annuity, also has a direct formula, however, we will use a loop to build the future value by processing each month of the term. So that process will be:\ InterestEarned = (BeginningValue + Deposit) * Interest Rate\ Value at End of Month = ValueAtBeginning + Deposit + InterestEarned \ \ You are to develop the program in Python using the basic processing techniques we saw in the first assignment:\ a) Use a command line interface\ b) Use separate functions to obtain user input and provide data validation and error trapping (so the user cannot crash the program with bad data)\ c) Include a loop in the main process so that the user may run any number of scenarios of any financial operation\ \ In this program we will continue to use a main() method which controls the operation of the program rather than having all the code at the left side of the source file. We will also use variables of the float data type, introduce the for loop structure, and we will use the locale package to permit formatting of currency amounts. Finally, we will show an alternative formatting construct in the print command to permit formatting of percentages.\ \ \ \ \ A sample run of the completed program will look as follows:\ \ \ \ \ Part A:\ Code the program according to the overall structure outlined in the lectures and complete the FV of an Annuity operation. \ \ Part B:\ Complete the PV and FV calculations and any data input and validation items not finished in the part A lecture. \ \ And: In the Part A lecture we will build two different functions for obtaining the needed values: one that returns a float (to be used for the amount and the rate values) and a separate one to return the integer value for term. However, because python is not a strongly typed language, a specific return type is not required for these get methods. It is therefore fairly easy to write a single get method instead of two. Write such a single get method that can return amount, rate, or term, but note that the term must still be validated as a positive integer value and any error messages created must be updated to reflect that.\ \ \ So a sample run might now look as follows:

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!