Olá, não tenho certeza se criei as pastas corretamente...se main era para ser fora da pasta modelos e biblioteca.py era para ser dentro da pasta modelos
Classe Livro
class Livro:
livros = []
def __init__(self, titulo, autor, ano_publicacao):
self._titulo = titulo
self._autor = autor
self._ano_publicacao = ano_publicacao
self._disponivel = True
Livro.livros.append(self)
def __str__(self):
return f'{self._titulo} | {self._autor} | {self._ano_publicacao}'
@classmethod
def listar_livros(cls):
print(f'{'Nome do livro'.ljust(25)} | {'Nome do autor'.ljust(25)} | {'Ano'}')
for livros in cls.livros:
print(f'{livros._titulo.ljust(25)} | {livros._autor.ljust(25)} | {livros._ano_publicacao}')
def emprestar(self):
self._disponivel = False
@staticmethod
def verificar_disponibilidade(ano):
livros_disponiveis = [livro for livro in Livro.livros if livro._ano_publicacao == ano and livro._disponivel]
if livros_disponiveis:
livros_disponiveis_str = ", ".join(livro.__str__() for livro in livros_disponiveis)
else:
livros_disponiveis_str = "Nenhum livro disponível"
return livros_disponiveis_str
print()
livro1 = Livro('O código Da Vinci', 'C. S. Lewis', 1950)
livro2 = Livro('O Alquimista', 'Paulo Coelho', 1988)
print(livro1)
print(livro2)
print()
livro3 = Livro('O sol é para todos', 'Harper Lee', 1960)
print(livro3)
print(f'Antes de emprestar: Livro disponível? {livro3._disponivel}')
livro3.emprestar()
print(f'Depois de emprestar: Livro disponível? {livro3._disponivel}')
print()
Livro.livros = [livro1, livro2, livro3] # Adicionando os livros à lista de livros
biblioteca.py
from modelos.livros import Livro
livro_novo = Livro('Titulo livro', 'Autor livro', 1991)
livro_velho = Livro('Titulo velho', 'Autor velho', 1876)
livrooo = Livro('title', 'autor', 1876)
print()
print(livro_novo)
print(livro_velho)
print()
print(f'Antes de emprestar o livro (biblioteca): livro disponivel? {livro_novo._disponivel}')
livro_novo.emprestar()
print(f'Depos de emprestar o livro (biblioteca): livro disponivel? {livro_novo._disponivel}')
print()
ano_livro = 1876
livro_disponivel_pelo_ano = Livro.verificar_disponibilidade(ano_livro)
print(f'Livros disponiveis em {ano_livro}: {livro_disponivel_pelo_ano}')
def main():
Livro.listar_livros()
if __name__ == '__main__':
main()
modelos/main.py
from livros import Livro
livro_melhor_do_mundo = Livro('Melhor livro do mundo', 'Melhor autor do mundo', 1500)
livro_pior_do_mundo = Livro('Pior livro do mundo', 'Pior autor do mundo ', 1501)
print(livro_melhor_do_mundo)
print(livro_pior_do_mundo)
print()
def main():
Livro.listar_livros()
if __name__ == '__main__':
main()