Focus on classes, objects, methods and good programming style 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_() 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() 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.

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter11: Inheritance And Composition
Section: Chapter Questions
Problem 6PE
icon
Related questions
Question

Focus on classes, objects, methods and good programming style
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_()


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() 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.

 

 

 

 

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 9 images

Blurred answer
Knowledge Booster
Data members
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,