# introduccion-a-la-programacion-con-python
Introducción a la programación con Python
Volver a la portada del cursoProyecto: 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
xodata2.
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.