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

codigo n funciona

o codigo é

class programas:
    def __init__(self, nome, ano ):
        self._nome = nome.title()
        self.ano = ano
        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
    def imprime(self):
        print(f'{self._nome} - {self.ano} - {self._likes}')

class filme(programas):
    def __init__(self,nome,ano,duracao):
        super().__init__(nome, ano)
        self.duracao = duracao

    def imprime(self):
        print(f'{self._nome} - {self.ano} - {self.duracao} - {self._likes}')


vingadores = filme('vingadores',2018,160)
vingadores.like()



class serie(programas):
    def __init__(self,nome,ano,temporadas):
        super().__init__(nome,ano)
        self.temporadas = temporadas

    def imprime(self):
        print(f'{self._nome} - {self.ano} - {self.temporadas} - {self._likes}')


limitless = serie('limitless', 2017, 1)
limitless.like()

limitless.nome = 'limitless'


L = [vingadores, limitless]

for programas in L:
    programas.imprime()

ele esta imprimindo a serie sem o nome e mostrando aquela loucura de memoria e n esta imprimindo limitless ajuda pf

Vingadores - 2018 - 160 - 1
<built-in method title of str object at 0x0000000001EA25F0> - 2017 - 1 - 1

Process finished with exit code 0
2 respostas

Para funcionar, você tem que comentar a linha que set o nome " limitless.nome = 'limitless'" e irá funcionar..


limitless = serie('limitless', 2017, 1)
limitless.like()
#limitless.nome = 'limitless'
solução!

Ah... Se quiser arrumar o erro, é porque vc precisa de colocar os parentes no title...

@nome.setter
    def nome(self, novonome):
        self._nome = novonome.title()