Python - ¿Como puedo agregar valore a una lista que esta en una clase en python?

 
Vista:
sin imagen de perfil

¿Como puedo agregar valore a una lista que esta en una clase en python?

Publicado por Miqueas (1 intervención) el 25/05/2023 02:01:20
Tengo un dolor de cabeza y es que quiero saber como puedo agregarle valores a una lista que está en una claseen python. Intento agregarle el valor a la lista y la lista siempre me sale vacía, intento heredar el código de otra clase que tengo y tampoco me deja, se que puedo, pero no se la sintaxis correcta para quitarme esta piedra del zapato. Ayuda!


class Libro():
disponible= True
def __init__ (self, titulo, autor, editorial, isbn, año_publicacion, num_ejemplares):
self.titulo= titulo
self.autor= autor
self.editorial= editorial
self.isbn= isbn
self.año_publicacion= año_publicacion
self.num_ejemplares= num_ejemplares
print("Se ha registrado el libro", titulo)

def prestar_libro(self):
if self.num_ejemplares> 0:
self.num_ejemplares= self.num_ejemplares -1
print(f"Quedan disponibles:", self.num_ejemplares, "ejemplares de este libro.")
if self.num_ejemplares==0:
print(f"No quedan disponibles ejemplares del libro", self.titulo)
self.dispobible= False

def devolver_libro(self):
self.num_ejemplares= self.num_ejemplares + 1
print(f"Cantidad de ejemplares disponibles: ", self.num_ejemplares)
#if self.num_ejemplares>0:
#self.dispobible= True
#print("Quedan", self.dispobible, "ejemplares disponibles.")
def __str__(self):
return f"Con el autor",{self.autor}, "y el editorial", {self.editorial},"."


l= Libro ("Soy un libro", "Miqueas", "Santillana", 10402, 2023, 10)

class Biblioteca():
lista_libros=[]
def __init__(self, lista_libros=[]):
self.lista_libros= lista_libros
self.lista_libros.append(b)
print(self.lista_libros)

b=Biblioteca("Soy un libro", "Miqueas", "Santillana", 10402, 2023, 10)


Aquí les dejo el código a ver si me puede ayudar con esto por favor, no sé como heredar los mismos valores que le doy a la clase de arriba.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

¿Como puedo agregar valore a una lista que esta en una clase en python?

Publicado por Costero (92 intervenciones) el 30/05/2023 03:43:07
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
class Libro:
    disponible = True
 
    def __init__(self, titulo, autor, editorial, isbn, año_publicacion, num_ejemplares):
        self.titulo = titulo
        self.autor = autor
        self.editorial = editorial
        self.isbn = isbn
        self.año_publicacion = año_publicacion
        self.num_ejemplares = num_ejemplares
        print("Se ha registrado el libro", titulo)
 
    def prestar_libro(self):
        if self.num_ejemplares > 0:
            self.num_ejemplares = self.num_ejemplares - 1
        print(f"Quedan disponibles:", self.num_ejemplares, "ejemplares de este libro.")
        if self.num_ejemplares == 0:
            print(f"No quedan disponibles ejemplares del libro", self.titulo)
        self.dispobible = False
 
    def devolver_libro(self):
        self.num_ejemplares = self.num_ejemplares + 1
        print(f"Cantidad de ejemplares disponibles: ", self.num_ejemplares)
 
    def __repr__(self):
        return f"Titulo: {self.titulo}. Con el autor, {self.autor} y el editorial {self.editorial}."
 
 
class Biblioteca:
 
    def __init__(self, lista_libros=[]):
        self.lista_libros = lista_libros
 
    def add_libro(self, libro: Libro):
        self.lista_libros.append(libro)
 
    def add_libros(self, libros: []):
        for libro in libros:
            self.add_libro(libro)
 
    def __repr__(self):
        return f"{self.lista_libros}"
 
 
l1 = Libro("Soy un libro 1", "Miqueas", "Santillana", 10402, 2023, 10)
l2 = Libro("Soy un libro 2", "Miqueas", "Santillana", 10402, 2023, 10)
 
libros = [l1, l2]
b = Biblioteca(libros)
print(b)
 
l3 = Libro("Soy un libro 3", "Miqueas", "Santillana", 10402, 2023, 10)
l4 = Libro("Soy un libro 4", "Miqueas", "Santillana", 10402, 2023, 10)
 
b.add_libro(l3)
b.add_libro(l4)
 
print(b)
 
l5 = Libro("Soy un libro 5", "Miqueas", "Santillana", 10402, 2023, 10)
l6 = Libro("Soy un libro 6", "Miqueas", "Santillana", 10402, 2023, 10)
 
libros2 = [l5, l6]
b.add_libros(libros2)
 
print(b)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar