Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

como imprimir uma lista de uma classe?

class Livro: disponiveis = []

def init(self, titulo, autor, ano_publicacao, disponivel=True): self.titulo = titulo self.autor = autor self.ano_publicacao = ano_publicacao self.disponivel = disponivel Livro.disponiveis.append(self)

como posso imprimir a lista disponiveis? minhas tentativas:
print(livro.disponiveis) - somente aparece as instancias apontadas para memoria dentro de uma lista. Mas como vejo a lista??
2 respostas
solução!

Olá!

Neste caso, o correto é criar uma classe que mostra os Livros disponíveis, na Orientação de objetos, a classe Livro assume um objeto, e não uma lista de objetos.

Para resolver isso, vamos criar a classe de LivrosDisponiveis, ela vai possuir uma variavel que irá armazenar todos livros que você registrar

Abaixo deixo um código de exemplo:

class Livro:

    def __init__(self, titulo, autor, ano_publicacao, disponivel=True):
        self.titulo = titulo
        self.autor = autor
        self.ano_publicacao = ano_publicacao
        self.disponivel = disponivel

class LivrosDisponiveis:
    def __init__(self):
        self.listaLivros = []

    def adicionarLivro(self, livro):
        self.listaLivros.append(livro)

    def exibirLivros(self):
        for livro in self.listaLivros:
            print(livro.titulo)

Exemplo: Incluindo livros na classe LivrosDisponiveis usando o console

from Livro import Livro
from Livro import LivrosDisponiveis

livro = Livro("Titulo 1", "Autor 1", "2024")
livrosDisponiveis = LivrosDisponiveis()
livrosDisponiveis.adicionarLivro(livro)
livrosDisponiveis.exibirLivros()

Brother, que top!. valeu demais amigo.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software