Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 12, 2017 06:09:47

EnteX
Зарегистрирован: 2017-11-24
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите проверить и исправить задачу

Пиццерия предлагает пиццу в день для бизнес-ланча. Тип пиццы дня
зависит от дня недели. Наличие пиццы в день упрощает заказы на
клиентов. Им не обязательно быть специалистами по конкретным видам пиццы. Кроме того, клиенты могут
добавьте дополнительные ингредиенты в пиццу в день. Напишите программу, которая будет формировать заказы от
клиентов.

 class Pizza:
    def getIngredients(self):
         return self.ingredients
    def getExtraIngredients(self):
        return self.extra_ingredients
    def getTotalCost(self):
         return self.cost
    def __str__(self):
         return 'Ingredients: ' + str(self.getIngredients) + '\n' + 'Extra Ingredients: ' + str(self.getExtraIngredients()) + '\n' + 'Cost: ' + str(self.getTotalCost())
# Concrete Component.
class Marinara(Pizza):
    ingredients = ['tomatoes', 'basil leaves', 'garlic', 'oregano', 'olive oil' ]
    extra_ingredients = []
    cost = 44.0
# Concrete Component.
class Margherita(Pizza):
    ingredients = ['tomatoes in juice', 'garlic', 'olive oil', 'basil leaves','mozzarella']
    extra_ingredients = []
    cost = 35.0
# Concrete Component.
class Romana(Pizza):
    ingredients = ['mozzarella', 'basil leaves', 'canned tomatoes', 'capers','anchovies in oil', 'olive oil']
    extra_ingredients = []
    cost = 55.0
# Concrete Component.
class Pslowly(Pizza):
    ingredients = ['mozzarella']
    extra_ingredients = []
    cost = 5.0
# Concrete Component.
class Pslow(Pizza):
    ingredients = ['mozzarella', 'basil leaves']
    extra_ingredients = []
    cost = 10.0
# Concrete Component.
class Pnoraml(Pizza):
    ingredients = ['mozzarella', 'basil leaves', 'canned tomatoes']
    extra_ingredients = []
    cost = 15.0
# Concrete Component.
class Pmedium(Pizza):
    ingredients = ['mozzarella', 'basil leaves', 'canned tomatoes', 'capers']
    extra_ingredients = []
    cost = 20.0
# Decorator.
class Decorator(Pizza):
    def __init__(self, pizza_component):
        self.component = pizza_component
    def getIngredients(self):
        return self.component.getIngredients
    def getExtraIngredients(self):
        return self.component.getExtraIngredients() + Pizza.getExtraIngredients(self)
    def getTotalCost(self):
        return self.component.getTotalCost() + Pizza.getTotalCost(self)
# Concrete Decorator.
class Pepper(Decorator):
    cost = 10
    extra_ingredients = ['pepper']
    def __init__(self, pizza_component):
        Decorator.__init__(self, pizza_component)
# Concrete Decorator.
class Pineapple(Decorator):
    cost = 13
    extra_ingredients = ['pineapple']
    def __init__(self, pizza_component):
        Decorator.__init__(self, pizza_component)
def dayNameFromWeekday(weekday):
    days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
    return days[weekday]
    #print("Enter number weekday: ")
    #wd = int(input("num_day = "))
    #print(dayNameFromWeekday(int(wd)))
         if wd == 1:
    margherita = Marinara()
    if wd == 2:
    margherita = Margherita()
    if wd == 3:
    margherita = Romana()
    if wd == 4:
    margherita = Pslowly()
    if wd == 5:
    margherita = Pslow()
    if wd == 6:
    margherita = Pnoraml()
    if wd == 7:
    margherita = Pmedium()
   
#margherita = Margherita()
#margherita = Pineapple(Pepper(Margherita()))
print(dayNameFromWeekday(int(wd)))
print(Pepper(Margherita))

Отредактировано EnteX (Дек. 12, 2017 08:29:42)

Офлайн

#2 Дек. 12, 2017 07:47:53

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите проверить и исправить задачу

EnteX
И ваш вопрос, разумеется, заключается в том что?…..



Офлайн

#3 Дек. 12, 2017 08:31:06

EnteX
Зарегистрирован: 2017-11-24
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите проверить и исправить задачу

FishHook
EnteXИ ваш вопрос, разумеется, заключается в том что?…..
Выдает ошибку
  File "E:/Project Python/4_2.py", line 82
    margherita = Marinara()
             ^
IndentationError: expected an indented block
В чем причина???

Отредактировано EnteX (Дек. 12, 2017 08:31:51)

Офлайн

#4 Дек. 12, 2017 10:09:13

Evgen_irk
От: Иркутск
Зарегистрирован: 2009-02-02
Сообщения: 45
Репутация: +  4  -
Профиль   Отправить e-mail  

Помогите проверить и исправить задачу

Где-то выше неправильные отступы

 def dayNameFromWeekday(weekday):
    days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
    return days[weekday]
    #print("Enter number weekday: ")
    #wd = int(input("num_day = "))
    #print(dayNameFromWeekday(int(wd)))
         if wd == 1:
    margherita = Marinara()
    if wd == 2:
    margherita = Margherita()
    if wd == 3:
    margherita = Romana()
    if wd == 4:
    margherita = Pslowly()
    if wd == 5:
    margherita = Pslow()
    if wd == 6:
    margherita = Pnoraml()
    if wd == 7:
    margherita = Pmedium()
После
 return days[weekday]
остальной код не выполняется



wxPython

Отредактировано Evgen_irk (Дек. 12, 2017 10:14:15)

Офлайн

#5 Дек. 12, 2017 11:41:13

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите проверить и исправить задачу



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version