Нужно написать программный код для описания нескольких классов - towncar, sportcar, workcar, policecar. В каждом классе

  • 21
Нужно написать программный код для описания нескольких классов - towncar, sportcar, workcar, policecar. В каждом классе должны быть определены следующие атрибуты: скорость (speed), цвет (color), название (name) и признак полицейского автомобиля (is_police) - логическое значение. Также необходимо добавить несколько методов: go, stop, turn(direction), которые должны сообщать о действиях машины - её движении, остановке и повороте (в какую сторону).
Yaroslav
13
Конечно, я могу помочь тебе с этой задачей. Вот код, который описывает классы towncar, sportcar, workcar и policecar:

python
class Car:
def __init__(self, speed, color, name, is_police=False):
self.speed = speed
self.color = color
self.name = name
self.is_police = is_police

def go(self):
print(f"{self.name} поехал со скоростью {self.speed} км/ч.")

def stop(self):
print(f"{self.name} остановился.")

def turn(self, direction):
print(f"{self.name} повернул {"налево" if direction=="left" else "направо"}.")

class TownCar(Car):
def __init__(self, speed, color, name):
super().__init__(speed, color, name)

class SportCar(Car):
def __init__(self, speed, color, name):
super().__init__(speed, color, name)

class WorkCar(Car):
def __init__(self, speed, color, name):
super().__init__(speed, color, name)

class PoliceCar(Car):
def __init__(self, speed, color, name):
super().__init__(speed, color, name, is_police=True)

# Пример использования классов:

town_car = TownCar(60, "серый", "Городской автомобиль")
sport_car = SportCar(200, "красный", "Спортивный автомобиль")
work_car = WorkCar(80, "желтый", "Рабочий автомобиль")
police_car = PoliceCar(120, "синий", "Полицейский автомобиль")

town_car.go() # Вывод: Городской автомобиль поехал со скоростью 60 км/ч.
sport_car.stop() # Вывод: Спортивный автомобиль остановился.
work_car.turn("left") # Вывод: Рабочий автомобиль повернул налево.
police_car.turn("right") # Вывод: Полицейский автомобиль повернул направо.


В этом коде мы создали класс `Car`, от которого наследуются классы `TownCar`, `SportCar`, `WorkCar` и `PoliceCar`. Каждый класс имеет атрибуты `speed` (скорость), `color` (цвет), `name` (название) и `is_police` (признак полицейского автомобиля).

Также в каждом классе определены методы `go` (движение), `stop` (остановка) и `turn` (поворот), которые выводят сообщения о действиях машины.

При создании экземпляров класса, мы передаем нужные значения атрибутов. Например, `town_car = TownCar(60, "серый", "Городской автомобиль")` создает городской автомобиль со скоростью 60 км/ч, серого цвета и названием "Городской автомобиль".

У каждого автомобиля вызываются методы `go`, `stop` и `turn` с разными аргументами, чтобы показать их функционал.

Надеюсь, это помогло тебе! Если у тебя есть ещё вопросы, не стесняйся задавать.