Saltar al contenido

# introduccion-a-la-programacion-con-python

Introducción a la programación con Python

Volver a la portada del curso
Notebook

Proyecto: Calculadora de Datos

Sección 6 · Proyecto Final y Evaluación

Proyecto: Calculadora de Datos

Este notebook reúne todo lo que aprendiste: variables, tipos, bucles, listas y diccionarios. Vas a construir, paso a paso, una Calculadora de Datos que recibe una lista de números y devuelve un resumen estadístico. El objetivo no es solo que funcione, sino que el código quede claro y reutilizable.

Qué vas a construir

El programa toma una lista de números y calcula la cantidad de valores, su suma, el promedio, el mínimo, el máximo y cuántos superan el promedio. Todo se organiza en funciones pequeñas para que puedas probar cada parte por separado.

Paso 1: calcular lo básico

Empieza con las operaciones directas. Python ya trae sum, min, max y len, así que apóyate en ellas.

def estadisticas_basicas(numeros):
    return {
        "cantidad": len(numeros),
        "suma": sum(numeros),
        "promedio": sum(numeros) / len(numeros),
        "minimo": min(numeros),
        "maximo": max(numeros),
    }

datos = [10, 4, 7, 22, 3, 15]
print(estadisticas_basicas(datos))

Paso 2: contar valores sobre el promedio

Aquí combinas un cálculo con un filtrado. Una comprensión de lista lo resuelve en una línea.

def sobre_promedio(numeros):
    promedio = sum(numeros) / len(numeros)
    mayores = [n for n in numeros if n > promedio]
    return len(mayores)

print(sobre_promedio([10, 4, 7, 22, 3, 15]))   # 2

Paso 3: manejar el caso vacío

Una lista vacía provocaría una división entre cero. Un buen programa se anticipa a esa entrada.

def resumen(numeros):
    if not numeros:
        return {"error": "la lista está vacía"}
    promedio = sum(numeros) / len(numeros)
    return {
        "cantidad": len(numeros),
        "suma": sum(numeros),
        "promedio": promedio,
        "minimo": min(numeros),
        "maximo": max(numeros),
        "sobre_promedio": len([n for n in numeros if n > promedio]),
    }

print(resumen([10, 4, 7, 22, 3, 15]))
print(resumen([]))

Paso 4: presentar el resultado

Separa el cálculo de la presentación. Así puedes probar el cálculo sin depender de cómo se imprime.

def imprimir_resumen(numeros):
    datos = resumen(numeros)
    if "error" in datos:
        print("No hay datos que resumir.")
        return
    for clave, valor in datos.items():
        print(f"{clave}: {valor}")

imprimir_resumen([10, 4, 7, 22, 3, 15])

Errores comunes

  • No contemplar la lista vacía y provocar un error de división.
  • Mezclar cálculo e impresión en una sola función difícil de probar.
  • Recalcular el promedio muchas veces en lugar de guardarlo en una variable.
  • Usar nombres poco claros como x o data2.

Cierre

Con estas cuatro funciones tienes la calculadora completa. En la entrega del proyecto la revisarás contra la rúbrica y la probarás con distintas listas para confirmar que es correcta y robusta.

Recursos