Question: I just write the code and i got that output, as you can see. However, the it does not match what questions exactly requires. So,

 I just write the code and i got that output, asyou can see. However, the it does not match what questions exactlyrequires. So, how should i fix it to get the perfect.?? Below

I just write the code and i got that output, as you can see.

However, the it does not match what questions exactly requires.

So, how should i fix it to get the perfect.??

Below it the sample code.

from bank import Bank, SavingsAccount class ATM(object): """This class represents terminal-based ATM transactions.""" def __init__(self, bank): self._account = None self._bank = bank self._methods = {} # Jump table for commands self._methods["1"] = self._getBalance self._methods["2"] = self._deposit self._methods["3"] = self._withdraw self._methods["4"] = self._quit

def run(self): """Logs in users and processes their accounts.""" failureCount = 0 while True: # Prompt user to enter name accName = input("Please enter account name: ") # Prompt user to enter PIN pin = input("Please enter pin: ") # Load account # If account was not found if self._bank.get(pin)==None: # Print "Error, unrecognized PIN" print("Error, unrecognized PIN") failureCount += 1 # If account name does not match name elif self._bank.get(pin).getName() != accName: # Print "Error, unrecognized name" print("Error, unrecognized name") failureCount += 1 # If account is valid else: # Load account menu self._account = self._bank.get(pin) self._processAccount() failureCount = 0

# If an invalid entry was made three times if failureCount == 3: # Print "Shutting down and calling the cops!" and end program print("Shutting down and calling the cops!") break def _processAccount(self): """A menu-driven command processor for a user.""" while True: print("1 View your balance") print("2 Make a deposit") print("3 Make a withdrawal") print("4 Quit ") number = input("Enter a number: ") theMethod = self._methods.get(number, None) if theMethod == None: print("Unrecognized number") else: theMethod() if self._account == None: break def _getBalance(self): print("Your balance is $", self._account.getBalance()) def _deposit(self): amount = float(input("Enter the amount to deposit: ")) self._account.deposit(amount) def _withdraw(self): amount = float(input("Enter the amount to withdraw: ")) message = self._account.withdraw(amount) if message: print(message) def _quit(self): self._bank.save() self._account = None print("Have a nice day!") # Top-level functions def main(): """Instantiate an ATM and run it.""" bank = Bank("bank.dat") atm = ATM(bank) atm.run() def createBank(number): """Saves a bank with the specified number of accounts. Used during testing.""" bank = Bank() for i in range(number): bank.add(SavingsAccount('Name' + str(i + 1), str(1000 + i), 100.00)) bank.save("bank.dat")

# Creates a bank with the following names / PINS: # Name1, 1000 # Name2, 1001 # Name3, 1002 # Name4, 1003 # Name5, 1004 createBank(5) main()

def _processAccount (self) """A menu-driven command processor for a user.""" while True: print("1 View your balance") print("2 Make a deposit") print("3 Make a withdrawal") print("4 Quit ") number = input ("Enter a number: ") theMethod self._methods.get (number, None) if theMethod None: print ("Unrecognized number") else: theMethod () if self. account None: break def _getBalance (self): print ("Your balance is $", self._account.getBalance ()) def _deposit (self): amount = float (input ("Enter the amount to deposit: ")) self._account.deposit (amount) def withdraw (self): amount -float (input ("Enter the amount to withdraw: ")) messageself._account.withdraw (amount) if message: print (message) def guit (self) : self. bank.save () self. account - None print ("Have a nice day!") # Top-level functions def main): """Instantiate an ATM and run it.""" bank = Bank ("bank. dat") atm = ATM (bank) atm. run () def createBank (number): " " "Saves a bank with the specified number of accounts. Used during testing. """ bankBank() for i in range (number): bank.add (SavingsAccount ('Name str(i + 1), str (1000 + i), 100.00)) bank.save ("bank.dat")

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!