1
resposta

Hora da prática: criando classes, construtores e métodos - Minha resolução

class Livro:

    livros = []

    def __init__(self, titulo, autor, ano_pubicacao = int):
        self._titulo = titulo
        self._autor = autor
        self._ano_publicacao = ano_pubicacao
        self._disponivel = True

    def __str__(self):
        return f'{self._titulo.ljust(25)} | {self._autor.ljust(25)} | {self._ano_publicacao}'
    
    def emprestar(self):
        self._disponivel = not self._disponivel

    @property
    def emprestado(self):
        return f'O livro {self._titulo} está disponível' if self._disponivel else f'O livro {self._titulo} não está disponível\n'
    
    def verificar_disponibiliade():
        ano = int(input('Digite o ano do livro que deseja procurar: '))
        soma = 0
        print()
        for livro in Livro.livros:
            if ano == livro._ano_publicacao:
                print(livro)
            else:
                soma += 1            
        if soma == Livro.livros.__len__():
            print(f'Não existem livros disponíveis do ano de {ano} ')

arquivo (main)

from ex05 import Livro

livro01 = Livro('Vidas Cruzadas', 'Fernando Simão', 1978)
Livro.livros.append(livro01)
livro02 = Livro('Jogos Jogados', 'Marcos Ditão', 1768)
Livro.livros.append(livro02)
livro03 = Livro('Culinária Francesa', 'Pierre', 1978)
Livro.livros.append(livro03)

def main():
    print(livro01)
    print(livro02)
    print(livro03)
    livro01.emprestar()
    print()
    print(livro01.emprestado)
    Livro.verificar_disponibiliade()

if __name__ == '__main__':
    main()
1 resposta

Olá Eduardo! Tudo certo?

Analisando o seu código, posso dizer que você fez um excelente trabalho. Ele está correto e segue as instruções do desafio.

Então, continue com o bom trabalho e não hesite em pedir ajuda sempre que precisar.

Bons estudos!