Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Meu código não funciona

O meu código não funciona, alguém sabe me dizer por quê

class Programa:
    def __init__(self, nome, ano):
        self._nome = nome.title()
        self._ano = ano
        self._like = 0

    @property
    def dar_like(self):
        self._like += 1

    @property
    def obter_likes(self):
        print(f'Esse filme tem {self._like} likes')
        print(f'Essa série tem {self._like} likes')

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

    def print(self):
        Silvio_Santos = Programa('Silvio', '2010')
        Anne = Serie('Anne', 2017, 3)
        filmes_e_series = [Silvio_Santos._nome, Anne._nome]
        for programa in filmes_e_series:
            print(f'{programa.nome} -  {programa.likes}')

Quando eu tento fazer a função print ele dá:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Python38\Teste.py", line 32, in print
    print(f'{programa.nome} -  {programa.likes}')
AttributeError: 'str' object has no attribute 'nome'
2 respostas

Agradeço se alguém responder :)

solução!

Já descobri, obrigado ;)