import numpy as np # NumPy es la librería de Python para cálculos matemáticos con listas/arrays.
# Alternativa sin instalar nada: import statistics (librería estándar de Python)
# Lista con 100 alturas en cm. En la vida real esto vendría de un archivo CSV o base de datos.
# Alternativa: pd.read_csv("alturas.csv")["altura"].tolist()
alturas =[172, 173, 154, 168, 175, 177, 168, 164, 167, 162, 173, 159,
182, 160, 161, 177, 154, 154, 167, 179, 179, 178, 172, 165,
173, 174, 165, 172, 166, 187, 179, 176, 171, 155, 163, 160,
187, 167, 167, 171, 168, 158, 170, 181, 174, 169, 176, 164,
175, 166, 167, 176, 171, 159, 166, 177, 159, 162, 167, 169,
161, 185, 165, 173, 171, 173, 172, 177, 164, 169, 162, 169,
181, 174, 169, 175, 174, 173, 185, 172, 166, 148, 159, 167,
163, 167, 164, 169, 173, 189, 169, 171, 177, 161, 168, 178, 170, 181, 158, 188]
# np.mean() suma todos los valores y divide entre el total. Igual que: sum(alturas)/len(alturas)
# Alternativa: statistics.mean(alturas)
media = np.mean(alturas)
mediana=np.median(alturas)
print(f'Media de altura: {media:.2f}')
print(f'Mediana de altura: {mediana:.2f}')
maximo=max(alturas)
minimo=min(alturas)
rango=maximo-minimo
print(f"El máximo es {maximo}, el mínimo {minimo} y el rango {rango}")
sigma=np.std(alturas)
print(f'Desviación típica: {sigma:.2f}')
print(np.std([2,4,6]))
# Tienda A — ventas muy estables (panadería de barrio, clientela fija)
tienda_a = np.array([198, 205, 201, 197, 203, 199, 202])
# Tienda B — ventas moderadamente variables (restaurante, depende del día)
tienda_b = np.array([150, 185, 210, 165, 230, 175, 195])
# Tienda C — ventas muy irregulares (tienda de souvenirs, turismo estacional)
tienda_c = np.array([80, 320, 45, 410, 95, 280, 170])
for nombre, datos in [("Tienda A", tienda_a), ("Tienda B", tienda_b), ("Tienda C", tienda_c)]:
print(f"{nombre} → Media: {np.mean(datos):.1f} € | σ = {np.std(datos):.1f} € | Datos: {datos}")