Boa tarde, toda vez que eu rodo o código ele imprime o seguinte:
Nome: Atlanta - Ano: 2018 - Temporadas: 2 - Likes: 3 Nome: Vingadores - Guerra Infinita - Ano: 2018 - Temporadas: 160 - Likes: 4
Não entendo pq está retornando somente temporada e não temporada e duração
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, nome):
self._nome = nome
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_like()
vingadores.dar_like()
vingadores.dar_like()
vingadores.dar_like()
#print(f'Nome: {vingadores.nome} - Ano:{vingadores.ano} - Duração:{vingadores.duracao} - Likes: {vingadores.like}')
atlanta = serie('atlanta', 2018, 2)
atlanta.dar_like()
atlanta.dar_like()
atlanta.dar_like()
#print(f'Nome: {atlanta.nome} - Ano: {atlanta.ano} - Temporadas: {atlanta.temporadas} - Likes: {atlanta.like}')
filmes_series = [atlanta, vingadores]
for programa in filmes_series:
detalhes = programa.temporadas if hasattr (programa, "temporadas") else programa.duracao
print(f'Nome: {programa.nome} - Ano: {programa.ano} - Temporadas: {detalhes} - Likes: {programa.like}')