Please asnwer the below queation for IDLE Python.   Your task is to create a BankAccount class.    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.

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Please asnwer the below queation for IDLE Python.

 

Your task is to create a BankAccount class. 

 

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.

Focus on classes, objects, methods and good programming style
Your task is to create a BankAccount class.
Class name
BankAccount
Attributes
balance
float
_pin
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.
Transcribed Image Text:Focus on classes, objects, methods and good programming style Your task is to create a BankAccount class. Class name BankAccount Attributes balance float _pin 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.
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
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
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
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.
Transcribed Image Text: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 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 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 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 2 steps with 1 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY