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. 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 |
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