Трендовые видео
Вас наняли на должность нового руководителя 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. Song title: Let It Be, Artist: Beatles, Duration: 4 minutes. Movie title: A Hard Days Night, Director: George Harrison, Duration: 92 minutes. Beat It by Michael Jackson is trending. Playing media |
Подсказка
Постарайтесь избежать использования super()
при работе с множественным наследованием. Вернитесь к уроку по множественному наследованию, чтобы освежить правильный способ обработки инициализации внутри метода __init__()
при множественном наследовании.
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB