1
resposta

Não executa o dar_likes

pessoal o que esta errado neste codigo...? quando chamo o atributo atlanta.dar_like() me devolve um erro e nao estou conseguindo corrigir

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_like(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):
        self._nome = nome.title()
        self.ano = ano
        self.duracao = duracao
        self.likes = 0

class Serie(Programa):
    def __init__(self, nome, ano, temporadas):
        self._nome = nome.title()
        self.ano = ano
        self.temporadas = temporadas
        self.likes = 0

vingadores = Filme('vingadores- guerra infinita1', 1978, 2)
vingadores.dar_like()
print("O seriado {} foi passado no ano de {}, com uma duração de {} horas, e ".format(vingadores.nome, vingadores.ano, vingadores.duracao,vingadores.likes))
atlanta = Serie('atlanta ', 2018, 2)
atlanta.dar_like()
atlanta.dar_like()
print("O seriado {} foi passado no ano de {}, com uma duração de {} horas, e ".format(atlanta.nome, atlanta.ano, atlanta.temporadas, atlanta.likes))
1 resposta

Boa tarde, Henaldo! Tranquilo? Espero que já tenha conseguido resolver esse probleminha hehe, mas vamos lá, dei uma olhada aqui e pelo jeito estava falando a parte do setter com o atributo likes, deixar como está com o atributo nome, adicionando somente isso no código já fez ele funcionar aqui.

@property
    def likes(self):
        return self._likes

@likes.setter
    def likes(self,likes):
        self._likes = likes

Um texto bônus que fala um pouco sobre o getter e setter com o @property https://www.geeksforgeeks.org/getter-and-setter-in-python/