Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 94 additions & 0 deletions Pizzeria_oop
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
class Pizza:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В целом по программе: необходимо разобраться в пустыми строками. Как правильно, Style Guide для Python находится в официальном документе PEP8 - в нем подробно описано, как нужно писать читабельный код: https://www.python.org/dev/peps/pep-0008

Так вот касательно пустых строк в нем написано так:

Surround top-level function and class definitions with two blank lines.
Method definitions inside a class are surrounded by a single blank line.
Extra blank lines may be used (sparingly) to separate groups of related functions.

То есть классы отделяются друг от друга двумя пустыми строками, функции - одной, внутри самих функций тоже возможны пустые строки, если нужно выделить какие-то логические части.

Руководствуясь этими принципами, поправьте пустые строки в вашей программе.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed. Честно говоря,стараюсь не писать вот так в одну строку функции. Но тут показалось,что вышла портянка,хотела уменьшить визуально ее,но получилось только хуже. Исправляюсь)


SMALL = 25
MEDIUM = 30
LARGE = 40
PEPPERONI = "Pepperoni type"
MARGARITA = "Margarita type"
COOKING = 0
READY = 1

def __init__(self, ingredients, size):
self.ingredients = ingredients
self.size = size
self.ready = Pizza.COOKING

def cook(self):
print('Pizza is being cooked...')
self.ready = Pizza.READY
print('Pizza is ready!')


class Pepperoni(Pizza):

pepperoni_ings = ['Salami', 'Cheese']

def __init__(self, size):
super().__init__(Pepperoni.pepperoni_ings, size)


class Margarita(Pizza):

margarita_ings = ['Tomato', 'Cheese']

def __init__(self, size):
super().__init__(Margarita.margarita_ings, size)


class Worker:

def __init__(self):
self.order = None
self.__cash = 0

@staticmethod
def greet_client(name):
print(f"Welcome, {name}!")

def get_order(self, pizza_type, pizza_size):
if pizza_type == Pizza.PEPPERONI:
self.order = Pepperoni(pizza_size)
elif pizza_type == Pizza.MARGARITA:
self. order = Margarita(pizza_size)

def get_money(self, money):
self.__cash += money

def process_order(self):
self.order.cook()
return self.order


class Client:
default_name = 'Alex'

def __init__(self, money, name=default_name):
self.__money = money
self.name = name
self.pizza = None

@staticmethod
def choose_margarita_pizza():
return Pizza.MARGARITA

@staticmethod
def choose_pepperoni_pizza():
return Pizza.PEPPERONI

@staticmethod
def choose_small_size():
return Pizza.SMALL

@staticmethod
def choose_medium_size():
return Pizza.MEDIUM

@staticmethod
def choose_large_size():
return Pizza.LARGE

def pay_money(self, money):
self.__money -= money

def get_pizza(self, pizza):
self.pizza = pizza