O meu código está dando o seguinte erro:
Traceback (most recent call last):
File "D:\Documentos\Python Projetos\oo2\modelo.py", line 44, in <module>
detalhes = programa.duracao if hasattr(programa, 'duracao') else programa.temporadas
AttributeError: 'Filme' object has no attribute 'temporadas'
O meu codigo completo:
class Programa:
def __init__(self, nome, ano):
self._nome = nome.title()
self._ano = ano
self._likes = 0
@property
def likes(self):
return self._likes
def dar_likes(self):
self._likes += 1
@property
def nome(self):
return self._nome
@nome.setter
def nome(self, novo_nome):
self._nome = novo_nome.title()
class Filme(Programa):
def __init__(self, nome, ano, duracao):
super().__init__(nome, ano)
self._duracao = duracao
class Serie(Programa):
def __init__(self, nome, ano, temporadas):
super().__init__(nome, ano)
self._temporadas = temporadas
vingadores = Filme('vingadores - guerra infinita', 2018, 160)
vingadores.dar_likes()
atlanta = Serie('atlanta', 2018, 2)
atlanta.dar_likes()
atlanta.dar_likes()
filmes_e_series = [vingadores, atlanta]
for programa in filmes_e_series:
detalhes = programa.duracao if hasattr(programa, 'duracao') else programa.temporadas
print(f'{programa.nome} - {detalhes} D - {programa.likes}')