Estou com o código abaixo conforme feito pelo professor na aula, porém esta dando um erro. " Ocorreu uma exceção: IndexError list index out of range" no caso esta dizendo que um erro é no "line 52, in getitem return self.programas[item] e o outro é no "line 94, in for programa in playlistfim_de_semana:".
class Programa: def init(self, nome, ano): self.nome = nome.title() self.ano = ano self.likes = 0
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()
@property
def likes(self):
return self._likes
def __str__(self):
return f'{self._nome} - {self.ano} - Likes: {self.likes}'
class Filme(Programa): def init(self, nome, ano, duracao): super().init(nome,ano) self.duracao = duracao
def __str__(self):
return f'{self._nome} - {self.ano} - {self.duracao} Min - Likes: {self._likes}'
class Serie(Programa): def init(self, nome, ano, temporadas): super().init(nome,ano) self.temporadas = temporadas
def __str__(self):
return f'{self._nome} - {self.ano} - {self.temporadas} Temporadas - Likes: {self._likes}'
class Playlist: def init(self, nome, programas): self.nome = nome self._programas = programas
def __getitem__(self, item):
return self._programas[item]
def __len__(self):
return len(self._programas)
@property
def listagem(self):
return 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() tmep.dar_likes() demolidor.dar_likes() atlanta.dar_likes() atlanta.dar_likes()
filmes_e_series = [vingadores,atlanta,demolidor,tmep]
playlist_fim_de_semana = Playlist('Fim de semana',filmes_e_series)
print(f'Tem ou não tem Demolidor em nossa lista? {demolidor in playlist_fim_de_semana}')
print(playlist_fim_de_semana[3]) print(f'Tamanho do playlist: {len(playlist_fim_de_semana)}')
for programa in playlist_fim_de_semana:
print(programa)