Arizona State University Grading Criteria & Series of Classes Lab Report
Question Description
In this lab; you will start with a template script (linked below) andcreate a series of classes to satisfy the lab prompt. There is only onepart to this lab; for details on grading criteria, see the rubric atthe bottom of this page.
NOTE: While I encourage you to use the sample outputas a guide; keep in mind that the starting values used for grading maydiffer than those in the template. Your solution should be flexibleenough to handle any reasonable starting balances and transactionamounts.
Bank Accounts (100 points)
- Define an Account class
- Define protected class variables to store the following
- Account holders name as string
- balance as float
- transaction counter as integer
- Define the following methods
- A constructor (__init__) that accepts the following values and populates appropriate class variables
- account holders name
- starting balance
- deposit(float)
- accepts a floating-point number and adds it to the balance
- increments the transaction counter
- returns the current balance
- withdraw(float)
- If the balance of the account is sufficient to withdraw funds;subtract amount from balance and return the new balance, increment thetransaction counter
- If the balance in the account is insufficient, do not subtract theamount and return False, do not increment the transaction counter
- overload len()
- When an Account object is used as an argument to len(), return the transaction count
- overload str()
- When an Account object is passed to str(), return the account holders name
- overload the equivalence operator
- When your Account class is used with an equivalence operator “==”compare the balance in both accounts and return True if they are equal,False if they are not equal
- A constructor (__init__) that accepts the following values and populates appropriate class variables
- Define a CreditAccount class that inherits from Account
- Add the following private class variable
- limit
- rate
- Override the constructor to only accept an account name
- the starting balance of CreditAccount should always be 0
- Set the limit to 1000.00 and the rate to 1.24
- Override the deposit method
- Accept a float as a single argument
- Subtract the amount from balance and return the new balance
- If subtracting the amount results in a negative number; set the balance to 0.0
- do not increment the transaction counter
- return the new balance
- Override the withdraw function
- Accept a float as a single argument
- If the current account balance plus this new amount is less than limit
- multiply the amount by the rate and add the result to balance
- increment the transaction counter
- return the new balance
- If the balance plus this new amount is equal to or greater than limit
- return False
- do not increment the transaction counter
- Add the following private class variable
- Define a SavingsAccount
- Override the Deposit function
- On every deposit, multiply the amount by 1.05 before adding it to balance
- increment the transaction counter by 1
- return the new balance
- define a function called accrue
- does not take any arguments from the caller
- multiplies the balance by 1.05
- does not increment the transaction counter
- returns the new balance
- Override the Deposit function
- Define protected class variables to store the following
Submission
After making your modifications to the template file, rename the filein the format; “lab07-ASURITE.py” where ASURITE is your user name.Attach your py file and submit your lab before the due date.
"Place your order now for a similar assignment and have exceptional work written by our team of experts, guaranteeing you "A" results."