#exercicio 1
#Crie uma classe chamada Livro com um construtor que aceita os parâmetros titulo, autor e ano_publicacao. Inicie um atributo chamado disponivel como True por padrão.
class Livro:
def __init__(self,titulo, autor, ano_publicado):
self.titulo = titulo
self.autor = autor
self.ano_publicado = ano_publicado
self.disponivel = True
#2. Na classe Livro, adicione um método especial str que retorna uma mensagem formatada com o título, autor e ano de publicação do livro. Crie duas instâncias da classe Livro e imprima essas instâncias.
def __str__(self):
return f"Livro: {self.titulo} | Autor: {self.autor} | Ano de Publicação: {self.ano_publicado}"
livro1 = Livro("Aprendendo Python", "John Doe", 2022)
livro2 = Livro("Data Science Fundamentals", "Jane Smith", 2020)
print(livro1)
print(livro2)
#3. Adicione um método de instância chamado emprestar à classe Livro que define o atributo disponivel como False. Crie uma instância da classe, chame o método emprestar e imprima se o livro está disponível ou não.
def emprestar(self):
self.disponivel = False
livro3 = Livro("Python Cookbook", "Samuel Developer", 2019)
print(f"Antes de emprestar: Livro disponível? {livro3.disponivel}")
livro3.emprestar()
print(f"Depois de emprestar: Livro disponível? {livro3.disponivel}")
#4. Adicione um método estático chamado verificar_disponibilidade à classe Livro que recebe um ano como parâmetro e retorna uma lista dos livros disponíveis publicados nesse ano.
@staticmethod
def verificar_disponibilidade(ano):
livros_disponiveis = [livro for livro in Livro.livros if livro.ano_publicacao == ano and livro.disponivel]
return livros_disponiveis
Livro.livros = [livro1,livro2,livro3]
5,6,7 - 8-