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

erro: lista esperava 1 argumentos, obteve 2


#super classe --------------------------------


class Programa:
    def __init__(self, nome, ano):
        self.__nome = nome.title()
        self.ano = ano
        self.__like = 0


    @property
    def like(self):
        return self.__like

    def dar_like(self):
        self.__like += 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'{self.nome} - {self.ano} - {self.like}'



#filme ----------------------------------------------

class Filme(Programa):
    def __init__(self, nome, ano, duração):
        super().__init__(nome, ano)
        self.duração = duração


#série ------------------------------------------------

class Série(Programa):
    def __init__(self, nome, ano, temporadas):
        super().__init__(nome, ano)
        self.temporadas = temporadas

# Playlist =============================================================================================================
class Playlist(list):
    def __int__(self, nome_da_playlis, programas):
        self.nome = nome_da_playlis
        super().__init__(programas)

    def tamanho(self):
        return len(self.programas)


programas da playlist -----------------------------------

vingadores  = Filme('vingadores',       2018,   160)

stranger    = Série('stranger things',  2022,   4)

uem         = Filme('um espião e meio', 2018,   120)

anne        = Série('anne com e',       2018,   3)

vingadores.dar_like()
vingadores.dar_like()
vingadores.dar_like()
stranger.dar_like()
stranger.dar_like()
stranger.dar_like()
stranger.dar_like()
stranger.dar_like()
stranger.dar_like()
stranger.dar_like()
stranger.dar_like()
uem.dar_like()
uem.dar_like()
uem.dar_like()
uem.dar_like()
uem.dar_like()
uem.dar_like()
uem.dar_like()
uem.dar_like()
anne.dar_like()
anne.dar_like()
anne.dar_like()
anne.dar_like()
anne.dar_like()
anne.dar_like()



filmes_e_séries = [vingadores, stranger, uem, anne]
fim_de_semana = Playlist('fim de semana', filmes_e_séries)

print(f'tamanho da playlist {len(fim_de_semana)}')

for programa in fim_de_semana:
    print(programa)

erro


    fim_de_semana = Playlist('fim de semana', filmes_e_séries)
TypeError: list expected at most 1 argument, got 2
1 resposta
solução!

O seu init está incorreto em Playlist, da uma verificada class Playlist(list): def >>> init <<<(self, nome_da_playlis, programas): self.nome = nome_da_playlis super().init(programas)

def getitem(self, item): return self.programas[item]

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software