Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

EXERCÍCIO DA PLAYLIST

Por algum motivo não apresenta a playlist, tentei ir fazendo no acompanhamento das aulas mas em algum momento alterei algo que faça com que não imprima o programa no for, e não consegui identificar a diferença q cause isso no código.

#CLASSE MÃE DE INSERÇÃO DOS VALORES
class Programa:
    def __init__(self, nome, ano):
        self.__nome = nome.title()
        self.ano = ano
        self.__likes = 0
#NOMES
    @property
    def nome(self):
        return self.__nome
    @nome.setter
    def nome(self, novo_nome):
        self.nome = novo_nome
#LIKES
    @property
    def likes(self):
        return self.__likes

    def dar_like(self):
        self.__likes += 1

    def __str__(self):
        imprime =f'Nome: {self.nome} Likes: {self.likes}'
        return imprime

#CLASSE FILMES (FILHA-DO-PROGRAMA)
class Filme(Programa):
    def __init__(self, nome, ano, duracao):
        super().__init__(nome, ano)
        self.duracao = duracao

    def __str__(self) -> str:
        imprime = f'nome: {self.nome} ano: {self.ano} duracao {self.duracao} min likes:{self.likes}'
        return imprime

#CLASSE SERIES (FILHA-DO-PROGRAMA) 
class Serie(Programa):
    def __init__(self, nome, ano, temporadas):
        super().__init__(nome, ano)
        self.temporadas = temporadas

    def __str__(self):
        imprime = f'nome: {self.nome} ano: {self.ano} temporadas {self.temporadas} likes:{self.likes}'
        return imprime

#CLASSE PLAYLIST
class Playlist(list):
    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)

vingadores = Filme('vingadores - guerra infinita', 2018, 160) #vingadores
atlanta = Serie('atlanta', 2018, 2)
tmep = Filme('todo mundo em panico', 1999, 100)
demolidor = Serie('demolidor', 2016, 2)

vingadores.dar_like()
vingadores.dar_like()
vingadores.dar_like()
atlanta.dar_like()
atlanta.dar_like()
tmep.dar_like()
tmep.dar_like()
demolidor.dar_like()
demolidor.dar_like()

listinha = [atlanta, vingadores, demolidor, tmep]
minha_playlist = Playlist('fim de semana', listinha)

for programa in minha_playlist:
    print(programa)

print(f'Tamanho: {len(minha_playlist)}')
1 resposta
solução!

Boa noite Patrik, tudo bem?

O que aconteceu foi que você deixou a 'class Playlist' como uma 'list'. É só remover 'list' da class que irá funcionar.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade