Создайте новый класс под названием Поезд . Этот класс должен содержать следующие поля: название конечного пункта, номер

  • 59
Создайте новый класс под названием "Поезд". Этот класс должен содержать следующие поля: название конечного пункта, номер поезда, время отправления. Создайте массив, состоящий из 5 элементов типа "Поезд" и упорядочите элементы массива по номеру поезда. Реализуйте возможность ввода информации о поезде, номер которого будет введен пользователем. Также добавьте функцию для сортировки массива по конечному пункту назначения, и, если пункты назначения одинаковые, упорядочивайте по времени отправления. Реализуйте ввод и вывод информации с использованием клавиатурной формы.
Вода
11
Хорошо, для решения данной задачи создадим класс "Поезд" с необходимыми полями: "название конечного пункта" (destination), "номер поезда" (train_number) и "время отправления" (departure_time). Затем создадим массив из 5 элементов типа "Поезд" и упорядочим его по номеру поезда.

Вот как будет выглядеть решение:

python
class Поезд:
def __init__(self, destination, train_number, departure_time):
self.destination = destination
self.train_number = train_number
self.departure_time = departure_time

# Создаем массив из 5 элементов типа "Поезд"
поезда = [None] * 5

# Заполняем информацию о поездах из клавиатуры
for i in range(5):
print("Введите информацию о поезде №", i+1)
destination = input("Название конечного пункта: ")
train_number = int(input("Номер поезда: "))
departure_time = input("Время отправления: ")
поезда[i] = Поезд(destination, train_number, departure_time)

# Сортируем массив по номеру поезда
поезда.sort(key=lambda x: x.train_number)

# Выводим отсортированный массив на экран
print("Отсортированный массив по номеру поезда:")
for поезд in поезда:
print("Название конечного пункта:", поезд.destination)
print("Номер поезда:", поезд.train_number)
print("Время отправления:", поезд.departure_time)
print()


Теперь у нас есть класс "Поезд", который содержит указанные поля, создан массив из 5 экземпляров класса "Поезд" и отсортирован по номеру поезда. Мы можем вводить информацию о каждом поезде из клавиатуры и выводить отсортированный массив на экран. Если вы хотите добавить функцию сортировки по конечному пункту назначения, а затем по времени отправления в случае одинаковых пунктов назначения, можно модифицировать код следующим образом:

python
# ...
# После сортировки по номеру поезда добавляем сортировку по конечному пункту и времени отправления
поезда.sort(key=lambda x: (x.destination, x.departure_time))

# ...
# Выводим отсортированный массив на экран
print("Отсортированный массив по конечному пункту назначения и времени отправления:")
for поезд in поезда:
print("Название конечного пункта:", поезд.destination)
print("Номер поезда:", поезд.train_number)
print("Время отправления:", поезд.departure_time)
print()


Теперь массив будет отсортирован сначала по конечному пункту назначения, а затем (в случае одинаковых пунктов назначения) по времени отправления.

Пожалуйста, дайте знать, если у вас возникнут какие-либо вопросы по данному решению или если вам нужна дополнительная помощь.