Создание класса Train
Информатика

Создание класса Train, который будет содержать следующие поля: название пункта, куда отправляется поезд; номер поезда

Создание класса Train, который будет содержать следующие поля: название пункта, куда отправляется поезд; номер поезда; время отправления. Запись данных в массив из 5 элементов класса Train и упорядочивание элементов по номерам поездов. Добавление возможности ввода информации о поезде, чей номер будет введен пользователем. Добавление возможности сортировки массива по пункту назначения, при этом поезда с одинаковыми пунктами назначения должны быть упорядочены по времени отправления. Организация ввода и вывода информации через клавиатуру, используя формы.
Верные ответы (1):
  • Yaroslav
    Yaroslav
    40
    Показать ответ
    Создание класса Train

    python
    class Train:
    def __init__(self, destination, train_number, departure_time):
    self.destination = destination
    self.train_number = train_number
    self.departure_time = departure_time

    def __repr__(self):
    return f"Train(destination={self.destination}, train_number={self.train_number}, departure_time={self.departure_time})"


    Запись данных в массив и сортировка по номерам поездов

    python
    trains = []
    trains.append(Train("Москва", 123, "10:00"))
    trains.append(Train("Санкт-Петербург", 456, "12:00"))
    trains.append(Train("Екатеринбург", 789, "14:00"))
    trains.append(Train("Новосибирск", 234, "16:00"))
    trains.append(Train("Казань", 567, "18:00"))

    sorted_trains = sorted(trains, key=lambda train: train.train_number)


    Ввод информации о поезде с пользовательским номером

    python
    destination = input("Введите пункт назначения: ")
    train_number = int(input("Введите номер поезда: "))
    departure_time = input("Введите время отправления: ")

    user_train = Train(destination, train_number, departure_time)
    trains.append(user_train)


    Сортировка массива по пункту назначения и времени отправления

    python
    sorted_trains = sorted(trains, key=lambda train: (train.destination, train.departure_time))


    Организация ввода и вывода через клавиатуру

    python
    # Ввод информации о поезде
    destination = input("Введите пункт назначения: ")
    train_number = int(input("Введите номер поезда: "))
    departure_time = input("Введите время отправления: ")

    # Создание объекта Train и добавление его в массив trains
    new_train = Train(destination, train_number, departure_time)
    trains.append(new_train)

    # Вывод всех поездов в отсортированном порядке
    sorted_trains = sorted(trains, key=lambda train: (train.destination, train.departure_time))
    for train in sorted_trains:
    print(train)


    Совет: При работе с классами и объектами важно четко понимать иерархию и связи между различными классами. Начните с создания класса Train и определения его полей и методов. Затем постепенно переходите к добавлению данных в массив и сортировке. Используйте комментарии в коде для лучшего понимания каждого шага.

    Проверочное упражнение: Напишите программу, которая позволяет пользователю ввести информацию о 5 поездах (пункт назначения, номер поезда, время отправления) и выводит отсортированный список по номерам поездов.
Написать свой ответ: