• add_food() takes 2 positional arguments but 3 were

 

Code:

class AbstractCook:
    pass
class JapaneseCook:
    def add_food(food_amount, food_price):
        return food_amount*food_price
    def add_drink(drink_amount, drink_price):
        return drink_amount*drink_price
    def total():
        return "Sushi: " + add_food() + ", Tea" + add_drink() + ", Total: " + add_food(food_amount, food_price)
    pass
class RussianCook:
    pass
class ItalianCook:
    pass

if name == 'main': #These "asserts" using only for self-checking and not necessary for auto-testing

client_1 = JapaneseCook()
client_1.add_food(2, 30)   # this is line 21

Error message:

TypeError: add_food() takes 2 positional arguments but 3 were given <module>, 21

I don't understand this error message. there are 2 arguments, if I delete them it says

TypeError: add_food() takes 0 positional arguments but 3 were given

Where does the environment count 3 arguments?

.