TypeError: add() missing 2 required positional arguments - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: TypeError: add() missing 2 required positional arguments (/thread-27162.html) |
TypeError: add() missing 2 required positional arguments - NectDz - May-28-2020 Hello,I am new to parameters and I am having difficulties understanding my code does not work. # Tables Table_A = 0 Table_B = 0 Table_C = 0 # Seats remaining seat_A = 4 seat_B = 6 seat_C = 2 def add(user_In,Table,Seat): for i in range(user_In): Table += 1 Seat -= 1 return(Table) def sit(): global Table_A, Table_B, Table_C, seat_A, seat_B, seat_C while True: time.sleep(1) # Showing Tabls print("\nShowing Tables\n") time.sleep(1) # Table A print("Table - A has -", (Table_A), "- people / -", (seat_A), "- seats remaining") # Table B print("Table - B has -", (Table_B), "- people / -", (seat_B), "- seats remaining") # Table C print("Table - C has -", (Table_C), "- people / -", (seat_C), "- seats remaining\n") time.sleep(1) # User Input user_In = input ("Which table would you like to choose: ") user_In = user_In.upper() if user_In == "A": Table = Table_A Seat = seat_A time.sleep(1) user_In = int(input("How many people are sitting? Max -" + str(Seat) + ": ")) # Table A Returned print("\nTable - A has - " , add(user_In), "- in it") RE: TypeError: add() missing 2 required positional arguments - GOTO10 - May-28-2020 You have defined your add() function to expect 3 arguments (user_In, Table, Seat), but you are calling it with only a single argument in line 42. RE: TypeError: add() missing 2 required positional arguments - NectDz - May-28-2020 (May-28-2020, 12:33 PM)GOTO10 Wrote: You have defined your add() function to expect 3 arguments (user_In, Table, Seat), but you are calling it with only a single argument in line 42.Thank you! That makes sense! RE: TypeError: add() missing 2 required positional arguments - menator01 - May-28-2020 I don't know the scope of your program but, just wanted to point out that these are already global variables. Not really any need to define them global in your functions. myvar = 15 def test(): print(myvar) test()
RE: TypeError: add() missing 2 required positional arguments - NectDz - May-28-2020 (May-28-2020, 12:54 PM)menator01 Wrote: I don't know the scope of your program but, just wanted to point out that these are already global variables. Not really any need to define them global in your functions.You are right there is no need for the global variables! Previously I would get an error that said something like "local variable not called" but I guess for this I do not need it, thanks for the advice. RE: TypeError: add() missing 2 required positional arguments - BitPythoner - May-28-2020 Look at your last chunk of code: print("\nTable - A has - " , add(user_In), "- in it") when you call add(user_In) you only enter 1 parameter, when you are supposed to enter 3. you could alter the function to receive to default to a certain value. for example when defining the function, def add(value = deafult) instead of def add(value) |