#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