Explicación del concepto
Esta lección convierte un pequeño problema de negocio en un script de Python sencillo. Imagina que alguien de tu equipo te envía algunos números de ventas diarias y te pide un resumen rápido: ¿Cuántos días tenemos, cuál fue el mejor día, cuál fue el día más débil y cómo se ve el promedio? Ese es el tipo de tarea para la que Python es muy bueno. No necesitas un gran framework para ello. Solo necesitas entradas limpias, una función que calcule los valores que te interesan y una línea de salida que otra persona pueda entender sin leer el código. Al final de esta lección, podrás: • tomar una pequeña lista de valores de ventas y resumirla claramente, • separar el cálculo de la visualización para que el código sea fácil de reutilizar, • manejar el caso de datos vacíos sin que el script falle. Por qué esto importa: los programadores principiantes a menudo aprenden la sintaxis de forma aislada, pero el trabajo real suele comenzar con pequeños resúmenes como este. Un script que responde a una pregunta práctica ya es mucho más útil que una demostración aleatoria.
Dónde poner el código
- Define las variables de color y posición en la parte superior.
- Crea la lógica de dibujo o posicionamiento de formas en el medio.
- Renderiza la salida (impresión, canvas, SVG o bloque con estilo) al final.
Referencia de comandos
- Mantén el cálculo dentro de una función para poder reutilizarlo más tarde con datos de archivos o de API.
- Almacena los números de ventas en una lista primero, luego calcula el resumen a partir de esa lista.
- Devuelve una cadena legible desde la función auxiliar en lugar de imprimir desde varios lugares.
- Decide siempre qué debe hacer el script cuando no hay datos antes de preocuparte por características adicionales.
Guía paso a paso
- Ejecuta el script una vez y lee la línea de resumen cuidadosamente de izquierda a derecha.
- Cambia un valor de ventas en `week_sales`, ejecuta el archivo de nuevo y observa qué parte del resumen cambió.
- Reemplaza la lista de ejemplo con tus propios cuatro números y asegúrate de que el informe siga teniendo sentido.
- Añade una segunda línea `print` que llame a `build_sales_report([])` para que puedas ver cómo se comporta el caso de datos vacíos.
- Escribe una nota corta explicando por qué la función de reporte devuelve texto en lugar de imprimir directamente.
Ejercicios prácticos
- Modifica la salida para que también incluya las ventas totales de la semana.
- Crea una versión de los datos donde un día tenga un valor muy bajo y explica cómo afecta al promedio.
- Reescribe la línea del informe final con tus propias palabras, manteniendo los mismos números.
Retos de código
- Lanza un `ValueError` si algún número de ventas es negativo y haz que el mensaje de error sea fácil de entender.
- Devuelve el resumen como un diccionario primero, luego construye el texto final a partir de ese diccionario en un paso separado.
Mini tareas de práctica
- Renombra `week_sales` a otro nombre claro y mantén el script legible.
- Prueba la función con una lista que contenga solo un valor.
- Escribe una línea de trabajo futuro, como leer números de ventas de un archivo CSV más adelante.
Error común
Mixing x and y axes or using wrong coordinate origin causes shapes to appear in unexpected places.
Mini reto de la vida real
Draw one square, one triangle, and one circle, then move X marker 2 steps right and 1 step down.