Proyecto integrador: Gestión de cartera
Este es el cierre del track de Python. Vas a construir un sistema completo de gestión de cartera de clientes bancarios que combina TODO lo que aprendiste: tipos, variables, condicionales, bucles, funciones, clases, archivos, excepciones y análisis de datos.
El proyecto
Objetivo
Construir un sistema de gestión de cartera que permita: crear clientes, evaluar su perfil crediticio, registrar operaciones, persistir datos en archivos y generar reportes de análisis. Cada ejercicio construye una pieza del sistema, y al final se integran todas.
Conceptos integrados
| Lección | Concepto | Se usa en... |
|---|---|---|
| 03-04 | Tipos y variables | Modelado de datos del cliente |
| 06 | Condicionales | Evaluación crediticia, clasificación |
| 08-15 | Estructuras de datos | Listas de dicts, anidación |
| 16-17 | Bucles | Procesamiento de registros |
| 18-19 | Funciones | Modularización del pipeline |
| 20 | Módulos stdlib | datetime, json, collections |
| 23 | Regex | Validación de CUIT |
| 24 | Archivos | Persistencia CSV/JSON |
| 25 | Excepciones | Manejo robusto de errores |
| 26 | Clases | Modelado OOP del sistema |
Construcción paso a paso
Paso 1: El modelo de datos
Empezamos definiendo la clase Cliente con todos sus atributos y métodos de negocio.
Hacé clic en ▶ Ejecutar
Paso 2: La cartera con persistencia
Un gestor que maneja la colección de clientes con lectura/escritura a JSON.
Hacé clic en ▶ Ejecutar
Paso 3: Análisis y generación de reporte de negocio
Hacé clic en ▶ Ejecutar
Referencia rápida del proyecto
| Componente | Concepto Python | Archivo/Clase |
|---|---|---|
| Modelo de datos | @dataclass, validación, @property |
Cliente |
| Colección | Lista de objetos, __len__ |
Cartera |
| Persistencia | json.load/dump, with open |
_cargar/_guardar |
| Validación | raise ValueError, regex |
__post_init__ |
| Análisis | Counter, defaultdict, comprehensions |
reporte() |
| Búsqueda | Iteración, .get() |
buscar() |
Ejercicios del proyecto
Ejercicio 1: Crear la clase Cliente
Creá un @dataclass Cliente con nombre, score e ingreso. Agregá
@property categoria. Creá 2 instancias. Debe incluir Premium.
Hacé clic en ▶ Ejecutar
Ejercicio 2: Lista de clientes con estadísticas
Creá 5 clientes, guardalos en lista, calculá score promedio e ingreso total. Debe incluir
promedio.
Hacé clic en ▶ Ejecutar
Ejercicio 3: Filtrar y ordenar
De la lista anterior, filtrá los que tienen score >= 650 y ordenalos por ingreso descendente. Debe
incluir Pérez.
Hacé clic en ▶ Ejecutar
Ejercicio 4: Validación con regex y excepciones
Agregá validación de CUIT en __post_init__. Probá con CUITs válidos e inválidos. Debe
incluir inválido.
Hacé clic en ▶ Ejecutar
Ejercicio 5: Persistencia JSON
Creá funciones guardar_clientes(lista, archivo) y cargar_clientes(archivo)
que serialicen/deserialicen a JSON. Debe incluir guardados.
Hacé clic en ▶ Ejecutar
Ejercicio 6: Agrupar por categoría con Counter
Clasifica cada cliente en su categoría y contá cuántos hay en cada una con Counter. Debe incluir
most_common.
Hacé clic en ▶ Ejecutar
Ejercicio 7: Evaluación crediticia modular
Creá funciones de validación separadas: validar_edad(), validar_score(),
validar_ratio(). Combinalas en evaluar(). Debe incluir
APROBADO.
Hacé clic en ▶ Ejecutar
Ejercicio 8: Cargar CSV crudo y procesar
Dado un CSV como string multilínea, parsealo, limpiá los datos, filtrá errores y generá estadísticas.
Debe incluir procesados.
Hacé clic en ▶ Ejecutar
Ejercicio 9: Análisis por ciudad con defaultdict
Agrupá clientes por ciudad, calculá ingreso promedio y score promedio por ciudad. Debe incluir
BsAs.
Hacé clic en ▶ Ejecutar
Ejercicio 10: Sistema completo integrado
Construí el sistema completo: clase Cliente con validación, clase Cartera
con agregar/buscar/reporte, persistencia JSON, manejo de errores. Cargá 5 clientes, generá reporte
con estadísticas, categorías y oportunidades de cross-sell. Debe incluir
SISTEMA COMPLETO.
Hacé clic en ▶ Ejecutar
Resumen final del track Python
- 27 lecciones completadas — de "¿qué es Python?" hasta un sistema completo con clases, archivos y análisis.
- Fundamentos: tipos, variables, operadores, condicionales, bucles, funciones (lecciones 1-19).
- Estructuras: listas, tuplas, diccionarios, sets y sus métodos (lecciones 8-15).
- Profesional: módulos, scope, regex, archivos, excepciones, OOP (lecciones 20-26).
- Integración: este proyecto combina todo en un sistema real de gestión de datos.
🎉 ¡Felicitaciones! Completaste el track de Python. Ahora tenés las bases sólidas para el siguiente paso: SQL (para consultar bases de datos) y Data Analysis (para usar pandas, numpy, matplotlib y todo el ecosistema de análisis).
El código que escribiste en estas 27 lecciones — con funciones, clases, archivos y manejo de errores — es exactamente el tipo de código que vas a escribir como Data Analyst en un banco, fintech o consultora. La diferencia es la escala: en vez de 5 clientes, van a ser 5 millones. Para eso está pandas.
Próximos pasos: Track de SQL →