Olá! Meu código está quebrando ao executar, mas não consegui entender onde está o problema. Seguindo as instruções da aula, o professor orienta a incluir uma super classe no construtor do Playlist, mas quando executo o código dá o seguinte erro:
"line 44, in init super.init(programas) TypeError: descriptor 'init' requires a 'super' object but received a 'list'" Segue meu código completo:
class programas:
def __init__(self, nome, ano):
self._nome = nome.title()
self.ano = ano
self._likes = 0
@property
def likes(self):
return self._likes
def dar_likes(self):
self._likes += 1
@property
def nome(self):
return self._nome
@nome.setter
def nome(self, novo_nome):
self._nome = novo_nome.title()
def __str__(self):
return f'Nome: {self.nome}, ano de lançamento: {self.ano}, Número de curtidas: {self.likes} likes.'
class filme(programas):
def __init__(self, nome, ano, duracao):
super().__init__(nome, ano)
self.duracao = duracao
def __str__(self):
return f'Nome: {self.nome}, ano de lançamento: {self.ano}, {self.duracao} minutos, Número de curtidas: {self.likes} likes.'
class Serie(programas):
def __init__(self, nome, ano, temporadas):
super().__init__(nome, ano)
self.temporadas = temporadas
def __str__(self):
return f'Nome: {self.nome}, ano de lançamento: {self.ano}, {self.temporadas} temporadas, Número de curtidas: {self.likes} likes.'
class Playlist(list):
def __init__(self, nome, programas):
self.nome = nome
super.__init__(programas)
self.programas = programas
def tamanho(self):
return len(self.programas)
vingadores = filme("vingadores - guerra infinita", 2018, 160)
atlanta = Serie("atlanta", 2018, 2)
tmep = filme("Todo mundo em pânico", 1999, 100)
demolidor = Serie('Demolidor', 2016, 2)
vingadores.dar_likes()
vingadores.dar_likes()
vingadores.dar_likes()
vingadores.dar_likes()
atlanta.dar_likes()
atlanta.dar_likes()
atlanta.dar_likes()
tmep.dar_likes()
tmep.dar_likes()
demolidor.dar_likes()
filmes_e_series = [vingadores, tmep, atlanta, demolidor]
playlist_fim_de_semana = Playlist("fim de semana", filmes_e_series)
for programas in playlist_fim_de_semana:
print(programas)
Agradeço desde já Abraços