Note that there are some explanatory texts on larger screens.

plurals
  1. POWhy is my class method getting a 2 non-keyword positional keyword arguements TypeError?
    primarykey
    data
    text
    <p>I'm a beginner programmer who is writing a program that simulates a bank that keeps track of various bank accounts (I have no idea what I'm doing, just putting that out there.) to practice my newly-acquired object oriented programming knowledge. When I run my program, the part of my Manager class that creates accounts and stores them in a list gets an error. I'll post the entire source code below, along with the error. Feel free to correct anything else that you think is off, I'm always looking for ways to improve my code.</p> <pre><code># Virtual Bank # 3/21/13 # Account Manager Class class AccountManager(object): """Manages and handles accounts for user access""" # Initial def __init__(self): self.accounts = [] # create account def create_account(self, ID, bal = 0): # Check for uniqueness? Possible method/exception??? &lt;- Fix this account = Account(ID, bal) self.accounts.append(account) def get_account(self, ID): for account in self.accounts: if account.ID == ID: return account else: return "That is not a valid account. Sending you back to Menu()" Menu() class Account(object): """An interactive bank account.""" wallet = 0 # Initial def __init__(self, ID, bal): print("A new account has been created!") self.id = ID self.bal = bal def __str__(self): return "|Account Info| \nAccount ID: " + self.id + "\nAccount balance: $" + self.bal # Main AccManager = AccountManager def Menu(): print( """ 0 - Leave the Virtual Bank 1 - Open a new account 2 - Get info on an account 3 - Withdraw money 4 - Deposit money 5 - Transfer money from one account to another 6 - Get exchange rates(Euro, Franc, Pounds, Yuan, Yen) """ ) # Add more if necessary choice = input("What would you like to do?: ") while choice != "0": if choice == "1": id_choice = input("What would you like your account to be named?: ") bal_choice = float(input("How much money would you like to deposit?(USD): ")) AccManager.create_account(ID = id_choice,bal = bal_choice) Menu() Menu() </code></pre> <p>This is the error. I get the error after AccManager's create_account method instantiates a new account. </p> <pre><code>TypeError: create_account() takes at least 2 non-keyword positional arguments (0 given) </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload