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

minha atribuição self.like += dá erro

Fica dando erro no meu Atlanta.dar_like(), o erro é line 38, in Atlanta.dar_like() e depois aparece esse erro aqui File C:/Users/Anna/PycharmProjects/Modelo/main.py", line 12, in dar_like self.like += 1 AttributeError: can't set attribute

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

    @property
    def like(self):
        return self._like

    def dar_like(self):
        self.like += 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
    def retorna_cadastro_diferenciado(self):
        pass

class Serie(Programa):
    def __init__(self, nome, ano, temporadas):
        super().__init__(nome, ano)
        self.temporadas = temporadas

Atlanta = Serie('atlanta', 2018, 2)
Vingadores = Filme('Vingadores - guerra infinita', 2018, 160)
Atlanta.dar_like()
Atlanta.dar_like()

Vingadores.dar_like()
Vingadores.dar_like()
Vingadores.dar_like()
print(f' {Atlanta.nome} - {Atlanta.ano} - {Atlanta.temporadas} : {Atlanta.like}')
print(f'{Vingadores.nome} - {Vingadores.ano} - {Vingadores.duracao} : {Vingadores.like}')

solução!

Olá,

Me parece apenas o nome da variável, você utilizou "like" e um método e "_like" no outro.

Abs

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software