o codigo falho
class programas:
def __init__(self, nome, ano, duracao):
self._nome = nome.title()
self.ano = ano
self.duracao = duracao
self._likes = 0
@property
def likes(self):
return self._likes
@property
def nome(self):
return self._nome
@nome.setter
def nome(self, novonome):
self._nome = novonome.title
def like(self):
self._likes += 1
class filme(programas):
def __init__(self,nome,ano,duracao):
super().__init__(nome, ano)
self.duracao = duracao
vingadores = filme('vingadores',2018,160)
vingadores.like()
print(f'nome: {vingadores.nome} - ano: {vingadores.ano} - duracao : {vingadores.duracao} - like:{vingadores.likes}')
class serie(programas):
def __init__(self,nome,ano,temporadas):
super().__init__(nome,ano)
self.temporadas = temporadas
limitless = serie('limitless', 2017, 1)
limitless.like()
limitless.nome = 'limitless'
print(f'nome: {limitless.nome} - ano: {limitless.ano} - temporadas : {limitless.temporadas} - like:{limitless.likes}')
o codigo do professor
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, 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)
atlanta = Serie('atlanta', 2018, 2)
vingadores.dar_likes()
vingadores.dar_likes()
vingadores.dar_likes()
atlanta.dar_likes()
atlanta.dar_likes()
print(f'Nome: {vingadores.nome} - Likes: {vingadores.likes}')
print(f'Nome: {atlanta.nome} - Likes: {atlanta.likes}')
o resultado do codigo falho
Traceback (most recent call last):
File "C:/Users/User/Documents/historias, criatividade e ciencia/programas/play.py", line 32, in <module>
vingadores = filme('vingadores',2018,160)
File "C:/Users/User/Documents/historias, criatividade e ciencia/programas/play.py", line 25, in __init__
super().__init__(nome, ano)
TypeError: __init__() missing 1 required positional argument: 'duracao'
Process finished with exit code 1
oque deveria acontecer
Nome: Vingadores - Guerra Infinita - Likes: 3
Nome: Atlanta - Likes: 2
Process finished with exit code 0
nota: as diferensas de nomes vingadores e limitless para o atlanta no nome do professor é intencional e não é a causa