Olá tudo bem? Estou com problema quanto a usar as seguintes funcionalidades in e for in
Quando uso o in para saber se o filme doutor estranho está contido na minha playlist final de semana espero que seja me passado o valor True mas me deparo com o valor False
#Verificando se tem o filme doutor estranho na playlist
print(f"O filme {filme_doutor_estranho.nome} está na playlist {playlist_fim_de_semana.nome}: {filme_doutor_estranho in playlist_fim_de_semana}")
Já em relação ao for in quando tento percorrer e exibir os itens dá minha playlist eles são preenchidos por None
#Escrevendo os filmes e as series contidas na playlist Fim de Semana na tela
for midia in playlist_fim_de_semana:
print(midia)
Código completo:
from random import randint
#Classe mãe destinada a todos as subclasses que envolvem um tipo de midia
class Midia:
def __init__(self, nome, ano_de_lancamento):
self._nome = nome.title()
self._ano_de_lancamento = ano_de_lancamento
self._likes = 0
def dar_like(self, likes = 1):
self._likes += likes
@property
def nome(self):
return self._nome
@property
def ano_de_lancamento(self):
return self._ano_de_lancamento
@property
def likes(self):
return self._likes
#Classe destinada aos filmes (Filha dá Classe Midia)
class Filme(Midia):
def __init__(self, nome, ano_de_lancamento, duracao_em_minutos):
super().__init__(nome, ano_de_lancamento)
self._duracao_em_minutos = duracao_em_minutos
def __str__(self):
return f"{self._nome} - {self._ano_de_lancamento} - {self._duracao_em_minutos} - {self._likes}"
#Classe destinada as series (Filha dá Classe Midia)
class Serie(Midia):
def __init__(self, nome, ano_de_lancamento, quantidade_de_temporadas):
super().__init__(nome, ano_de_lancamento)
self.quantidade_de_temporadas = quantidade_de_temporadas
def __str__(self):
return f"{self._nome} - {self._ano_de_lancamento} - {self.quantidade_de_temporadas} - {self._likes}"
#Classe destinada as Playlists
class Playlist:
def __init__(self, nome, lista_de_midias):
self._nome = nome
self._lista_de_midias = lista_de_midias
def __getitem__(self, item):
self._lista_de_midias[item]
@property
def nome(self):
return self._nome
@property
def lista_de_midias(self):
return self._lista_de_midias
@property
def tamanho_playlist(self):
return len(self._lista_de_midias)
#Iniciando os filmes e as series
serie_wandinha = Serie("wandinha", 2022, 1)
serie_big_mouth = Serie("big moth", 2017, 6)
filme_doutor_estranho = Filme("doutor estranho", 2016, 115)
filme_avatar_o_caminho_da_agua = Filme("Avatar: O Caminho da Água", 2022, 192)
filme_maze_runner_correr_ou_morrer = Filme("Maze Runner: Correr ou Morrer", 2014, 113)
#Realizando o ato de dar like
serie_wandinha.dar_like(randint(0, 101))
serie_big_mouth.dar_like(randint(0, 101))
filme_doutor_estranho.dar_like(randint(0, 101))
filme_avatar_o_caminho_da_agua.dar_like(randint(0, 101))
filme_maze_runner_correr_ou_morrer.dar_like(randint(0, 101))
#Criando a lista de filmes, series e filmes_e_series
filmes = [filme_doutor_estranho, filme_avatar_o_caminho_da_agua, filme_maze_runner_correr_ou_morrer]
series = [serie_wandinha, serie_big_mouth]
filmes_e_series = filmes + series
#Criando a Playlist
playlist_fim_de_semana = Playlist("Fim de Semana", filmes_e_series)
#Verificando se tem o filme doutor estranho na playlist
print(f"O filme {filme_doutor_estranho.nome} está na playlist {playlist_fim_de_semana.nome}: {filme_doutor_estranho in playlist_fim_de_semana}")
#Escrevendo o tamanho dá Playlist
print(f"Tamanho dá playlist {playlist_fim_de_semana.nome}: {playlist_fim_de_semana.tamanho_playlist}\n")
#Escrevendo os filmes e as series contidas na playlist Fim de Semana na tela
for midia in playlist_fim_de_semana:
print(midia)