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_de_publicacao):
self.titulo = titulo
self.autor = autor
self.ano_de_publicacao = ano_de_publicacao
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.
class Livro:
def __init__(self, titulo, autor, ano_de_publicacao):
self._titulo = titulo
self._autor = autor
self._ano_de_publicacao = ano_de_publicacao
self.disponivel = True
def __str__(self):
return f'{self._titulo} | {self._autor} | {self._ano_de_publicacao}'
livro_contos = Livro('Contos Inacabados', 'J.R.R. Tolkien', 1954)
livro_desentendimento = Livro('O Desentendimento', 'Jacques Ranciere', 1940)
print(livro_contos)
print(livro_desentendimento)
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.
@property
def disponibilidade(self):
return '☑' if self._disponivel else '☐'
def alternar_disponibilidade(self):
self._disponivel = not self._disponivel
livro_contos = Livro('Contos Inacabados', 'J.R.R. Tolkien', 1954)
livro_desentendimento = Livro('O Desentendimento', 'Jacques Ranciere', 1940)
livro_desentendimento.alternar_disponibilidade()
print(livro_desentendimento._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.
class Livro:
def __init__(self, titulo, autor, ano_de_publicacao):
self._titulo = titulo
self._autor = autor
self._ano_de_publicacao = ano_de_publicacao
self._disponivel = True
lista_de_livros = []
Livro.lista_de_livros.append(self)
def __str__(self):
return f'{self._titulo} | {self._autor} | {self._ano_de_publicacao}'
@property
def disponibilidade(self):
return '☑' if self._disponivel else '☐'
def alternar_disponibilidade(self):
self._disponivel = not self._disponivel
def verificar_disponibilidade(self, ano):
livros_disponiveis = [livro for livro in Livro.lista_de_livros if livro.ano_de_publicacao == ano and livro._disponivel]
return livros_disponiveis
livro_contos = Livro('Contos Inacabados', 'J.R.R. Tolkien', 1954)
livro_desentendimento = Livro('O Desentendimento', 'Jacques Ranciere', 1940)
livro_desentendimento.alternar_disponibilidade()
livro_desentendimento.verificar_disponibilidade
print(livro_desentendimento._disponivel)
5 - Crie um arquivo chamado biblioteca.py e importe a classe Livro neste arquivo.
Porém aparece esse erro: No module named 'modelos' Mas o diretório onde está localizada a biblioteca e os livros.
from modelos.livros import Livro
6 - No arquivo biblioteca.py, empreste o livro chamando o método emprestar e imprima se o livro está disponível ou não após o empréstimo.
from modelos.livros import Livro
livro_contos.alternar_ddisponibilidade()
print(livro_contos.disponibilidade)