
Focus on classes, objects, methods and good
Your task is to create a BankAccount class using Python and Write an overall header comment for every function - use the IPO notation.
Class name | BankAccount |
Attributes |
__balance float float __pin integer integer |
Methods |
__init_()
|
The bank account will be protected by a 4-digit pin number (i.e. between 1000 and 9999). The pin should be generated randomly when the account object is created. The initial balance should be 0.
get_pin()should return the pin.
check_pin(pin) should check the argument against the saved pin and return True if it matches, False if it does not.
deposit(amount) should receive the amount as the argument, add the amount to the account and return the new balance.
withraw(amount) should check if the amount can be withdrawn (not more than is in the account), If so, remove the argument amount from the account and return the new balance if
the transaction was successful. Return False if it was not.
get_balance() should return the current balance.
Finally, write a main() to demo your bank account class. Present a menu offering a few actions and perform the action the user requests, checking the pin where appropriate.
1. New Account – if selected, create a new account and tell the user the pin.
2. Deposit – if selected, prompt the user to input the pin, check the pin and then, if correct, prompt for the amount to deposit. Process the deposit and report the new balance.
3. Withdraw – if selected, prompt the user to input the pin, check the pin and then, if correct, prompt for the amount to withdraw. Process the withdrawal and report the new balance or a
message if the transaction was not successful.
4. Check balance – if selected, prompt the user to input the pin, check the pin and then, if correct, call the get_balance method and report the balance.
All printed output should be done in main(), not the methods.
Sample run
Choose: (N) New account, (D) Deposit, (W) Withdraw, (C) Check balance (S)Stop
>n
You have a new bank account with PIN 4863 and balance $0.00
Choose: (N) New account, (D) Deposit, (W) Withdraw, (C) Check balance (S) Stop
>d
Enter PIN: 4865
Bad PIN. Transaction canceled.
Choose: (N) New account, (D) Deposit, (W) Withdraw, (C) Check Balance (S) Stop
>d
Enter PIN: 4863
Depositing
Amount to deposit:54
New balance $54.00
Choose: (N) New account, (D) Deposit, (W) Withdraw, (C) Check Balance (S) Stop
>w
Enter PIN: 4863
Withdrawing
Amount to withdraw: 176
Cannot withdraw that amount.
Choose: (N) New account, (D) Deposit, (W) Withdraw, (C) Check Balance (S) Stop
>w
Enter PIN: 4863
Withdrawing
Amount to withdraw: 17
New balance $37.00
Choose: (N) New account, (D) Deposit, (W) Withdraw, (C) Check Balance (S) Stop
>c
Enter PIN: 4863
Balance $37.00
Choose: (N) New account, (D) Deposit, (W) Withdraw, (C) Check Balance (S) Stop
>s
Thank you for banking with CSIT 512. Come back again.

Trending nowThis is a popular solution!
Step by stepSolved in 4 steps with 9 images

- C++arrow_forwardarrow_back Starting Out With Visual C# (5th Edition) 5th Edition Chapter 11, Problem 1PP arrow_back_ios PREVIOUS NEXT arrow_forward_ios Question share_out_linedSHARE SOLUTION Chapter 11, Problem 1PP Program Plan Intro Employee and ProductionWorker Classes Program plan: Design the form: Place a three text boxes control on the form, and change its name and properties to get the employee name, number, and hourly pay rate from the user. Place a four label boxes control on the form, and change its name and properties. Place a two radio buttons control on the form, and change its name and properties. Place a one group box control on the form, and change its name and properties. Place a command button on the form, and change its name and properties to retrieve the object properties and then display the values into label box. In code window, write the code: Program.cs: Include the required libraries. Define the namespace “Program11_1”. Define a class “Program”. Define a constructor for the…arrow_forwardI need help with this PLEASE NO JAVA NO C++ ONLY PYTHON PLZ Create a class object with the following attributes and actions: Class Name Class number Classroom Semester Level Subject Actions: Store a class list Print the class list as follows: Class name Class Number Semester Level Subject Test your object: Ask the user for all the information and to enter at least 3 classes test using all the actions of the object print using the to string action Describe the numbers and text you print. Do not just print numbers or strings to the screen explain what each number represents.arrow_forward
- Using C# language: Programming PLO-2 Measured: Design, implement, and evaluate computer solutions utilizing structured and object-oriented programming methodologies. Design a class named Contractor. The class should keep the following information: Contractor name Contractor number Contractor start date Write one or more constructors and the appropriate accessor and mutator functions for the class.arrow_forwardINVENTORY CLASS You need to create an Inventory class containing the private data fields, as well as the methods for the Inventory class (object). Be sure your Inventory class defines the private data fields, at least one constructor, accessor and mutator methods, method overloading (to handle the data coming into the Inventory class as either a String and/or int/float), as well as all of the methods (methods to calculate) to manipulate the Inventory class (object). The data fields in the Inventory class include the inventory product number (int), inventory product description (String), inventory product price (float), inventory quantity on hand (int), inventory quantity on order (int), and inventory quantity sold (int). The Inventory class (java file) should also contain all of the static data fields, as well as static methods to handle the logic in counting all of the objects processed (counter), as well as totals (accumulators) for the total product inventory and the total product…arrow_forwardFocus on classes, objects, methods and good programming styleYour task is to create a BankAccount class. Class name BankAccount Attributes __balance float float __pin integer integer Methods __init_()get_pin()check_pin()deposit()withdraw()get_balance() The bank account will be protected by a 4-digit pin number (i.e. between 1000 and 9999). The pin should be generated randomly when the account object is created. The initial balance should be 0.get_pin()should return the pin.check_pin(pin) should check the argument against the saved pin and return True if it matches, False if it does not.deposit(amount) should receive the amount as the argument, add the amount to the account and return the new balance.withraw(amount) should check if the amount can be withdrawn (not more than is in the account), If so, remove the argument amount from the account and return the new balance if the transaction was successful. Return False if it was not.get_balance()…arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education





