#ARQUIVO 1
class Livro:
lista_livros = []
def __init__(self, titulo: str, autor: str, ano_publicacao: int, disponivel: bool = True):
self._titulo = titulo
self._autor = autor
self._ano_publicacao = ano_publicacao
self._disponivel = disponivel
Livro.lista_livros.append(self)
def __str__(self):
return f'{self._titulo.ljust(25)} | {self._autor.ljust(25)} | {str(self._ano_publicacao).ljust(10)} | {"Disponível" if self._disponivel else "Indisponível"}'
def emprestar(self):
self._disponivel = False
def esta_disponivel(self):
return self._disponivel
@staticmethod
def verificar_disponibilidade(ano: int):
return [livro for livro in Livro.lista_livros if livro._ano_publicacao == ano and livro._disponivel]
Biblioteca.py
from modelos.Exec2 import Livro
livro1 = Livro('A Paciente Silenciosa','Alex Michaelides', 2019)
livro2 = Livro('Fortaleza Digital','Dan brown', 1998)
livro1.emprestar()
print(f"{livro1._titulo} está disponível? {livro1.esta_disponivel()}")
print(f"{livro2._titulo} está disponível? {livro2.esta_disponivel()}")
disponiveis_1998 = Livro.verificar_disponibilidade(1998)
print("\nLivros disponíveis:")
for l in disponiveis_1998:
print(l)
Main.py
from livro import Livro
livro3 = Livro("O Hobbit", "J.R.R. Tolkien", 1937)
livro4 = Livro("1984", "George Orwell", 1949)
print("\nLivros cadastrados:")
print(livro3)
print(livro4)