PYTHON Basic
PYTHON Basic
Verificar instalación:
bash
python --version
# Operaciones matemáticas
a = 10
b=3
suma = a + b # 13
resta = a - b #7
multiplicacion = a * b # 30
division = a / b # 3.333...
division_entera = a // b # 3
modulo = a % b #1
potencia = a ** b # 1000
3. Estructuras de Control
Condicionales (if, elif, else)
edad = 18
if edad >= 18:
print("Eres mayor de edad")
else:
print("Eres menor de edad")
4. Listas y Diccionarios
Listas (list)
frutas = ["manzana", "banana", "naranja"]
print(frutas[0]) # "manzana"
frutas.append("uva") # Añade "uva" al final
Diccionarios (dict)
python
persona = {
"nombre": "Ana",
"edad": 30,
"ciudad": "Madrid"
}
print(persona["nombre"]) # "Ana"
5. Funciones
# Función básica
def saludar(nombre):
return f"Hola, {nombre}!"
mensaje = saludar("Carlos")
print(mensaje) # "Hola, Carlos!"
2. Optimización (scipy.optimize)
from scipy.optimize import minimize
# 1. Estadísticas descriptivas
# Importar librerías necesarias
from scipy import stats
import numpy as np
import matplotlib.pyplot as plt
# 3. Medidas de dispersión
desviacion = np.std(calificaciones)
rango = np.ptp(calificaciones) # Peak to peak (máx - mín)
rango_intercuartil = stats.iqr(calificaciones)
# 4. Forma de la distribución
asimetria = stats.skew(calificaciones)
curtosis = stats.kurtosis(calificaciones)
# 5. Mostrar resultados
print("\n--- Estadísticas Descriptivas ---")
print(f"Media: {media:.2f}")
print(f"Mediana: {mediana:.2f}")
print(f"Moda: {moda_result.mode[0]} (aparece {moda_result.count[0]} veces)")
print(f"\nDesviación estándar: {desviacion:.2f}")
print(f"Rango: {rango:.2f}")
print(f"Rango intercuartílico (IQR): {rango_intercuartil:.2f}")
print(f"\nAsimetría: {asimetria:.2f}")
print(f"Curtosis: {curtosis:.2f}")
Visualización de resultados
# 6. Crear gráficos
plt.figure(figsize=(12, 5))
# Histograma
plt.subplot(1, 2, 1)
plt.hist(calificaciones, bins=10, edgecolor='black', alpha=0.7)
plt.axvline(media, color='red', linestyle='--', label=f'Media ({media:.2f})')
plt.axvline(mediana, color='green', linestyle=':', label=f'Mediana ({mediana:.2f})')
plt.title('Distribución de Calificaciones')
plt.xlabel('Puntaje')
plt.ylabel('Frecuencia')
plt.legend()
# Boxplot
plt.subplot(1, 2, 2)
plt.boxplot(calificaciones, vert=False)
plt.title('Diagrama de Caja')
plt.xlabel('Puntaje')
plt.tight_layout()
plt.show()