Creates a mortgage object using the entered values

Assignment Help Python Programming
Reference no: EM132909984

ITECH1400 Fundamentals of Programming - Federation University

ASSIGNMENT - MORTGAGE CALCULATOR

Overview
In this assignment you will have the opportunity to test your Python skills in developing classes and using matplotlib library. Throughout the assignment you are expected to apply the principles of problem solving that we have already discussed in this course.

Learning Outcomes Assessed

Knowledge:
K1. Identify and use the correct syntax of a common programming language.
K2. Recall and use typical programming constructs to design and implement simple software solutions.
K3. Reproduce and adapt commonly used basic algorithms. K4. Explain the importance of programming style concepts (documentation, mnemonic names, indentation).

Skills:
S2. Write and implement a solution algorithm using basic programming constructs.
S3. Demonstrate debugging and testing skills whilst writing code.

Application of knowledge and skills:
A1. Develop self-reliance and judgement in adapting algorithms to diverse contexts.
A2. Design and write program solutions to identified problems using accepted design constructs.

ASSESSMENT DETAILS

Introduction. Your assignment is to write a Python program that takes inputs for the Loan Amount, Loan Term and Interest Rate and then calculates and displays values of Weekly (Fortnightly, Monthly) Repayments. Also, the program plots the values of Remaining Principal by years.

Explained below is how to calculate these values:
First, let's assume the following notations (in your program, you will input these values from the command line):
L - loan amount in AUD. Y - loan term in years. p - interest rate.
k - repayment frequency in days (i.e. weekly - 7 days, fortnightly - 14 days, monthly - 30 days).
Repayments, P0, are calculated by the following formula:

P0 =L.(1+p/365)365.y.(1+p/365)k -1/(1+p/365)365.Y -1

Remaining Principal Balance, Bn, at the end of year n is calculated by the formula:

Bn =L.(1+p/365)365.n -P0.(1+p/365)365.n -1/(1+p/365)k -1

1. Develop a Mortgage class.

The class should have the following attributes (instance variables):
loan - for the loan amount in AUD. years - loan term in years. interest - interest rate.
r_frequency - repayment frequency in days.
These attributes should be defined in the constructor, __init_. Also, the class should define the following methods:

repayments(self) - calculates the value of repayments using the formula provided in the introduction (for P0) and returns the calculated value.

balance_after(self,n) - calculates the remaining balance (debt) after n years using the formula provided in the introduction (for Bn) and returns the calculated value.

print(self) - prints information about the mortgage on screen, i.e.: loan amount, loan term, interest and repayments. The output of this method should be similar to the following:

Loan Amount: 100000.0 AUD Loan Term (Years): 20 Interest: 4.8%
Fortnightly Repayments: 298.61

draw_balance_graph(self) - using the matplotlib library, the method plots a graph of the Remaining Balances by years using balance_after method. The output of this method should be similar to the following:

Task 2. Write main() function.

This should be your main program that:

1. Prompts and takes inputs for the loan amount, loan term, interest rate and repayment frequency.
2. Creates a Mortgage object using the entered values.
3. Using the Mortgage object's methods, prints the mortgage information on screen and plots the mortgage balances by years.

You are required to use exception handling to make your inputs robust (foolproof) i.e. if the user will enter a wrong value, the program won't crash, but instead it will prompt the user to enter a correct value.

Attachment:- Mortgage_Calculator.rar

Reference no: EM132909984

Questions Cloud

What is the identity of the organization : What is the identity of the organization? How much will the program or project cost during the grant time period? How much is being requested from the funder?
Identify employer rights and employee rights : 1. Identify three employer rights and three employee rights and an example of policies and procedures that apply to each right.
How are your emotions impacting your decision-making : How are your emotions impacting your decision-making? Provide specific examples of how your emotions triggered you to make a mistake or to make a good decision?
How can enhancing creativity help with stress mitigation : How can enhancing creativity help with stress mitigation? Extend the relationships between stress mitigation and creativity development practices.
Creates a mortgage object using the entered values : Creates a Mortgage object using the entered values and Identify and use the correct syntax of a common programming language
Prepare all necessary journal entries : Question - On Jan 1, 2021, Epistemology Inc. granted 500,000 options to its executive team. Prepare ALL necessary journal entries
How a constitutional case is decided by the supreme court : How a constitutional case is decided by the Supreme Court. Include how the Supreme Court accepts a case, how the day of oral arguments progresses
What economists mean by the economic problem : A description of what economists mean by the 'economic problem'. In relation to the private organisation APPLE with examples
What is the project IRR and NPV : Question - Los Angeles Lumber Company is considering a project with a cost of $1,000 initially, What is the project IRR and NPV

Reviews

len2909984

6/7/2021 11:18:41 PM

Please do it carefully follow each and every instruction Very Strictly follow marking Criteria

Write a Review

Python Programming Questions & Answers

  The program is to print the time

The program is to print the time in seconds that the iterative version takes, the time in seconds that the recursive version takes, and the difference between the times.

  Organise and present a data analysis report

Develop creative approaches to solving the wrangling/analysis problems - Apply relevant Python programming concepts to a data analysis challenge

  Build the classification model

Build the Classification model - Justified the use of algorithm and data set and approve the dataset

  Exploration of online social networking

This assignment will allow you to do a more open-ended exploration of online social networking. The goal is to let you use some of the tools we've learned in class on your own

  Program to convert mile-to-kilometers or kilometers-to-mile

Write program that prompts the user to select either Miles-to-Kilometers or Kilometers-to-Miles, then asks the user to enter the distance they wish to convert.

  Describe the values they store and adhere to python

How to write in an include pseudocode that describes all steps required to solve the problem, and employ variable names.

  Construct a python function named finder that takes two

Construct a Python function named finder that takes two string parameters, needle and haystack. Your function should find the first.

  What is a python development framework

Give 3 examples python development framework used today. and explain which development framework is used in which industry.

  Design a python program that prompts the user to enter

Design a PYTHON program that prompts the user to enter a number and then you will build a multiplication table of that size.

  Display positions of the first occurrence of common letters

Write program named common Letter.py that prompts user to enter two words, and display the positions of the first occurrence of common letter in both words.

  ITECH1400 Fundamentals of Programming Assignment

ITECH1400 Fundamentals of Programming Assignment Help and Solution, Federation University - Assessment Writing Service

  Display the stored five movie names on the python console

Task I: Retrieving, Formatting and Displaying Data. Display the stored five movie names on the Python console in a format of choice

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd