Vídeos em Alta
Foi contratado como o novo Chefe de TI na Vevo, o principal fornecedor global de videoclipes musicais. Eles têm uma extensa biblioteca de músicas, filmes e videoclipes. No entanto, os dados estão desorganizados, e eles precisam da sua ajuda para categorizar e gerir melhor o conteúdo.
O principal desafio aqui é definir uma série de classes para categorizar o conteúdo. Além disso, eles querem saber quais dos seus vídeos estão em alta. Um vídeo é considerado em alta se tiver mais de 1 milhão de visualizações nas últimas 24 horas.
Primeiramente, crie uma classe
Multimedia
com um atributo duration
e um método play()
. Em seguida, defina duas outras classes, Song
e Movie
, que herdam de Multimedia
, cada uma com seus atributos únicos, como artist
para Song
e director
para Movie
. Depois, crie uma classe MusicVideo
que herda tanto de Song
como de Movie
, adicionando atributos específicos para esta classe: view_count
e views_last_24_hours
.Deve sobrepor o método
__str__()
nas suas classes. Quando uma instância de uma classe for impressa, deve exibir o seguinte:- Para
MusicVideo
: "Título do videoclipe: [title], Artista: [artist], Diretor: [director], Duração: [duration] minutos, Visualizações totais: [viewcount], Visualizações nas últimas 24 horas: [viewslast24hours]."
- Para
Song
: "Título da música: [title], Artista: [artist], Duração: [duration] minutos."
- Para
Movie
: "Título do filme: [title], Diretor: [director], Duração: [duration] minutos."
O método
is_trending()
para MusicVideo
deve imprimir:- "[title] de [artist] está em alta."
- "[title] de [artist] não está em alta."
Entrada | Saída |
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 |
Dica
Tente evitar o uso de
super()
quando lidar com herança múltipla. Volte à lição sobre Herança Múltipla para rever a forma adequada de lidar com a inicialização dentro do método __init__()
para herança múltipla.Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB