Top.Mail.Ru
Ответы
Аватар пользователя
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

Задание. Создание простой системы учета заказов в кафе

Задание. Создание простой системы учета заказов в кафе

Вам предстоит разработать небольшую систему учета заказов для кафе. В этой системе будут классы Dish и Order, а также функции для работы с заказами.

Инструкции:

Создайте класс Dish, который будет представлять блюдо в кафе. У каждого блюда должны быть атрибуты: название и стоимость.

Создайте класс Order, который будет представлять заказ. У заказа должны быть атрибуты: список блюд (Dish) и столик.

В классе Order создайте методы:

add_dish(dish): добавляет указанное блюдо в заказ.
remove_dish(dish): удаляет указанное блюдо из заказа.
calculate_total(): рассчитывает и возвращает общую стоимость заказа.
Создайте функцию print_order(order), которая выводит информацию о заказе, включая название блюд, стоимость и общую стоимость заказа.

Создайте несколько экземпляров класса Dish и несколько экземпляров класса Order, добавьте в них блюда и выполните несколько операций добавления/удаления блюд из заказа. Выведите информацию о заказах с помощью функции print_order.

# Создание блюд
dish1 = Dish("Стейк", 25.99)
dish2 = Dish("Салат", 12.99)
dish3 = Dish("Паста", 18.99)

# Создание заказов
order1 = Order("Столик 1")
order2 = Order("Столик 2")

# Добавление блюд в заказы
order1.add_dish(dish1)
order1.add_dish(dish3)
order2.add_dish(dish2)

# Вывод информации о заказах
print_order(order1)
print_order(order2)

Ваша задача - реализовать недостающие методы и функцию, а также провести проверку системы на нескольких примерах.

Пример вывода:

По дате
По рейтингу
Аватар пользователя
Мастер

```python
class Dish:
def __init__(self, name, price):
self.name = name
self.price = price

class Order:
def __init__(self, table):
self.dishes = []
self.table = table

def add_dish(self, dish):
self.dishes.append(dish)

def remove_dish(self, dish):
if dish in self.dishes:
self.dishes.remove(dish)
else:
print("This dish is not in the order.")

def calculate_total(self):
total = 0
for dish in self.dishes:
total += dish.price
return total

def print_order(order):
print("Order for", order.table)
for dish in order.dishes:
print("Dish:", dish.name, "| Price:", dish.price)
print("Total:", order.calculate_total())

# Создание блюд
dish1 = Dish("Стейк", 25.99)
dish2 = Dish("Салат", 12.99)
dish3 = Dish("Паста", 18.99)

# Создание заказов
order1 = Order("Столик 1")
order2 = Order("Столик 2")

# Добавление блюд в заказы
order1.add_dish(dish1)
order1.add_dish(dish3)
order2.add_dish(dish2)

# Вывод информации о заказах
print_order(order1)
print_order(order2)
```

Пример вывода:

```
Order for Столик 1
Dish: Стейк | Price: 25.99
Dish: Паста | Price: 18.99
Total: 44.98
Order for Столик 2
Dish: Салат | Price: 12.99
Total: 12.99
```
Можно лайк, пожалуйста🙏🙏