Класс, __init__, атрибуты экземпляра и методы
Содержание курса
Плейлист с независимой очередью треков
Что уже дано
В редакторе есть незавершённый каркас класса Playlist. Проверяющая система не создаёт данные до кода ученика: после определения класса она сама создаёт несколько экземпляров Playlist и вызывает их методы.
Что нужно сделать
Допишите класс Playlist:
__init__(self, name)сохраняетnameи создаёт новый пустой списокtracksименно для этого экземпляра;add_track(self, title, duration)создаёт словарь{"title": title, "duration": duration}, добавляет его вtracksи возвращает этот словарь;total_duration(self)возвращает сумму длительностей всех треков;longest_track(self)возвращает название самого длинного трека, для пустого плейлиста —None, а при равной длительности выбирает добавленный раньше трек.
Ввод и вывод
stdin не используется. Печатать через print в stdout ничего не нужно. Входные значения передаются скрытыми тестами через конструктор и методы класса. Результаты возвращаются методами и сохраняются в атрибутах экземпляров.
Пример использования
playlist = Playlist("Дорога")
playlist.add_track("Intro", 90)
playlist.add_track("Night Drive", 240)
print(playlist.total_duration())
print(playlist.longest_track())
Результат:
330 Night Drive
О данных в ответах
Используйте учебные данные. Не вставляйте пароли, токены, ключи доступа, паспортные и банковские данные, а также персональные данные других людей. Политика обработки данных.
Как проверяется решение
Проверяются функции и их результаты. Собственный запуск выполняет ваш код без авторских тестов. Интерактивный запуск не влияет на оценку. Лимит сессии — 5 минут, процессорного времени — 10 секунд.
Отправьте решение, чтобы увидеть результаты тестов.
