Я пытаюсь сделать следующий проект:Confused о AttributeError в Python
Представьте, что вы запустили небольшой ресторан и пытаюсь сделать его проще взять и рассчитать заказы. Так как ваш ресторан продает только 9 разных предметов, вы назначаете каждому номер, как показано ниже.
Chicken Strips - $3.50
French Fries - $2.50
Hamburger - $4.00
Hotdog - $3.50
Large Drink - $1.75
Medium Drink - $1.50
Milk Shake - $2.25
Salad - $3.75
Small Drink - $1.25
Чтобы быстро принимать заказы, ваша программа должна позволять пользователю вводить в строку чисел, а затем он должен рассчитать стоимость заказа. Например, если заказать один большой напиток, два маленьких напитка, два гамбургера, один хот-дог и салат, пользователь должен ввести 5993348, а программа должна сказать, что она стоит 19,50 долларов. Кроме того, убедитесь, что программа петли, поэтому пользователь может принимать несколько заказов без необходимости перезапуска программы каждый раз.
Мой код выглядит следующим образом до сих пор:
print "------------------Menu-------------------"
class Menu_Item():
def __init__(self, num,item,price):
self.num = num
self.item = item
self.price = price
def __repr__(self):
return "\n" + str(self.num) + ". " + self.item + " - $" + str(self.price) + ' dollars'
Strips = Menu_Item(1,'Chicken Strips', 3.50)
Fries = Menu_Item(2,"Fries",2.50)
Burger = Menu_Item(3,"Burger",4.00)
Hotdog = Menu_Item(4,"Hotdog",3.50)
Large_Drink = Menu_Item(5,"Large Drink",1.75)
Medium_Drink = Menu_Item(6,"Medium Drink", 1.50)
Milkshake = Menu_Item(7,"Milkshake", 2.25)
Salad = Menu_Item(8,"Salad", 3.75)
Small_Drink = Menu_Item(9,"Small Drink", 1.25)
Class_Items = [Strips,Fries,Burger,Hotdog,Large_Drink,Medium_Drink,Milkshake,Salad,Small_Drink]
print Class_Items
def take_order():
count = 0
string = raw_input("Enter your order")
order = []
for a in string:
order.append(a)
for food in Class_Items:
for b in order:
if b == Menu_Item.num:
count = count + Menu_Item.price
return count
else:
print "-"
take_order()
Я получаю следующее сообщение об ошибке. Я пробовал много способов сделать эту работу, и я не могу понять, почему компилятор не распознает атрибут num. Любые предложения относительно того, почему это происходит? Благодаря!
Traceback (most recent call last):
File "python", line 43, in <module>
File "python", line 37, in take_order
AttributeError: class Menu_Item has no attribute 'num'
Очень полезно! Спасибо – brianhalperin
@brianhalperin, если вы перевернули и нажали галочку, я бы получил репутацию для ответа. Репутация очень ценная. –