Video di tendenza
Sei stato assunto come nuovo Responsabile IT presso Vevo: il leader globale nella fornitura di video musicali. Hanno un'immensa libreria di canzoni, film e video musicali. Tuttavia, i dati sono disorganizzati e hanno bisogno del tuo aiuto per categorizzare e gestire meglio i loro contenuti.
La sfida principale consiste nel definire una serie di classi per categorizzare i loro contenuti. Inoltre, vogliono sapere quali dei loro video sono di tendenza. Un video è considerato di tendenza se ha più di 1 milione di visualizzazioni nelle ultime 24 ore.
Inizia creando una classe Multimedia con un attributo duration e un metodo play(). Successivamente, definisci altre due classi, Song e Movie, che ereditano da Multimedia, ognuna con i propri attributi unici come artist per Song e director per Movie. Dopodiché, crea una classe MusicVideo che eredita sia da Song che da Movie, aggiungendo attributi specifici per questa classe come view_count e views_last_24_hours.
Devi sovrascrivere il metodo __str__() nelle tue classi. Quando un'istanza di una classe viene stampata, dovrebbe visualizzare quanto segue:
Per
MusicVideo: "Titolo video musicale: [title], Artista: [artist], Regista: [director], Durata: [duration] minuti, Visualizzazioni totali: [viewcount], Visualizzazioni nelle ultime 24 ore: [viewslast24hours]."Per
Song: "Titolo canzone: [title], Artista: [artist], Durata: [duration] minuti."Per
Movie: "Titolo film: [title], Regista: [director], Durata: [duration] minuti."
Il metodo is_trending() per MusicVideo dovrebbe stampare:
"[title] di [artist] è di tendenza."
"[title] di [artist] non è di tendenza."
Input | Output |
|---|---|
| Music video title: Beat It, Artist: Michael Jackson, Director: John Landis, Duration: 13.2 minutes, Total views: 1002000000, Views in last 24 hours: 1500000. |
Suggerimento
Cerca di evitare l'uso di super() quando lavori con l'ereditarietà multipla. Torna alla lezione sull'Ereditarietà Multipla per rivedere il modo corretto di gestire l'inizializzazione all'interno del metodo __init__() in caso di ereditarietà multipla.
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB