Vidéos Tendance
Vous avez été engagé en tant que nouveau Chef du Service Informatique chez Vevo, le principal fournisseur mondial de vidéoclips musicaux. Ils possèdent une vaste bibliothèque de chansons, de films et de vidéoclips. Cependant, les données sont désorganisées et ils ont besoin de votre aide pour mieux catégoriser et gérer leur contenu.
Le principal défi ici est de définir une série de classes pour catégoriser leur contenu. De plus, ils souhaitent savoir quelles vidéos sont en tendance. Une vidéo est considérée comme tendance si elle a accumulé plus d'un million de vues au cours des dernières 24 heures.
Commencez par créer une classe
Multimedia
avec un attribut duration
et une méthode play()
. Ensuite, définissez deux autres classes, Song
et Movie
, qui héritent de Multimedia
, chacune ayant des attributs uniques comme artist
pour Song
et director
pour Movie
. Après cela, créez une classe MusicVideo
qui hérite à la fois de Song
et de Movie
, en ajoutant des attributs spécifiques à cette classe : view_count
et views_last_24_hours
.Vous devez redéfinir la méthode
__str__()
dans vos classes. Lorsqu'une instance d'une classe est imprimée, elle doit afficher ce qui suit :- Pour
MusicVideo
: "Titre du vidéoclip : [title], Artiste : [artist], Réalisateur : [director], Durée : [duration] minutes, Vues totales : [viewcount], Vues au cours des dernières 24 heures : [viewslast24hours]."
- Pour
Song
: "Titre de la chanson : [title], Artiste : [artist], Durée : [duration] minutes."
- Pour
Movie
: "Titre du film : [title], Réalisateur : [director], Durée : [duration] minutes."
La méthode
is_trending()
pour MusicVideo
doit afficher soit :- "[title] par [artist] est en tendance."
- "[title] par [artist] n'est pas en tendance."
Entrée | Sortie |
multimedia=Multimedia(3.5); song=Song('Beatles', 'Let It Be', 4); movie=Movie('George Harrison', 'A Hard Days Night', 92); music_video=MusicVideo('Michael Jackson', 'Beat It', 'John Landis', 13.2, 1002000000, 1500000); print(music_video); print(song); print(movie); music_video.is_trending(); movie.play() | 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 |
Conseil
Évitez d'utiliser
super()
lorsque vous travaillez avec l'héritage multiple. Retournez à la leçon sur l'héritage multiple pour réviser la bonne manière de gérer l'initialisation à l'intérieur de la méthode __init__()
pour l'héritage multiple.Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB