Objetivos de Aprendizaje
Al finalizar esta clase, serás capaz de:
- Configurar Python y VSCode en tu computadora
- Crear variables con los tipos básicos:
int,float,str,bool - Usar operadores aritméticos y de comparación
- Leer datos del usuario con
input()y mostrar resultados conprint() - Escribir tu primer programa Python funcional
Video Recomendado
Curso completo de Python para principiantes:
Ver Playlist "Python desde Cero" (59 videos) Canal: Sergio A. Castaño GiraldoConfiguración del Entorno (15 min)
1. Instalar Python
- Ve a python.org
- Descarga Python 3.11 o superior
- IMPORTANTE: Marca "Add Python to PATH"
- Verifica en terminal:
python --version
2. Instalar VSCode
- Descarga de code.visualstudio.com
- Instala la extensión "Python" de Microsoft
- Abre la paleta (Ctrl+Shift+P) → "Python: Select Interpreter"
Introducción a Git y GitHub (15 min)
Git es un sistema de control de versiones que te permite:
- Guardar el historial de cambios de tu código
- Volver a versiones anteriores si algo falla
- Trabajar en equipo sin sobrescribir el trabajo de otros
- Subir tu código a la nube (GitHub)
1. Instalar Git
- Ve a git-scm.com
- Descarga e instala Git
- Verifica en terminal:
git --version
2. Configurar Git
# Configurar tu nombre (aparecerá en tus commits)
git config --global user.name "Tu Nombre"
# Configurar tu email (usa el mismo de GitHub)
git config --global user.email "tu@email.com"
# Verificar configuración
git config --list
3. Crear cuenta en GitHub
- Ve a github.com
- Crea una cuenta gratuita con tu email institucional
- Verifica tu email
Ejercicio Rápido: Tu Primer Repositorio (10 min)
Sigue estos pasos para crear tu primer repo:
- En GitHub, haz clic en "New Repository"
- Nombra:
poo2-practicas - Marca "Add a README file"
- Haz clic en "Create repository"
- Copia la URL del repo (botón verde "Code")
Resultado: Tendrás tu repositorio en la nube donde subirás todos los ejercicios.
- Repositorio: Carpeta que Git controla
- Commit: Foto de tu código en un momento específico
- GitHub: Servicio en la nube para almacenar repos
Variables y Tipos de Datos (20 min)
Una variable es un nombre que almacena un valor en memoria.
Tipos Básicos
# Enteros (int)
edad = 25
cantidad = -10
# Decimales (float)
precio = 19.99
altura = 1.75
# Texto (str)
nombre = "Juan"
mensaje = 'Hola mundo'
# Booleanos (bool)
es_activo = True
esta_completado = False
# None (sin valor)
resultado = None
Ejercicio Rápido 1: Tipos de Datos (5 min)
Abre VSCode y crea un archivo ejercicio1.py:
- Crea 3 variables: tu nombre (str), tu edad (int), tu altura (float)
- Usa
type()para verificar el tipo de cada una - Imprime los valores con f-strings
Verificación: ¿Coinciden los tipos con lo que esperabas?
Conversión entre Tipos
# Convertir a entero
edad = int("25") # 25
# Convertir a decimal
precio = float("19.99") # 19.99
# Convertir a texto
texto = str(100) # "100"
input() siempre retorna texto (str). Debes convertirlo si necesitas números.
Ejercicio Rápido 2: Calculadora Geométrica (5 min)
En tu archivo ejercicio2.py:
- Pide al usuario el radio de un círculo
- Calcula el área:
area = 3.14159 * radio ** 2 - Calcula el perímetro:
perimetro = 2 * 3.14159 * radio - Muestra los resultados formateados a 2 decimales
Ejemplo de ejecución:
Radio: 5
Área: 78.54
Perímetro: 31.42
Operadores (10 min)
Aritméticos
+ | Suma | 5 + 3 = 8 |
- | Resta | 5 - 3 = 2 |
* | Multiplicación | 5 * 3 = 15 |
/ | División | 10 / 3 = 3.33 |
// | División entera | 10 // 3 = 3 |
% | Resto | 10 % 3 = 1 |
** | Potencia | 2 ** 3 = 8 |
Ejercicio Rápido 3: Mini Calculadora (5 min)
Crea ejercicio3.py:
- Pide dos números al usuario
- Muestra: suma, resta, multiplicación, división, módulo
- Usa f-strings para formatear resultados a 2 decimales
Comparación (retornan True/False)
== | Igual | 5 == 5 → True |
!= | Diferente | 5 != 3 → True |
> | Mayor | 5 > 3 → True |
< | Menor | 5 < 3 → False |
Ejercicio Rápido 4: Comparador de Edades (5 min)
Crea ejercicio4.py:
- Pide la edad de dos personas
- Compara quién es mayor usando operadores de comparación
- Muestra si son de la misma edad
- Muestra si la diferencia es menor a 5 años
Input y Output (10 min)
Mostrar información (print)
# Básico
print("Hola, mundo!")
# Múltiples valores
nombre = "Ana"
edad = 20
print("Nombre:", nombre, "Edad:", edad)
# F-strings (recomendado)
print(f"Hola, {nombre}. Tienes {edad} años.")
# Formatear números
precio = 19.999
print(f"Precio: ${precio:.2f}") # Precio: $20.00
Ejercicio Rápido 5: Formato de Factura (5 min)
Crea ejercicio5.py:
- Crea variables: producto, cantidad, precio_unitario
- Calcula subtotal, IVA (19%), total
- Muestra una factura formateada con alineación
Leer información (input)
# Leer texto
nombre = input("¿Cuál es tu nombre? ")
# Leer número (convertir)
edad = int(input("¿Cuántos años tienes? "))
altura = float(input("¿Cuánto mides (metros)? "))
print(f"Hola {nombre}, tienes {edad} años y mides {altura}m")
Ejercicio Rápido 6: Conversor de Temperatura (5 min)
En tu archivo ejercicio6.py:
- Pide al usuario una temperatura en Celsius
- Convierte a Fahrenheit:
F = (C × 9/5) + 32 - Convierte a Kelvin:
K = C + 273.15 - Muestra las tres temperaturas formateadas
Ejemplo de ejecución:
Temperatura en Celsius: 25
Fahrenheit: 77.0°F
Kelvin: 298.15K
Laboratorio 1: Calculadora de IMC Mejorada (20 min)
Vamos a crear un programa que calcule el Índice de Masa Corporal.
Fórmula
IMC = peso / (altura × altura)
- Bajo peso: IMC < 18.5
- Normal: 18.5 ≤ IMC < 25
- Sobrepeso: 25 ≤ IMC < 30
Código
# calculadora_imc.py
print("=== CALCULADORA DE IMC AVANZADA ===")
# Pedir datos al usuario
nombre = input("¿Cuál es tu nombre? ")
# Validar entrada de peso
while True:
try:
peso = float(input("¿Cuál es tu peso en kg? "))
if peso > 0:
break
print("❌ El peso debe ser mayor que 0")
except ValueError:
print("❌ Por favor ingresa un número válido")
# Validar entrada de altura
while True:
try:
altura = float(input("¿Cuál es tu altura en metros? "))
if altura > 0:
break
print("❌ La altura debe ser mayor que 0")
except ValueError:
print("❌ Por favor ingresa un número válido")
# Calcular IMC
imc = peso / (altura ** 2)
# Calcular peso ideal (IMC = 22)
peso_ideal = 22 * (altura ** 2)
diferencia = peso - peso_ideal
# Mostrar resultado
print(f"\n📊 RESULTADOS PARA {nombre.upper()}")
print("=" * 40)
print(f"Tu IMC es: {imc:.2f}")
# Clasificar con emojis
if imc < 18.5:
print("Clasificación: 🔵 Bajo peso")
print("💡 Recomendación: Consulta con un nutricionista")
elif imc < 25:
print("Clasificación: 🟢 Peso normal")
print("💡 ¡Excelente! Mantén tus hábitos saludables")
elif imc < 30:
print("Clasificación: 🟡 Sobrepeso")
print("💡 Recomendación: Actividad física regular")
else:
print("Clasificación: 🔴 Obesidad")
print("💡 Importante: Busca orientación médica")
print(f"\n🎯 Peso ideal: {peso_ideal:.2f} kg")
if diferencia > 0:
print(f"📉 Debes bajar: {diferencia:.2f} kg")
elif diferencia < 0:
print(f"📈 Debes subir: {abs(diferencia):.2f} kg")
else:
print("✅ ¡Estás en tu peso ideal!")
Prueba tu programa
| Nombre | Peso (kg) | Altura (m) | IMC Esperado |
|---|---|---|---|
| Juan | 70 | 1.75 | 22.86 (Normal) |
| María | 55 | 1.60 | 21.48 (Normal) |
Reto Adicional
Modifica el programa para procesar múltiples usuarios usando un bucle while que pregunte "¿Deseas calcular otro IMC? (s/n)" hasta que el usuario responda 'n'.
Laboratorio 2: Calculadora de Finanzas Personales (25 min)
Crea un sistema para gestionar tus finanzas personales mensuales.
Requisitos
- Registrar ingresos mensuales
- Registrar gastos por categoría (vivienda, alimentación, transporte, entretenimiento, otros)
- Calcular balance (ingresos - gastos)
- Mostrar porcentaje de gastos por categoría
- Determinar si hay superávit o déficit
Código Base
# finanzas_personales.py
print("💰 CALCULADORA DE FINANZAS PERSONALES 💰\n")
# Ingresos
print("💵 INGRESOS")
salario = float(input("Salario mensual: $"))
ingresos_extra = float(input("Ingresos extras (freelance, etc.): $"))
ingresos_totales = salario + ingresos_extra
print(f"\n📊 Ingresos totales: ${ingresos_totales:.2f}\n")
# Gastos por categoría
print("💸 GASTOS POR CATEGORÍA")
vivienda = float(input("Vivienda (arriendo, servicios): $"))
alimentacion = float(input("Alimentación: $"))
transporte = float(input("Transporte: $"))
entretenimiento = float(input("Entretenimiento: $"))
otros = float(input("Otros gastos: $"))
gastos_totales = vivienda + alimentacion + transporte + entretenimiento + otros
# Cálculos
balance = ingresos_totales - gastos_totales
porcentaje_gastos = (gastos_totales / ingresos_totales) * 100
# Resultados
print("\n" + "="*50)
print("📈 RESUMEN FINANCIERO")
print("="*50)
print(f"Ingresos totales: ${ingresos_totales:>10.2f}")
print(f"Gastos totales: ${gastos_totales:>10.2f}")
print(f"Balance: ${balance:>10.2f}")
print("="*50)
# Análisis
if balance > 0:
print(f"\n✅ ¡SUPERÁVIT! Estás ahorrando ${balance:.2f}")
print(f"💡 Estás gastando el {porcentaje_gastos:.1f}% de tus ingresos")
print(f"📊 Puedes ahorrar: ${balance:.2f} este mes")
elif balance < 0:
print(f"\n⚠️ DÉFICIT: Te faltan ${abs(balance):.2f}")
print(f"💡 Revisa tus gastos, especialmente en entretenimiento")
else:
print("\n⚖️ Estás exactamente al día (sin ahorros)")
# Desglose por categoría
print(f"\n📋 DESGLOSE DE GASTOS:")
print(f" 🏠 Vivienda: ${vivienda:>8.2f} ({(vivienda/gastos_totales)*100:.1f}%)")
print(f" 🍽️ Alimentación: ${alimentacion:>8.2f} ({(alimentacion/gastos_totales)*100:.1f}%)")
print(f" 🚗 Transporte: ${transporte:>8.2f} ({(transporte/gastos_totales)*100:.1f}%)")
print(f" 🎮 Entretenimiento: ${entretenimiento:>8.2f} ({(entretenimiento/gastos_totales)*100:.1f}%)")
print(f" 📦 Otros: ${otros:>8.2f} ({(otros/gastos_totales)*100:.1f}%)")
Retos Adicionales
- Meta de ahorro: Pide una meta de ahorro mensual y calcula cuánto te falta o sobra
- Comparación: Almacena el balance en una variable y compara con el mes anterior (simulado)
- Alertas: Si alguna categoría supera el 30% de los ingresos, muestra una alerta
Ejercicios Adicionales (15 min)
Crea un conversor USD ↔ COP. Usa tasa de cambio actual (ej: 1 USD = 4,000 COP).
- Pide al usuario el monto
- Pide la dirección de conversión (1: USD→COP, 2: COP→USD)
- Muestra el resultado formateado
Calcula la propina y el total a pagar en un restaurante.
- Total de la cuenta
- Porcentaje de propina (10%, 15%, 20%)
- Número de personas para dividir
- Muestra: propina, total, total por persona
Calcula el interés simple y el monto final de una inversión.
- Fórmula: I = P × r × t
- P = capital inicial
- r = tasa de interés anual (decimal)
- t = tiempo en años
Divide una cuenta entre varias personas considerando quién consumió qué.
- Registra consumo por persona
- Calcula subtotal + propina
- Muestra cuánto debe pagar cada uno
Resumen
- Variables: Almacenan datos con nombres descriptivos
- Tipos: int, float, str, bool - cada uno tiene un propósito
- input(): Lee texto del usuario (convertir si es número)
- print(): Muestra información (usar f-strings)
- Operadores: Aritméticos para cálculos, comparación para decisiones