1
resposta

Mãos na massa

class Programa:

def __init__(self, nome, ano):
    self._nome = nome.title()
    self.ano = ano
    self._likes = 0

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

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

@property
def nome(self):
    return self._nome

@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"{self._nome} - {self.ano} - {self.duracao} min - {self._likes} Likes"

class Serie(Programa):

def __init__(self, nome, ano, temporada):

    super().__init__(nome, ano)

    self.temporada = temporada

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

vingadores = Filme("vingadores - guerra infinita", 2018, 160)

atlanta = Serie("atlanta", 2020, 2)

vingadores.dar_likes() vingadores.dar_likes() atlanta.dar_likes()

filmes_e_series = [vingadores, atlanta]

for programa in filmes_e_series:

#detalhes = programa.duracao if hasattr(programa, 'duracao') else programa.temporada
print(programa)
1 resposta

Olá, Marcelo! Tudo bem?

Mandou bem!

Agora nós já resolvemos vários problemas do nosso programa, e estamos com o código mais pythônico.

Ficou com alguma dúvida? Caso tenha ficado compartilhe com a gente aqui no fórum.

Até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!