Умный таксопарк
Проект представляет собой моделирование таксопарка с различными типами автомобилей и пассажирскими перевозками. В таксопарке есть несколько компаний, каждая из которых предоставляет различные классы автомобилей для перевозки пассажиров и грузов.
В функции check_car метода TaxiCompany, если обнаруживается, что хотя бы у одного пассажира размеры багажа превышают определенные пороги (ширина > 30, длина > 40, высота > 50), то флаг flag становится истинным (True). В зависимости от количества пассажиров и наличия багажа, выбирается тип машины для поездки: если только один или два пассажира и у них есть багаж, то выбирается грузовая машина (Truck). Если пассажиров больше и есть багаж, то для них берутся грузовая машина и легковая машина. Если пассажиры без багажа, то выбирается только легковая машина.
Таким образом, грузовая машина выделяется, если:
- У пассажира есть багаж и его размеры превышают пороговые значения.
- Пассажиров меньше или равно двум.
Классы
Luggage
Представляет собой багаж, который может быть перевезен вместе с пассажиром. Содержит информацию о ширине, высоте, длине и весе багажа.
Passenger
Представляет собой пассажира, который может заказать такси. Включает имя, номер мобильного телефона и информацию о багаже.
AbstractTaxi
Абстрактный класс, который представляет собой тип такси. Содержит метод для расчета стоимости поездки.
PassengerCar
Подкласс AbstractTaxi
, представляющий пассажирское такси. Рассчитывает стоимость поездки с учетом багажа и расстояния.
Truck
Подкласс AbstractTaxi
, представляющий грузовое такси. Рассчитывает стоимость поездки с учетом багажа и расстояния.
TaxiCompany
Представляет собой таксопарк компании. Включает в себя название компании и список доступных автомобилей. Предоставляет метод для проверки доступности автомобилей и расчета стоимости поездки.
Описание
Проект представляет собой моделирование таксопарка с различными типами автомобилей и пассажирскими перевозками. В зависимости от количества пассажиров и наличия багажа, выбирается тип машины для поездки.