MINI CURSO KINTAVOR · Informe de ventas con Python · 20 minutos

Es una muestra gratuita con datos sintéticos. No necesitas cuenta, API, Pandas
ni subir documentos personales. Solo se utiliza la biblioteca estándar de Python.

En el navegador: completa las dos líneas de agrupación del laboratorio. Ejecuta
y valida. Consulta la pista o la solución si lo necesitas. El código se ejecuta
en el navegador; no se envía al servidor de KINTAVOR.

Alternativa local (Python 3.10 o posterior):
1. Extrae este ZIP en una carpeta nueva.
2. Abre main.py. Busca COMPLETAR_AGRUPACION y completa el bucle.
3. Ejecuta: python3 main.py
4. Ejecuta: python3 tests.py

En el paquete de solución, main.py ya contiene el bucle resuelto.
En ambos paquetes, datos/ventas_sinteticas.csv coincide exactamente con VENTAS_CSV.
El script utiliza esa copia de texto integrada para que el ejercicio sea idéntico
al del navegador. No sobrescribe archivos. Puedes copiar la salida de consola
a un archivo NUEVO llamado resumen_ventas.csv y abrirlo con Excel, indicando
UTF-8 y punto y coma si el asistente lo solicita.

Salida esperada:
producto;total_eur
Cuaderno;24,50
Ratón;37,50
Teclado;49,80

Total: 111.80 EUR (6 ventas, 3 productos).

Reglas de esta muestra:
- Entrada: lista de diccionarios con producto, unidades y precio, sin columnas extra.
- Producto: texto no vacío, hasta 80 caracteres; se recortan espacios exteriores
  en el resultado, sin cambiar el original. Se rechazan comienzos = + - @ para
  no exportar fórmulas de hoja de cálculo desde un nombre de producto.
- Unidades: entero positivo de 1 a 100000, también admitido como texto.
- Precio: de 0 a 1000000; punto o coma decimal, sin separadores de miles.
  No se admiten valores ausentes, booleanos, NaN ni infinito.
- Decimal evita acumular errores de representación binaria. La regla didáctica
  redondea CADA LÍNEA a dos decimales (ROUND_HALF_UP) antes de sumar por producto.
  Una política contable real puede exigir reglas distintas: deben documentarse.
- Hasta 10000 filas; no es una herramienta de producción ni asesoría contable.

Las pruebas incluyen datos correctos y erróneos, lista vacía, conservación del
original, redondeo y exportación reproducible. Aprobarlas valida este ejercicio,
no acredita dominio profesional ni permite saltarse módulos del curso completo.

Formación privada. Certificado propio no oficial. Sin garantía de empleo o ingresos.
kintavor.com/python-automatizacion-datos/mini-curso
