Oi pessoal, tudo bem? Indo direto ao ponto, estou com uma dificuldade de cumprir um desafio que fiz pra mim mesmo de tentar fazer uma lista que se alimenta automaticamente utilizando OO.
====
O estória é a seguinte:
Utilizando objetos, gostaria de incrementar uma lista de filmes, automaticamente, à partir de um código que verifica se existe um novo filme em uma sequencia de filmes.
===
Até onde cheguei:
Criei uma class de filmes com os atributos dos filmes que precisam estar representados pelo objeto e fiz as built in's e os gets para gerar as saídas que eu preciso:
class Filmes:
def __init__(self, nome, diretor, ano_lancamento):
self.nome = nome
self.diretor = diretor
self.ano_lancamento = ano_lancamento
def __repr__(self):
return "nome:%s diretor:%s ano:%s"% (self.nome, self.diretor, self.ano_lancamento)
def get_nome(self):
return self.nome
def get_diretor(self):
return self.diretor
def get_ano_lancamento(self):
return self.ano_lancamento
Criei uma lista de filmes respeitando os atributos da clase:
filme1 = Filmes("Filme1", "Diretor1", 1985)
filme2 = Filmes("Filme2", "Diretor2", 1986)
filme3 = Filmes("Filme3", "Diretor3", 1987)
filme4 = Filmes("Filme4", "Diretor4", 1988)
filme5 = Filmes("Filme5", "Diretor5", 1989)
filme6 = Filmes("Filme6", "Diretor6", 1990)
filme7 = Filmes("Filme7", "Diretor7", 1991)
Iniciei uma lista de filmes vazia fiz uma lista de "filmes entrantes" que representa os filmes que estou cadastrando no meu sistema implementei um "extend" para incrementar essa lista
lista_de_filmes = []
filmes_entrantes = [filme1,filme2,filme3,filme4,filme5,filme6,filme7]
lista_de_filmes.extend(filmes_entrantes)
imprimo a lista de filmes
print(lista_de_filmes)
Até aí tudo bem, o código está funcionando legal.
Porém, o meu requisito é de que para cada filme novo que eu cadastre no meu sistema, a lista de "filmes_entrantes" seja incrementada automáticamente. Por exemplo, eu gostaria que o sistema fosse inteligente para que a partir do momento em que um "filme8" fosse adicionado, a lista de filmes fosse incrementada com esse filme sem que eu precise passar o "filme8" para lista de "filmes_entrantes"
Como alternativa que não me satisfez eu criei um arquivo "filmes.txt" com uma lista de filmes e chamei uma função "open" para varrer as linhas e incrementar cada linha nova à minha lista. O código funciononou, porém, desta forma eu não uso as classes e nem os objetos:
lista_de_filmes = []
with open("filmes.txt") as base_filmes:
for filmes in base_filmes:
filmes_entrantes = [filmes]
lista_de_filmes.extend(filmes_entrantes)
print(lista_de_filmes)
Conseguem me ajudar a implementar a lista de filmes automatizada utilizando a classe Filmes e aplicando aos objetos?
Obrigado desde já pelo apoio! Curso muito bom!!!!