Трендовые видео
Вас наняли на должность нового руководителя IT в Vevo — ведущем мировом поставщике музыкальных видеоклипов. У них обширная библиотека песен, фильмов и музыкальных видео. Однако данные неупорядочены, и им нужна ваша помощь, чтобы лучше классифицировать и управлять их контентом.
Основная задача здесь — определить ряд классов для категоризации их контента. Кроме того, они хотят знать, какие из их видеороликов становятся популярными. Видеоролик считается трендовым, если у него более 1 миллиона просмотров за последние 24 часа.
Сначала создайте класс Multimedia с атрибутом duration и методом play(). Затем определите два других класса, Song и Movie, которые наследуют от Multimedia, каждый со своими уникальными атрибутами, такими как artist для Song и director для Movie. После этого создайте класс MusicVideo, который наследует от обоих Song и Movie, добавляя специфические для этого класса атрибуты view_count и views_last_24_hours.
Вы должны переопределить метод __str__() в ваших классах. Когда экземпляр класса печатается, он должен выводить следующее:
Для
MusicVideo: "Название музыкального видео: [title], Исполнитель: [artist], Режиссёр: [director], Длительность: [duration] минут, Всего просмотров: [viewcount], Просмотров за последние 24 часа: [viewslast24hours]."Для
Song: "Название песни: [title], Исполнитель: [artist], Длительность: [duration] минут."Для
Movie: "Название фильма: [title], Режиссёр: [director], Длительность: [duration] минут."
Метод is_trending() для MusicVideo должен выводить одно из следующих сообщений:
"[title] от [artist] сейчас в тренде."
"[title] от [artist] не в тренде."
Входные данные | Выходные данные |
|---|---|
| Music video title: Beat It, Artist: Michael Jackson, Director: John Landis, Duration: 13.2 minutes, Total views: 1002000000, Views in last 24 hours: 1500000. |
Подсказка
Постарайтесь избежать использования super() при работе с множественным наследованием. Вернитесь к уроку по множественному наследованию, чтобы освежить правильный способ обработки инициализации внутри метода __init__() при множественном наследовании.
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB