class Programa:
def __init__(self, nome, ano):
self._nome = nome.title()
self.ano = ano
self._likes = 0
@property
def nome(self):
return self._nome
@property
def likes(self):
return self._likes
@nome.setter
def nome(self, nome):
self._nome = nome.title()
def dar_like(self):
self._likes += 1
class Filme(Programa):
def __init__(self, nome, ano, duracao):
super().__init__(nome, ano)
self.duracao = duracao
def __str__(self):
return f"{self.nome} - {self.duracao} min - {self.likes} 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.temporadas} Temporadas - {self.likes} Likes"
class Playlist:
def __init__(self, nome, programas):
self.nome = nome
self._programas = programas
@property
def listagem(self):
return self._programas
@property
def tamanho(self):
return len(self._programas)
if __name__ == '__main__':
vingadores = Filme("Vingadores: guerra infinita", 2018, 160)
tmep = Filme("Todo mundo em panico", 1999, 100)
demolidor = Serie("demolidor", 2016, 2)
atlanta = Serie("atlanta", 2018, 2)
vingadores.dar_like()
tmep.dar_like()
tmep.dar_like()
tmep.dar_like()
tmep.dar_like()
atlanta.dar_like()
atlanta.dar_like()
demolidor.dar_like()
demolidor.dar_like()
filmes_e_series = [vingadores, atlanta, demolidor, tmep]
playlist = Playlist("Para maratonar", filmes_e_series)
for item in playlist.listagem:
print(item)
print(f"Tamanho da playlist: {playlist.tamanho}")