So I am trying to define a class and create methods to add, remove, edit, and display from a list. This is what I have so far and I am running into the 'list' object not callable error. I am using some instruction from my class for a lot of the code from a similar project so I am not exactly sure on the pieces that return the added and edited orders. Here is what I have so far:
class Order:
amount = 0.0
orderType = ""
number = 0
def __init__(self, amount, orderType, number):
self.amount = amount
self.orderType = orderType
self.number = number
def setamount(self, amount):
self.amount = amount
def setordertype(self, orderType):
self.orderType = orderType
def setnumber(self, number):
self.number = number
def getamount(self):
return self.amount
def getordertype(self):
return self.orderType
def getnumber(self):
return self.number
def displayOrder(self):
print("******************")
print("*** Order List ***")
print("Order Number: ", self.number)
print("Order Type: ", self.orderType)
print("Order Amount: ", self.amount)
print("******************")
def displayMenu():
print("============Welcome to Pizza Palace - Class Demo============")
print("1. Display Orders.")
print("2. Add New Order.")
print("3. Remove Order.")
print("4. Edit Order.")
print("5. Save Order.")
print("9. Exit Program.")
print("")
return int(input("Selection: "))
orders = []
def addOrder(orders):
number = int(input("Enter your order number: "))
orderType = input("Enter your order type: ")
amount = float(input("Enter your order amount: "))
orders[number] = orders(number, orderType, amount)
return orders
def removeOrder(orders):
removeNumber = int(input("Which order would you like to remove? "))
if removeNumber in orders:
del orders[removeNumber]
else:
print("Order not found")
return orders
def editOrder(orders):
badOrder = int(input("Which order would you like to edit?"))
if badOrder in orders:
newNumber = int(input("Enter new order number: "))
newType = input("Enter new order type: ")
newAmount = float(input("Enter new order amount: "))
orders[badOrder] = orders(newNumber, newType, newAmount)
else:
print("Order not found")
return orders
def printOrder(orders):
if len(orders) == 0:
print("No orders")
else:
for x in orders.keys():
orders[x].displayData()
selection = displayMenu()
if selection != 9:
if selection == 1:
printOrder(orders)
elif selection == 2:
addOrder(orders)
elif selection == 3:
removeOrder(orders)
elif selection == 4:
editOrder(orders)
elif selection == 5:
saveOrder(orders)
else:
print("Invalid input")
else:
print("Exiting Program...")