
Python. Clases y Objetos.
Publicado por Exequiel (4 intervenciones) el 14/09/2022 05:41:17
Buenas gente, necesito una mano con este problema. Les muestro el enunciado:
La Biblioteca de la Facultad de Ciencias de la Administración necesita una aplicación para
registrar y consultar los Libros con los que cuenta. Los datos a representar son:
Libro
Atributo Tipo de Datos
Número de Inventario int
Título str
Autor Autor
Categoría Categoría
Año de Publicación int
Autor
Atributo Tipo de Datos
Apellido str
Nombre str
Categoria (Aerea de Conocimiento)
Atributo Tipo de Datos
Nombre str
a) Programe las clases que considera necesarias para dar solución al problema
planteado.
b) Modifique las clases creadas en el punto anterior agregando:
i. Un constructor que reciba por parámetro valores para inicializar cada una de las
propiedades o atributos.
ii. El método especial __str__() que transforme en un único string los valores que
configuran el estado actual del objeto.
iii. El método especial __eq__() que indique cuando dos objetos de la misma clase
son iguales.
c) Cree un archivo con nombre libros_cliente.py y dentro de él:
i. Programe las siguientes funciones:
1. imprimir(libros : list) → None que imprima los datos de la lista pasada por
parámetro.
2. filtrar_por_categoria(libros : list, cat : Categoria) → list que
retorne todos los libros cuya categoría coincide con la pasada por parámetro.
3. filtrar_por_autor(libros : list, autor : Autor) → list que devuelva los
libros cuyo autor coincide con el pasado por parámetro.
4. filtrar_por_anio(libros : list, anio : int) → list que devuelva los libros cuyo año de publicación coincide con el pasado por parámetro.
ii. En la sección principal del programa:
1. Cree al menos 3 instancias de Libro.
2. Ponga a prueba TODAS las funciones programadas en el punto anterior.
Y aquí les paso como estoy resolviendo el ejercicio:
Lo que necesito es saber si estoy haciendo el codigo bien, y si tengo algun problema podrian corregirlo y
o guiarme para saber como continuarlo el ejercicio, ya que me serviria de ejemplo para los demas ejercicios
que tengo que resolver a futuro. Desde ya muchas gracias!!
La Biblioteca de la Facultad de Ciencias de la Administración necesita una aplicación para
registrar y consultar los Libros con los que cuenta. Los datos a representar son:
Libro
Atributo Tipo de Datos
Número de Inventario int
Título str
Autor Autor
Categoría Categoría
Año de Publicación int
Autor
Atributo Tipo de Datos
Apellido str
Nombre str
Categoria (Aerea de Conocimiento)
Atributo Tipo de Datos
Nombre str
a) Programe las clases que considera necesarias para dar solución al problema
planteado.
b) Modifique las clases creadas en el punto anterior agregando:
i. Un constructor que reciba por parámetro valores para inicializar cada una de las
propiedades o atributos.
ii. El método especial __str__() que transforme en un único string los valores que
configuran el estado actual del objeto.
iii. El método especial __eq__() que indique cuando dos objetos de la misma clase
son iguales.
c) Cree un archivo con nombre libros_cliente.py y dentro de él:
i. Programe las siguientes funciones:
1. imprimir(libros : list) → None que imprima los datos de la lista pasada por
parámetro.
2. filtrar_por_categoria(libros : list, cat : Categoria) → list que
retorne todos los libros cuya categoría coincide con la pasada por parámetro.
3. filtrar_por_autor(libros : list, autor : Autor) → list que devuelva los
libros cuyo autor coincide con el pasado por parámetro.
4. filtrar_por_anio(libros : list, anio : int) → list que devuelva los libros cuyo año de publicación coincide con el pasado por parámetro.
ii. En la sección principal del programa:
1. Cree al menos 3 instancias de Libro.
2. Ponga a prueba TODAS las funciones programadas en el punto anterior.
Y aquí les paso como estoy resolviendo el ejercicio:
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
class Libro:
def __init__(self,inventario,titulo,autor,categoria,publicacion):
self.inventario = inventario
self.titulo = titulo
self.autor = autor
self.categoria = categoria
self.publicacion = publicacion
def getInventario(self):
return self.inventario
def getTitulo(self):
return self.titulo
def getAutor(self):
return self.autor
def getCategoria(self):
return self.categoria
def getPublicacion(self):
return self.publicacion
def mostrarLibro(self):
print("\nNum.Inventario: "+str(self.getInventario())+"\nTitulo: "+self.getTitulo()+"\nAutor: "+self.getAutor()+"\nCategoria: "+self.getCategoria()+"\nAño.Publicacion: "+str(self.getPublicacion()) )
inventario = input("Por favor ingresar numero de inventario: ")
titulo = raw_input("Por favor ingresar titulo: ")
autor = raw_input("Por favor ingresar autor: ")
categoria = raw_input("Por favo ingresar categoria: ")
publicacion = input("Por favor ingresar año de publicacion: ")
e = Libro(inventario,titulo,autor,categoria,publicacion)
e.mostrarLibro()
Lo que necesito es saber si estoy haciendo el codigo bien, y si tengo algun problema podrian corregirlo y
o guiarme para saber como continuarlo el ejercicio, ya que me serviria de ejemplo para los demas ejercicios
que tengo que resolver a futuro. Desde ya muchas gracias!!
Valora esta pregunta


0