1
resposta

Mãos na massa; meu código ficou assim


class Programa:
    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


    def dar_like(self):
        self._likes += 1


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


    def __str__(self):
        return f'{self._nome} - {self.ano} - {self._likes} Likes'


class Filme(Programa):
    def __init__(self,nome,ano,duracao):
        super().__init__(nome,ano)
        self.duracao = duracao


    def __str__(self):
        return f'Nome: {self._nome} - {self.duracao} min - Likes: {self._likes}'


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


    def __str__(self):
        return f'Nome: {self._nome} - {self.temporadas} temporadas - Likes: {self._likes}'


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

atlanta.dar_like()
atlanta.dar_like()

listinha = [atlanta, vingadores]

for programa in listinha:
    print(f'Nome: {programa.nome} - Likes: {programa.likes}')


[Running]
Nome: Atlanta - Likes: 2
Nome: Vingadores - Guerra Infinita - Likes: 3

[Done] exited with code=0 in 0.407 seconds

1 resposta

Oii Douglas,

Meus parabéns pelo seu desenvolvimento e empenho para com as atividades propostas.

Conte sempre com o fórum.

Abraços e bons estudos.