Ejercicio de programación con Python: Reto coleciones

Proyecto
Práctica
2h 0m

Desarrolla una aplicación en Python para gestionar una biblioteca usando listas, diccionarios, conjuntos y tuplas con funciones completas.

  1. Crea un archivo biblioteca.py que contendrá la clase principal Biblioteca y define su estructura básica con atributos para almacenar libros (como lista), préstamos (como diccionario), géneros (como conjunto) y estadísticas (usando tuplas).

  2. Implementa los métodos básicos para gestionar libros: agregar_libro(), eliminar_libro(), buscar_libro() y listar_libros(). Cada libro debe ser representado como un diccionario con claves como 'id', 'título', 'autor', 'género' y 'disponible'.

  3. Desarrolla las funciones de préstamo y devolución: prestar_libro() y devolver_libro(). Estas funciones deben actualizar el estado del libro y registrar la información del préstamo en el diccionario de préstamos.

  4. Crea funciones de búsqueda avanzada que permitan filtrar libros por diferentes criterios: buscar_por_titulo(), buscar_por_autor() y buscar_por_genero(). Utiliza comprensiones de listas para implementar estas funciones.

  5. Implementa métodos para calcular estadísticas: libros_mas_prestados() y autores_con_mas_libros(). Estos métodos deben devolver tuplas ordenadas con la información relevante.

  6. Desarrolla las funciones para guardar y cargar datos desde archivos: guardar_datos() y cargar_datos(). Utiliza el módulo json para serializar y deserializar las colecciones.

  7. Implementa un manejo adecuado de excepciones para todas las operaciones que puedan fallar, como búsquedas de libros inexistentes o intentos de préstamo de libros no disponibles.

  8. Crea un archivo menu.py que implemente un menú interactivo por consola que permita al usuario utilizar todas las funcionalidades de la biblioteca.

  9. Desarrolla un archivo main.py que importe los módulos necesarios e inicie la aplicación. Incluye algunos datos de ejemplo para facilitar las pruebas.

  10. Prueba exhaustivamente todas las funcionalidades, asegurándote de que las diferentes colecciones se utilizan de manera apropiada y que el sistema maneja correctamente los casos límite.

Empezar ejercicio de programación

Más ejercicios de programación con Python

Evalúa tus conocimientos en Python con más ejercicios de programación de tipo Test, Puzzle, Código y Proyecto con VSCode.

Tecnologías de este ejercicio de programación

Entornos de desarrollo para este ejercicio

Image

Visual Studio Code

Image

GitHub