#livro.py
class Livro:
lista_livros = []
def __init__(self, titulo="", autor="", ano=0):
self._titulo = titulo
self._autor = autor
self._ano = ano
self._disponivel = True
Livro.lista_livros.append(self)
def __str__(self):
return f"Título: {self._titulo.ljust(50)} | Autor: {self._autor.ljust(30)} | Ano: {str(self._ano).ljust(20)} | Disponível: {self._disponivel }"
def emprestar(self):
self._disponivel = False
def receber_devolução(self):
self._disponivel = True
@staticmethod
def verificar_disponibilidade(ano):
return [str(livro) for livro in Livro.lista_livros if livro._ano == ano and livro._disponivel]
#biblioteca.py
from livro import Livro
# Criação de instâncias
livro1 = Livro("O Capital no Século XXI", "Thomas Piketty", 2013)
livro2 = Livro("O Alquimista", "Paulo Coelho", 1988)
livro3 = Livro("1984", "George Orwell", 1949)
livro4 = Livro("A Revolução dos Bichos", "George Orwell", 1945)
livro5 = Livro("Berço dos Super-Humanos", "Arthur C. Clarke e Gentry Lee", 1988)
livro6 = Livro("Dom Casmurro", "Machado de Assis", 1899)
# Empréstimo e devolução de livros
livro5.emprestar()
livro3.emprestar()
print(Livro.verificar_disponibilidade(1949))
livro3.receber_devolução()
print(Livro.verificar_disponibilidade(1949))
# Pesquisa por ano
ano_pesquisa = int(input("Digite o ano de publicação de livros que deseja pesquisar:\n"))
pesquisa_por_ano = Livro.verificar_disponibilidade(ano_pesquisa)
# Impressão dos livros disponíveis no ano pesquisado
if pesquisa_por_ano != []:
print(f"Livros disponíveis publicados no ano de {ano_pesquisa}:")
for livro in pesquisa_por_ano:
print(f"Título: {livro._titulo.ljust(30)} | Autor: {livro._autor.ljust(30)} | Ano: {str(livro._ano).ljust(20)} | Disponível: {livro._disponivel}")
else:
print(f"Não há disponibilidade de livros publicados no ano de {ano_pesquisa}.")
#main.py
from livro import Livro
# Criação de duas instâncias
livro7 = Livro("Orgulho e Preconceito", "Jane Austen", 1813)
livro8 = Livro("O Senhor dos Anéis", "J.R.R. Tolkien", 1954)
livro9 = Livro("Cem Anos de Solidão", "Gabriel García Márquez", 1967)
livro10 = Livro("O Grande Gatsby", "F. Scott Fitzgerald", 1925)
livro11 = Livro("Memórias Póstumas de Brás Cubas", "Machado de Assis", 1881)
# Impressão das instâncias
print(livro8)
print(livro11)