
Consulta en codigo de POO
Publicado por Wins (8 intervenciones) el 20/04/2023 22:05:05
Hola a todos!. Practicando Programacion Orientada a Objetos, el libros nos sugirio hacer una biblioteca y realice el siguiente código, pero no logro encontrar el problema. Si alguien me puede ayudar agradecido
class Autor:
def __init__(self,name,apellido):
self.name=name
self.apellido=apellido
def MostrarAutor(self):
print(f"El autor es: {self.name} {self.apellido}")
class Libro:
def __init__(self,titulo,isbn):
self.titulo=titulo
self.isbn=isbn
def AnadirAutor(self,autor):
self.autor=autor
def MostrarLibro(self):
print("*****LIBRO*****")
print("Titutlo: ", self.titulo)
print("ISBN es: ", self.isbn)
self.autor.MostrarAutor()
print("***************")
def ObtenerTitutlo(self):
return self.Titulo
class Biblioteca:
def __init__(self):
self.ListadeLibros=[]
def NumLibros(self):
return len(self.ListadeLibros)
def AnadirLibro(self,Libro):
self.ListadeLibros=self.ListadeLibros+[Libro]
def MostrarBiblioteca(self):
print("#########################")
for item in self.ListadeLibros:
item.MostrarLibro()
print("#########################")
def BorrarLibro(self,titulo):
encontrado=False
posicionaborrar=-1
for item in self.ListadeLibros:
posicionaborrar+=1
if item.ObtenerTitutlo()==titulo:
encontrado=True
break
if encontrado:
del self.ListaLibros[posicionaborrar]
print("!Libro borrado correctamentr!")
else:
print("!Libro no encontrado!")
def MostrarMenu():
print("Menu\n1.Anadir Libro a la Biblioteca\n2.Mostrar Biblioteca\n3.Borrar Libro\n?4.Numero de Libros?\n5.Salir")
def AnadirLibroabiblioteca(biblioteca):
titulo=input("Introduzca el titulo del libro: ")
isbn=input("Introduzca el ISBN del libro: ")
autornombre=input("Introduzca el nombre del autor: ")
autorapellidos=input("Introduzca el apellido del autor: ")
autor=Autor(autornombre,autorapellidos)
libro=Libro(titulo,isbn)
libro.AnadirLibro(libro)
return biblioteca
def MostrarBiblioteca(biblioteca):
biblioteca.MostrarBiblioteca()
def BorrarLibro(biblioteca):
titulo=input("Introduzca el titulo del libro a borra: ")
biblioteca.BorrarLibro()
def NumeroLibros(biblioteca):
print("El numero de libros en la biblioteca es: ", biblioteca.NumeroLibros())
fin=False
biblioteca=Biblioteca()
while not(fin):
MostrarMenu()
opci=int(input("Seleccione opcion: "))
if(opci==1):
biblioteca=AnadirLibroabiblioteca(biblioteca)
elif (opci==2):
MostrarBiblioteca()
elif (opci==3):
BorrarLibro()
elif (opci==4):
NumeroLibros(biblioteca)
elif (opci==5):
fin=True
print("Adio Amigos")
class Autor:
def __init__(self,name,apellido):
self.name=name
self.apellido=apellido
def MostrarAutor(self):
print(f"El autor es: {self.name} {self.apellido}")
class Libro:
def __init__(self,titulo,isbn):
self.titulo=titulo
self.isbn=isbn
def AnadirAutor(self,autor):
self.autor=autor
def MostrarLibro(self):
print("*****LIBRO*****")
print("Titutlo: ", self.titulo)
print("ISBN es: ", self.isbn)
self.autor.MostrarAutor()
print("***************")
def ObtenerTitutlo(self):
return self.Titulo
class Biblioteca:
def __init__(self):
self.ListadeLibros=[]
def NumLibros(self):
return len(self.ListadeLibros)
def AnadirLibro(self,Libro):
self.ListadeLibros=self.ListadeLibros+[Libro]
def MostrarBiblioteca(self):
print("#########################")
for item in self.ListadeLibros:
item.MostrarLibro()
print("#########################")
def BorrarLibro(self,titulo):
encontrado=False
posicionaborrar=-1
for item in self.ListadeLibros:
posicionaborrar+=1
if item.ObtenerTitutlo()==titulo:
encontrado=True
break
if encontrado:
del self.ListaLibros[posicionaborrar]
print("!Libro borrado correctamentr!")
else:
print("!Libro no encontrado!")
def MostrarMenu():
print("Menu\n1.Anadir Libro a la Biblioteca\n2.Mostrar Biblioteca\n3.Borrar Libro\n?4.Numero de Libros?\n5.Salir")
def AnadirLibroabiblioteca(biblioteca):
titulo=input("Introduzca el titulo del libro: ")
isbn=input("Introduzca el ISBN del libro: ")
autornombre=input("Introduzca el nombre del autor: ")
autorapellidos=input("Introduzca el apellido del autor: ")
autor=Autor(autornombre,autorapellidos)
libro=Libro(titulo,isbn)
libro.AnadirLibro(libro)
return biblioteca
def MostrarBiblioteca(biblioteca):
biblioteca.MostrarBiblioteca()
def BorrarLibro(biblioteca):
titulo=input("Introduzca el titulo del libro a borra: ")
biblioteca.BorrarLibro()
def NumeroLibros(biblioteca):
print("El numero de libros en la biblioteca es: ", biblioteca.NumeroLibros())
fin=False
biblioteca=Biblioteca()
while not(fin):
MostrarMenu()
opci=int(input("Seleccione opcion: "))
if(opci==1):
biblioteca=AnadirLibroabiblioteca(biblioteca)
elif (opci==2):
MostrarBiblioteca()
elif (opci==3):
BorrarLibro()
elif (opci==4):
NumeroLibros(biblioteca)
elif (opci==5):
fin=True
print("Adio Amigos")
Valora esta pregunta


0