Olá Leandro, como você está?
Ao executar o seu código, o erro que aparece é NameError: name 'Playlist' is not defined
e isso ocorre devido a problemas de indentação (espaçamento) no código, ou seja, o recuo para indicar a hierarquia das instruções no código. Sendo assim, é necessário recuar as criações dos objetos para que fiquem alinhados verticalmente à classe Playlist
. Da forma como está, os objetos estão sendo criados dentro da classe Playlist
. Segue um exemplo ilustrativo deste problema:
Além disso, na classe Playlist
é necessário invocar o método super()
para passarmos a lista de programas:
super().__init__(programas)
O código corrigido com os adendos acima segue abaixo:
class Playlist(list):
def __init__(self,nome,programas):
self.nome = nome
super().__init__(programas)
vingadores = Filme('vingadores - guerra infinita',2018,160)
tmep = Filme('todo mndo em panico',2007,100)
demolido = Serie('demolidor',2015,2)
vingadores.dar_like()
demolido.dar_like()
demolido.dar_like()
demolido.dar_like()
demolido.dar_like()
tmep.dar_like()
atlanta = Serie('atlanta',2018,2)
atlanta.dar_like()
atlanta.dar_like()
filmes_e_series = [vingadores, atlanta, demolido ,tmep]
fim_de_Semana = Playlist('Fim de semana',filmes_e_series)
for program in fim_de_Semana:
print(program)
Resultado:
Nome: Vingadores - Guerra Infinita - 160 min - Likes: 1
Nome: Atlanta - 2 temporadas - Likes: 2
Nome: Demolidor - 2 temporadas - Likes: 4
Nome: Todo Mndo Em Panico - 100 min - Likes: 1
Espero ter ajudado. Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.
Em caso de dúvidas estou à disposição.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!