📚 MiniBiblio - Sistema de Gestión de Biblioteca Simplificado
Desarrolla un sistema básico de gestión de biblioteca en consola utilizando funciones y estructuras de datos simples. Este proyecto te permitirá aplicar tus conocimientos de manera práctica sin complejidades innecesarias.
✅ Proyecto Simplificado: "MiniBiblio"
1. 📌 Descripción General
Este proyecto es una versión reducida de un sistema de gestión de biblioteca en consola. Su propósito es permitir registrar libros y socios, y simular préstamos y devoluciones de forma sencilla. Trabaja con funciones y estructuras básicas de datos (listas de diccionarios), pero elimina la necesidad de manejar múltiples archivos, fechas o búsquedas complejas.
2. 🎯 Objetivos de Aprendizaje
- Utilizar funciones simples con parámetros y retorno.
- Organizar código de forma clara y reutilizable.
- Manipular listas de diccionarios.
- Crear una interfaz en consola con menú simple (TUI).
3. 🧩 Funcionalidades Requeridas
El menú principal debe permitir al usuario realizar estas acciones básicas:
- 1. Registrar Libro
- Pedir: título, autor, ISBN.
- Guardar el libro como disponible.
- 2. Registrar Socio
- Pedir: nombre y contacto.
- Asignar ID automático tipo SOC-001, SOC-002, etc.
- 3. Prestar Libro
- Pedir ISBN y ID del socio.
- Marcar el libro como prestado, con el ID del socio.
- 4. Devolver Libro
- Pedir ISBN.
- Cambiar estado a "Disponible".
- 5. Ver libros prestados
- Mostrar solo los libros cuyo estado es "Prestado".
4. ⚙️ Estructura Técnica
- Un solo archivo: biblioteca.py
- Uso de:
- while True con menú.
- funciones como registrar_libro(), prestar_libro()...
5. 💡 Ejemplo de Menú en Consola
# Menú principal
print("""
=== MINIBIBLIO ===
1. Registrar Libro
2. Registrar Socio
3. Prestar Libro
4. Devolver Libro
5. Ver libros prestados
6. Salir
""")
6. 🧪 Sugerencias para Pruebas
- Registrar 2 libros y 2 socios.
- Prestar un libro y luego devolverlo.
- Ver cómo se actualizan los estados.
7. 📁 Estructura de Código Sugerida
# Base de datos en memoria
libros_db = []
socios_db = []
# Ejemplo de estructura de datos
libros_db = [
{'isbn': '001', 'titulo': 'El Principito', 'autor': 'Antoine', 'estado': 'Disponible'}
]
socios_db = [
{'id': 'SOC-001', 'nombre': 'Ana', 'contacto': '123'}
]
def registrar_libro():
# pedir datos, agregar libro a libros_db
pass
def registrar_socio():
# pedir nombre/contacto, generar ID tipo SOC-001, agregar a socios_db
pass
def prestar_libro():
# buscar libro y socio, cambiar estado
pass
def devolver_libro():
# buscar libro por ISBN, cambiar estado
pass
def ver_prestados():
# recorrer libros y mostrar los prestados
pass
8. 📋 Ejemplo de Funcionamiento
Ejemplo de interacción:
=== MINIBIBLIO ===
1. Registrar Libro
2. Registrar Socio
3. Prestar Libro
4. Devolver Libro
5. Ver libros prestados
6. Salir
Opción: 1
Título: El Principito
Autor: Antoine de Saint-Exupéry
ISBN: 001
✅ Libro registrado exitosamente!
Opción: 2
Nombre: Ana García
Contacto: 3101234567
✅ Socio registrado con ID: SOC-001
Opción: 3
ISBN del libro: 001
ID del socio: SOC-001
✅ Libro prestado exitosamente!
Opción: 5
📚 LIBROS PRESTADOS:
- El Principito (ISBN: 001) - Prestado a: Ana García
🚀 ¡Manos a la obra!
Este proyecto simplificado te permitirá aplicar los conceptos básicos de funciones y estructuras de datos de manera práctica. ¡Disfruta creando tu MiniBiblio y demuestra lo que has aprendido!