Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
3 / 3 / 0
Регистрация: 20.12.2021
Сообщений: 105

Поезд

11.04.2022, 14:10. Показов 1793. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Давайте напишем два класса: Вагончик (Wagon) и Поезд (Train), который из вагончиков собирается.

У вагона есть атрибут – номер;
специальный метод, приводящий к строке вида '№<номер вагона>',
и метод get_number(), возвращающий номер вагона.

У класса поезд есть атрибуты:
номер поезда;
список вагонов, по умолчанию пустой.

Методы класса:
get_number() – возвращает номер поезда;
get_wagons() – возвращает список вагонов в порядке формирования;
append(item) – добавляет вагон в конец поезда;
__len__ – возвращает длину поезда tr;
__str__ – возвращает строку вида 'Train <номер> has <количество> wagons';
также есть методы получения элемента по индексу ( __getitem__(key)),
изменения элемента по индексу ( __setitem__(key)),
удаления последнего элемента по индексу ( __delitem__(key), удаление происходит только в случае, если индекс равен индексу последнего элемента)
и поэлементного перебора ( __iter__).
Пример 1
Ввод:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
from solution import Train, Wagon
 
w1, w2, w3 = Wagon(1), Wagon(2), Wagon(3)
tr = Train(206)
tr.append(w1)
tr.append(w3)
tr.append(w2)
for item in tr:
    print(item)
print(f"This train has number {tr.get_number()}.")
tr[1] = Wagon(5)
del tr[2]
print(tr[-1])
Вывод:
№1
№3
№2
This train has number 206.
№5

Пример 2
Ввод:
Python
1
2
3
4
5
6
7
8
from solution import Train, Wagon
 
tr = Train(206, [Wagon(1), Wagon(2), Wagon(3)])
print(', '.join([str(item.get_number()) for item in tr]))
print(f"This train has number {tr.get_number()}.")
for i in range(4, 10):
    tr.append(Wagon(i))
print(*tr.get_wagons())
Вывод:
1, 2, 3
This train has number 206.
№1 №2 №3 №4 №5 №6 №7 №8 №9
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.04.2022, 14:10
Ответы с готовыми решениями:

Поезд
В один из жарких летних дней Петя и его друг Вася приехали на станцию Навалочная Октябрьской Железной дороги Нава́лочная — остановочный...

Задача 5: Поезд
Задача 5: Поезд Два друга-биолога Василий и Петр едут в Африку на поезде. Билеты они покупали в разное время и не смогли получить места в...

Задача 5: Поезд
Два друга-биолога Василий и Петр едут в Африку на поезде. Билеты они покупали в разное время и не смогли получить места в одном вагоне....

1
3 / 3 / 2
Регистрация: 27.12.2022
Сообщений: 7
24.04.2024, 17:25
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
class Wagon:
    def __init__(self, number):
        self.number = number
 
    def __str__(self):
        return f'№{self.number}'
 
    def get_number(self):
        return self.number
 
 
class Train:
    def __init__(self, number, wagons=None):
        self.number = number
        self.wagons = wagons if wagons is not None else []
 
    def get_number(self):
        return self.number
 
    def get_wagons(self):
        return self.wagons
 
    def append(self, item):
        self.wagons.append(item)
 
    def __len__(self):
        return len(self.wagons)
 
    def __str__(self):
        return f'Train {self.number} has {len(self.wagons)} wagons'
 
    def __getitem__(self, key):
        return self.wagons[key]
 
    def __setitem__(self, key, value):
        self.wagons[key] = value
 
    def __delitem__(self, key):
        if key == len(self.wagons) - 1:
            del self.wagons[key]
 
    def __iter__(self):
        return iter(self.wagons)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.04.2024, 17:25
Помогаю со студенческими работами здесь

Класс Поезд
Cоздайте класс, согласно своего варианта. Самостоятельно определите поля класса. Поля инициализируйте в конструкторе, создайте необходимые...

Поезд Одинцово-Мурино
В будущем будет построен новый шедевр инженерной мысли — сверхскоростная железная дорога, соединяющая две важнейших города страны: Одинцово...

Самый быстрый поезд
Быстрый поезд (Время: 1 сек. Память: 16 Мб Сложность: 30%) Между двумя крупнейшими городами нашей страны Санкт-Петербургом и Москвой...

Определить, успеет ли пассажир на поезд
Поезд прибывает на станцию в a часов b минут и отправляется в c часов d минут. Пассажир пришел на платформу в n часов m минут. Будет...

Расстояние, который прошел поезд двигаясь равнозамедленно с ускорением х
здраствуйте,помогите пожалуйста с домашним заданием,на лекциях почти ничего не рассказывают(( Составьте программу вычисления...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru