トレンドビデオ
あなたはVevo社の新しいIT部長として採用されました。Vevoは世界をリードする音楽ビデオ提供会社です。同社は膨大な楽曲、映画、音楽ビデオのライブラリを持っています。しかし、データが整理されておらず、コンテンツをより良く分類・管理するためにあなたの助けを必要としています。
ここでの主な課題は、コンテンツを分類するための一連のクラスを定義することです。さらに、彼らはどのビデオがトレンドになっているかを知りたがっています。過去24時間で100万回以上の視聴があるビデオはトレンドと見なされます。
まず、属性durationとメソッドplay()を持つクラスMultimediaを作成します。次に、Multimediaを継承する2つのクラス、SongとMovieを定義します。それぞれSongにはartist、Movieにはdirectorといった固有の属性を持ちます。その後、SongとMovieの両方を継承するクラスMusicVideoを作成し、このクラスには特定の属性であるview_countとviews_last_24_hoursを追加します。
クラス内で__str__()メソッドをオーバーライドしなければなりません。クラスのインスタンスがプリントされたとき、以下のように表示されるべきです:
MusicVideoの場合:"Music video title: [title], Artist: [artist], Director: [director], Duration: [duration] minutes, Total views: [viewcount], Views in last 24 hours: [viewslast24hours]."Songの場合:"Song title: [title], Artist: [artist], Duration: [duration] minutes."Movieの場合:"Movie title: [title], Director: [director], Duration: [duration] minutes."
MusicVideoのis_trending()メソッドは、以下をプリントすべきです:
"[title] by [artist] is trending."
"[title] by [artist] is not trending."
入力 | 出力 |
|---|---|
| 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