Reto coleciones

Proyecto de programación
Intermedio
Python
Curso de Python
120 min
200 XP
Actualizado: 06/05/2025

¡Programa y certifícate!

Asistente de IA
Solución de código
Certificado
Empezar ejercicio

Descripción

Desarrollar una aplicación en Python para gestionar una biblioteca utilizando diferentes tipos de colecciones (listas, diccionarios, conjuntos y tuplas).

  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.

    Guarda tu progreso

    Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

    Progreso guardado
    Asistente IA
    Ejercicios
    Iniciar sesión gratis

    Más de 25.000 desarrolladores ya confían en CertiDevs

  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.

Solución al ejercicio de programación en Python

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el ejercicio de programación en Python para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

Practica con ejercicios de programación en Python

Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.

Asistente de IA

Aprende de tus errores

Progreso

Mide tu avance

Certificación

Valida tus habilidades

Únete a miles de desarrolladores mejorando sus habilidades en Python

⭐⭐⭐⭐⭐
4.9/5 valoración