O console está mostrando problema com a sintaxe :
return f'Nome: {self.nome} Likes: {self.likes}'
^
SyntaxError: invalid syntax
Qual o problema ? Existe outra forma de retornar uma string ?
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_likes(self):
self._likes += 1
@property
def nome(self):
return self._nome
@nome.setter
def nome(self, nome):
self._nome = nome
def __str__(self):
return f'Nome: {self.nome} Likes: {self.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}'
class Playlist():
def __init__(self, nome, programas):
self.nome = nome
self._programas = programas
@property
def listagem(self):
return self._programas
@property
def tamanho(self):
return len(self._programas)
vingadores = Filme('vingadores - guerra infinita', 2018, 160)
atlanta = Serie('atlanta', 2018, 2)
tmep = Filme('todo mundo em panico', 1999, 100)
demolidor = Serie('demolidor', 2016, 2)
vingadores.dar_likes()
vingadores.dar_likes()
vingadores.dar_likes()
atlanta.dar_likes()
atlanta.dar_likes()
tmep.dar_likes()
tmep.dar_likes()
demolidor.dar_likes()
demolidor.dar_likes()
listinha = [atlanta, vingadores, demolidor, tmep]
minha_playlist = Playlist('fim de semana', listinha)
for programa in minha_playlist.listagem:
print(programa)
print(f'Tamanho: {len(minha_playlist.listagem)}')