Codigo
class Programa:
def __init__(self, nome, ano, duracao):
self._nome = nome.title()
self.ano = ano
self.duracao = duracao
self._like =0
@property
def like(self):
return self._like
@property
def nome(self):
return self._nome
@nome.setter
def nome(self, novo_nome):
self._nome = novo_nome.title()
def dar_like(self):
self._like+=1
'''
def imprime(self):
print(f"Nome da serie : {suits.nome}\nAno : {suits.ano}\nTempo : {suits.duracao}\nlikes : {suits.like}")
'''
#Representação Textual
def __str__(self):
return f"Nome da serie : {suits.nome}\nAno : {suits.ano}\nTempo : {suits.duracao}\nlikes : {suits.like}"
class Filme(Programa):
def __init__(self, nome, ano, duracao, classificacao):
'''super erda da classe mae
Chama só os atributos desejados
'''
super().__init__(nome, ano, duracao)
self.classificacao = classificacao
'''
def imprime(self):
print(f"Nome da filme : {vingadores.nome}\nAno : {vingadores.ano}\nTempo : {vingadores.duracao}\nlikes = {vingadores.like}\nClassificação : {vingadores.classificacao} ")
'''
#Representação textual
def __str__(self):
return f"Nome da filme : {self.nome}\nAno : {self.ano}\nTempo : {self.duracao}\nlikes = {self.like}\nClassificação : {self.classificacao}"
class Serie(Programa):
def __init__(self, nome, ano, duracao, temporada, episodios):
'''super erda da classe mae
Chama só os atributos desejados
'''
super().__init__(nome, ano, duracao)
self.temporada = temporada
self.episodios = episodios
'''
def imprime(self):
print(f"Nome da serie : {suits.nome}\nAno : {suits.ano}\nTempo : {suits.duracao}\nTemporadas : {suits.temporada}\nEpisodios {suits.episodios}\nlikes : {suits.like}")
'''
#representação textual
def __str__(self):
return f"Nome da serie : {self.nome}\nAno : {self.ano}\nTempo : {self.duracao}\nTemporadas : {self.temporada}\nEpisodios {self.episodios}\nlikes : {self.like}"
'''
class Playlist(list):
def __init__(self, nome, programas):
self.nome = nome
super().__init__(programas)
'''
class Playlist:
def __init__(self, nome, programas):
self.nome = nome
self._programas = programas
#retorna os itens
def __getitem__(self, item):
return self._programas[item]
@property
def listagem(self):
return self._programas
@property
def tamnho(self):
return len(self._programas)
if __name__ == '__main__':
vingadores = Filme("Vigadores Ultimato", 2020, "3:32:27", 'Ação')
suits = Serie("Suits", 2020, "42:27", 9, 15)
interstelar = Filme("interstelar", 2018, "2:42:27", 'Ficção Cientifica')
black_mirros = Serie("black mirros", 2016, "42:27", 6, 13)
vingadores.dar_like()
vingadores.dar_like()
vingadores.dar_like()
#print(f"Nome da filme : {vingadores.nome}\nAno : {vingadores.ano}\nTempo : {vingadores.duracao}\nlikes = {vingadores.like}")
def linha ():
print("-"*30)
interstelar.dar_like()
interstelar.dar_like()
black_mirros.dar_like()
black_mirros.dar_like()
suits.dar_like()
suits.dar_like()
suits.dar_like()
#print(f"Nome da serie : {suits.nome}\nAno : {suits.ano}\nTempo : {suits.duracao}\nTemporadas : {suits.temporada}\nEpisodios {suits.episodios}\nlikes : {suits.like}")
filmes_e_series = [vingadores, suits, interstelar, black_mirros]
playlist_fim_de_semana = Playlist("Fim de semana", filmes_e_series)
linha()
print(f"O tamnho da playlist: {len(playlist_fim_de_semana)}")
linha()
for programa in playlist_fim_de_semana:
print(programa)
linha()
'''
detalhes = programa.classificacao if hasattr(programa, 'classificacao') else (programa.temporada, programa.episodios)
print(f'{programa.nome} - {detalhes} - {programa.like}')'''
ERRO
<built-in method format of str object at 0x7f472cc10cb0>
Traceback (most recent call last):
File "modelo.py", line 128, in <module>
print("O tamnho da playlist: {0}".format)(len(playlist_fim_de_semana))
TypeError: object of type 'Playlist' has no len()
Programa utilizado VScode