Задание 1 Для класса Category сделать список товаров приватным атрибутом. А для добавления товаров в категорию реализуйте метод, который будет принимать на вход объект товара и добавлять его в список.
#приватные_атрибуты
#методы_класса
#self
Задание 2 Для атрибута класса Category «товары» добавить геттер, который будет выводить список товаров в формате:
Продукт, 80 руб. Остаток: 15 шт.
#@property
#методы_класса
#публичные_методы
Задание 3 Для класса Product добавить метод, который создает товар и возвращает объект, который можно добавлять в список товаров.
#класс-методы
#ini
#list
- Дополнительное задание (к заданию 3) Для данного метода реализуйте проверку наличия такого же товара, схожего по имени. В случае если товар уже существует, необходимо сложить количество в наличии старого товара и нового. При конфликте цен выбрать ту, которая является более высокой. Для этого можно в метод передать список товаров, в котором нужно искать дубликаты.
#класс-методы
#if
#for
Задание 4 Для класса Product опишите геттеры и сеттеры для атрибута цены. В случае если цена равна или ниже нуля, выведите сообщение в консоль, что цена введена некорректная, при этом новую цену устанавливать не нужно.
#@property
#setter
#if
- Дополнительное задание (к заданию 4) В случае если цена товара понижается, добавьте логику подтверждения пользователем вручную через ввод y (значит yes) или n (значит no) для согласия понизить цену или для отмены действия соответственно.