Загрузка данных


from datetime import datetime


class Car:
    # Конструктор
    def __init__(self, brand, model, year, speed):
        self.brand = brand
        self.model = model
        self.year = year
        self.speed = speed

    # Увеличение скорости
    def increase_speed(self, value):
        self.speed += value

    # Уменьшение скорости
    def decrease_speed(self, value):
        self.speed -= value
        if self.speed < 0:
            self.speed = 0

    # Вывод информации (магический метод __str__)
    def __str__(self):
        return f"Автомобиль {self.brand} {self.model}, год выпуска — {self.year}, скорость — {self.speed} км/ч"

    # Увеличение года выпуска на 1 (магический метод __pos__)
    def __pos__(self):
        self.year += 1

    # Возраст автомобиля
    def get_age(self):
        return datetime.now().year - self.year

    # Сравнение скорости двух автомобилей (операция >=, магический метод __ge__)
    def __ge__(self, other):
        return self.speed >= other.speed


# ===== Главная программа =====

# Создаём два автомобиля
car1 = Car("Toyota", "Camry", 2020, 120)
car2 = Car("BMW", "X5", 2018, 150)

# Вывод информации
print(car1)
print(car2)

# Увеличение и уменьшение скорости
car1.increase_speed(30)
print(f"\nПосле увеличения скорости: {car1}")

car1.decrease_speed(50)
print(f"После уменьшения скорости: {car1}")

# Увеличение года выпуска на 1
+car1  # магический метод __pos__
print(f"\nПосле увеличения года выпуска: {car1}")

# Возраст автомобиля
print(f"\nВозраст car1: {car1.get_age()} лет")
print(f"Возраст car2: {car2.get_age()} лет")

# Сравнение скорости (>=)
print(f"\nСкорость car1 >= скорости car2? {car1 >= car2}")
print(f"Скорость car2 >= скорости car1? {car2 >= car1}")