Pessoa boa noite sempre tento fazer um pouquinho a mais do que exercicio pede dessa forma
class Programa:
def __init__(self, nome, ano, duracao):
self._nome = nome.title()
self.ano = ano
self.duracao = duracao
self._like =0
@property
def like(self):
return self._like
@property
def nome(self):
return self._nome
@nome.setter
def nome(self, novo_nome):
self._nome = novo_nome.title()
def dar_like(self):
self._like+=1
class Filme(Programa):
def __init__(self, nome, ano, duracao, classificacao):
'''super erda da classe mae
Chama só os atributos desejados
'''
super().__init__(nome, ano, duracao)
self.classificacao = classificacao
class Serie(Programa):
def __init__(self, nome, ano, duracao, temporada, episodios):
'''super erda da classe mae
Chama só os atributos desejados
'''
super().__init__(nome, ano, duracao)
self.temporada = temporada
self.episodios = episodios
if __name__ == '__main__':
vingadores = Filme("Vigadores Ultimato", 2020, "3:32:27", 'Ação')
vingadores.dar_like()
vingadores.dar_like()
vingadores.dar_like()
print(f"Nome da filme : {vingadores.nome}\nAno : {vingadores.ano}\nTempo : {vingadores.duracao}\nlikes = {vingadores.like}")
def linha ():
print("\n")
print("-"*30)
linha()
suits = Serie("Suits", 2020, "42:27", 9, 15)
suits.dar_like()
suits.dar_like()
suits.dar_like()
suits.dar_like()
suits.dar_like()
suits.dar_like()
suits.dar_like()
print(f"Nome da serie : {suits.nome}\nAno : {suits.ano}\nTempo : {suits.duracao}\nTemporadas : {suits.temporada}\nEpisodios {suits.episodios}\nlikes : {suits.like}")
filmes_e_series = [vingadores, suits]
for programa in filmes_e_series:
detalhes = programa.classificacao if hasattr(programa, 'detalhes') else programa.temporada, programa.episodios
print(f'{programa.nome} - {detalhes} - {programa.like}')
Mas da um erro
Se alguém puder me orientar desde já grato