class Programa:
def __init__(self, nome, ano, duracao):
self._nome = nome.title()
self.ano = ano
self.duracao = duracao
self._likes = 0
def dar_like (self):
self._likes += 1
@property
def likes (self):
return self._likes
@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, duracao)
self.duracao = duracao
class Serie (Programa):
def __init__(self, nome, ano, temporadas):
super().__init__(nome, ano, temporadas)
self.temporadas = temporadas
vingadores = Filme("vingadores", 2018, 2.5)
greys = Serie ("greys", 2016, 70)
vingadores.dar_like()
vingadores.dar_like()
print("Título: {} Lançamento: {} Duração: {} horas Likes: {}".format(vingadores.nome, vingadores.ano, vingadores.duracao, vingadores.likes))
print("Título: {} Lançamento: {} Duração: {} horas Likes: {}".format(greys.nome, greys.ano, greys.duracao, greys.likes))
Olá, boa noite!
Quando eu acrescento o "super" e vou rodar o código, ele fica com erro se eu não adiciono "duração" no init de filmes e a mesma coisa para "temporadas" na série. Adicionando roda normal.. É comum ou fiz algo errado? :)