Meu code
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_like(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
batman = Filme('Batman, o cavaleiro das trevas', 2008, 152)
batman.dar_like()
batman.dar_like()
batman.dar_like()
print(f'Nome: {batman.nome} - {batman.ano} - {batman.duracao} :{batman.likes}')
house = Serie('House, M.D', 2018, 8)
house.dar_like()
house.dar_like()
print(f'Nome: {house.nome} - {house.ano} - {house.temporadas} :{house.likes}')
filmes_e_series = [batman, house]
for programa in filmes_e_series:
detalhes = programa.duracao if hasattr(programa, 'duracao') else programa.temporadas
print(f'{programa.nome} - {detalhes} D - {programa.likes}')
entretanto:
Traceback (most recent call last):
File "C:\Users\lucas\PycharmProjects\pythonProject\python3oo2\modelo.py", line 31, in <module>
class Serie(Programa):
File "C:\Users\lucas\PycharmProjects\pythonProject\python3oo2\modelo.py", line 43, in Serie
house = Serie('House, M.D', 2018, 8)
NameError: name 'Serie' is not defined
Nome: Batman, O Cavaleiro Das Trevas - 2008 - 152 :3
Process finished with exit code 1
o que poderia ser?
desde já obrigado.