⏱ 2 hs · Nivel: cero
Intro
¿Qué es programar?
Variables
Tipos de datos
print() & input()
Quiz
Proyecto final
Clase 01 · Python desde cero

Hoy le darás órdenes
a una computadora

En 2 horas escribirás tu primer programa real. Sin memorizar: aprendiendo haciendo.

Aprenderás
✓ Qué es programar
✓ Variables y tipos de datos
✓ Leer e imprimir datos
✓ Tu primer programa completo
Necesitas
🐍 Python instalado
📝 Un editor (VS Code)
🧠 Curiosidad
☕ Un café (opcional)

01

¿Qué es programar?

Antes de escribir una línea de código, entendamos qué pasa realmente cuando ejecutamos un programa.

Analogía del chef

Tu computadora es un chef muy literal. Si le dices "haz un pastel", no sabe nada. Pero si le dices "toma 2 tazas de harina, agrega 3 huevos, bate 5 minutos…" puede seguirte. Eso es programar: instrucciones exactas, en orden, paso a paso.

🧩
Actividad interactiva
Ordena las instrucciones

Haz clic en los pasos en el orden correcto para preparar un sándwich. La computadora necesita instrucciones precisas y secuenciales.

Siguiente paso esperado: 1

¿Qué es un lenguaje de programación?

Una computadora solo entiende 0s y 1s. Nosotros no podemos escribir así. Por eso existen los lenguajes de programación: un idioma intermedio que luego se traduce a lo que la máquina entiende.

El intérprete

Es como hablar con alguien que solo entiende chino mandarín usando un intérprete. Python es ese intérprete: tú escribes en algo legible para humanos, y él lo traduce a instrucciones que la CPU ejecuta.

¿Por qué Python?

✓ Python
print("Hola mundo")
✗ Java (misma tarea)
public class Main {
  public static void main(String[] args) {
    System.out.println("Hola");
  }
}

Python es simple, legible y poderoso. Lo usan Google, Netflix e Instagram. Es el más buscado para empezar.

Tu primer programa — ¡Ejecútalo ahora!

hola_mundo.py
print("¡Hola, mundo!")
SALIDA
¡Hola, mundo!
Playground — pruébalo tú mismo
← Haz clic en ejecutar

02

Variables: cajas con nombres

Esta es la idea más importante de toda la programación. Si la entiendes bien, el 50% está hecho.

La analogía definitiva

Una variable es una caja con una etiqueta. La etiqueta es el nombre. Dentro puedes guardar cualquier cosa: un número, un texto, lo que quieras. Después abres la caja usando el nombre de la etiqueta.

NOMBRE (etiqueta)
edad
VALOR (contenido)
25
variables.py
# Crear variables
edad   = 25
nombre = "Ana"
altura = 1.68

# Usarlas
print(nombre)   # Ana
print(edad)     # 25
print(altura)   # 1.68
SALIDA
Ana
25
1.68

Cambiar el valor

La caja puede vaciarse y rellenarse con algo nuevo. El nombre no cambia, solo el contenido.

cambio_valor.py
puntaje = 0
print(puntaje)          # 0

puntaje = 10
print(puntaje)          # 10

puntaje = puntaje + 5
print(puntaje)          # 15

Reglas para los nombres

✓ Válido
nombre
edad_usuario
precio2024
_total
✗ Inválido
2precio  ← empieza con número
mi nombre  ← tiene espacio
for  ← palabra reservada
precio!  ← carácter especial
Práctica Ejercicio 1 — Tu tarjeta de presentación ⏱ 8 min

Crea variables con tu propia información y muéstralas.

  1. Crea nombre con tu nombre
  2. Crea edad con tu edad
  3. Crea ciudad con tu ciudad
  4. Muestra cada una con print()
  5. BONUS: Muestra todo en una línea: "Me llamo Ana, tengo 25 años"
Ejercicio 1 — Playground
← Escribe tu código y ejecútalo

🎮
Aprende jugando
Variables del juego — en tiempo real
⏳ 10 min

¿Ves el juego de abajo? Mientras juegas, mira el panel de la derecha. Cada variable cambia en tiempo real mientras el juego corre. Ese es exactamente el concepto: una variable es una caja cuyo contenido cambia con el tiempo.

puntaje: 0 tiempo: 20s
🎮 Cazador de Monedas
Muévete con las flechas y recoge monedas.
Observa cómo cambian las variables.
↑ ↓ ← → flechas del teclado
Variables en vivo
puntaje int
0
+1 cada vez que tocas una moneda
tiempo_restante int
20
Disminuye en 1 por segundo. Al llegar a 0, fin.
pos_x  /  pos_y int
160  /  120
Posición del personaje. Cambia con cada tecla.
juego_activo bool
False
Solo puede ser True o False
nombre_jugador str
"Jugador"
Texto entre comillas — tipo string
Equivalente en Python — actualizado en tiempo real
# Variables del juego
nombre_jugador = "Jugador"
puntaje        = 0
tiempo_restante= 20
pos_x          = 160
pos_y          = 120
juego_activo   = False
🤔

Pregunta para pensar: ¿Qué variable cambia con mayor frecuencia mientras juegas? ¿Cuál nunca cambia? ¿Por qué nombre_jugador tiene comillas y puntaje no?


03

Tipos de datos

No todas las cajas guardan lo mismo. Cada valor tiene un tipo, y eso cambia cómo puedes operar con él.

int
42, -7, 0, 1000
Número entero. Para contar, puntajes, edades.
float
3.14, -0.5, 1.68
Número con decimales. Para precios, medidas.
str
"Hola", "Ana", "42"
Texto. Siempre entre comillas simples o dobles.
bool
True, False
Solo dos valores. Útil para condiciones.

¿Cómo saber el tipo?

tipos.py
edad   = 25
precio = 19.99
nombre = "Ana"
activo = True

print(type(edad))     # <class 'int'>
print(type(precio))   # <class 'float'>
print(type(nombre))   # <class 'str'>
print(type(activo))   # <class 'bool'>

Convertir variables

A veces un dato llega como texto, pero necesitas usarlo como número. Para eso existen las conversiones: int(), float() y str().

int()
int("25") → 25
Convierte texto o decimal a número entero.
float()
float("19.99") → 19.99
Convierte texto o entero a número con decimales.
str()
str(25) → "25"
Convierte números u otros valores a texto.
conversiones.py
# Estos datos parecen números, pero son texto
edad_texto   = "25"
precio_texto = "19.99"

# Convertir a números
edad   = int(edad_texto)
precio = float(precio_texto)

print(edad + 1)
print(precio * 2)
print("Edad: " + str(edad))
SALIDA
26
39.98
Edad: 25
Dato clave

input() siempre devuelve texto. Si quieres hacer cálculos con lo que escribe el usuario, primero debes convertirlo con int() o float().

Operaciones con variables

Las variables numéricas se pueden combinar con operaciones básicas: suma, resta, multiplicación y división.

Operadores básicos
suma: +
resta: -
multiplicación: *
división: /
Atención
La división / devuelve un float, incluso cuando el resultado no tiene decimales.
operaciones.py
a = 10
b = 4

suma           = a + b
resta          = a - b
multiplicacion = a * b
division       = a / b

print(suma)
print(resta)
print(multiplicacion)
print(division)
SALIDA
14
6
40
2.5
ticket_compra.py
precio    = 120.0
cantidad  = 3
descuento = 30.0

subtotal       = precio * cantidad
total          = subtotal - descuento
precio_promedio = total / cantidad

print(f"Subtotal: {subtotal}")
print(f"Total: {total}")
print(f"Precio promedio: {precio_promedio}")
SALIDA
Subtotal: 360.0
Total: 330.0
Precio promedio: 110.0
🧪
Laboratorio interactivo
Convierte datos y calcula
Convertir un valor
Elige una conversión.
Operar con variables
Elige una operación.

⚠️ El error más común: mezclar tipos

¡Error frecuente!

Sumar un número y un texto da error. Python te lo avisa con un TypeError. La solución es convertir el tipo antes de operar.

error_tipos.py
edad = 25

# ESTO DA ERROR:
# print("Tengo " + edad + " años")

# SOLUCIÓN 1 — convertir con str():
print("Tengo " + str(edad) + " años")

# SOLUCIÓN 2 — f-strings (más moderno):
print(f"Tengo {edad} años")
SALIDA
Tengo 25 años
Tengo 25 años
Reto Ejercicio 2 — Conversor y ticket simple ⏱ 12 min

Convierte datos de texto a números y calcula el total de una compra.

  1. Crea precio_texto con el valor "112.50"
  2. Crea cantidad_texto con el valor "4"
  3. Convierte precio_texto con float()
  4. Convierte cantidad_texto con int()
  5. Calcula subtotal = precio * cantidad
  6. Calcula total = subtotal - 25
  7. Calcula precio_promedio = total / cantidad
  8. Muestra el subtotal, el total y el precio promedio con f-strings
Ejercicio 2 — Playground
← Completa y ejecuta

04

print() e input()

Con estas dos funciones tu programa habla con el usuario. print() muestra cosas. input() pide datos.

print() — mostrar información

print_avanzado.py
# Básico
print("Hola")

# Varios valores a la vez
print("Nombre:", "Ana", "Edad:", 25)

# F-strings (la forma más cómoda)
nombre = "Carlos"
edad   = 30
print(f"Me llamo {nombre} y tengo {edad} años")

# Línea en blanco
print("Línea 1")
print()
print("Línea 3")
SALIDA
Hola
Nombre: Ana Edad: 25
Me llamo Carlos y tengo 30 años
Línea 1

Línea 3

input() — recibir datos del usuario

Cómo funciona

input() pausa el programa, muestra un mensaje, y espera que el usuario escriba algo y presione Enter. Siempre devuelve texto (str), aunque el usuario escriba un número.

input_basico.py
# input() siempre devuelve str
nombre = input("¿Cómo te llamas? ")
print(f"¡Hola, {nombre}!")

# Si necesitas un número → convertir con int()
edad = int(input("¿Cuántos años tienes? "))
print(f"El próximo año tendrás {edad + 1}")
🤖
Actividad interactiva
Habla con el robot
¿Cómo te llamas?
# El robot usará input() para preguntar nombre = input("¿Cómo te llamas? ")
Práctica Ejercicio 3 — Saludo personalizado ⏱ 10 min

Programa que pide nombre y edad, y devuelve un mensaje personalizado.

  1. Pide el nombre con input()
  2. Pide la edad con input() y conviértela a int
  3. Calcula en qué año nació: 2025 - edad
  4. Muestra: "¡Hola Ana! Naciste aproximadamente en 1990."
  5. BONUS: Muestra cuántos años faltan para llegar a 100
Ejercicio 3 — Playground (input simulado con variables)
← Modifica nombre y edad, luego ejecuta

05

Mini quiz — ¿Qué aprendiste?

Verifica tus conocimientos

0/4 aciertos

1. ¿Qué imprime este código?

x = 5
x = x + 3
print(x)

2. ¿Cuál es el tipo de dato = "42"?

3. ¿Cuál nombre de variable es inválido?

4. ¿Cómo conviertes el string "10" a entero para sumarle 5?


06

Proyecto del día 🚀

Cada clase termina con un proyecto integrador: usas todo lo que aprendiste en un programa real.

Proyecto Mini calculadora de datos personales ⏱ 20 min

Programa que pide datos al usuario y genera un reporte personalizado.

  1. Pide el nombre con input()
  2. Pide la edad → convertir a int
  3. Pide la altura en metros → convertir a float
  4. Pide el peso en kg → convertir a float
  5. Calcula el IMC: peso / (altura ** 2)
  6. Calcula el año de nacimiento: 2025 - edad
  7. Muestra un reporte con todos los datos con f-strings
  8. BONUS: Redondea el IMC con round(imc, 1)
🧭
Constructor interactivo
Arma el proyecto por etapas

Haz clic en cada etapa cuando la tengas lista. Cada paso desbloquea una pista corta para revisar tu programa.

1
Pedir datos
Usa input() para nombre, edad, altura y peso.
2
Convertir tipos
Edad debe ser int. Altura y peso deben ser float.
3
Calcular resultados
Usa peso / (altura ** 2) para el IMC y 2025 - edad para el año.
4
Mostrar el reporte
Usa f-strings para mezclar texto y variables sin concatenar manualmente.
0 de 4 etapas listas
proyecto_dia.py — solución de referencia
# ── Recolección de datos ──────────────
nombre = input("¿Cómo te llamas? ")
edad   = int(input("¿Cuántos años tienes? "))
altura = float(input("¿Cuánto mides (metros)? "))
peso   = float(input("¿Cuánto pesas (kg)? "))

# ── Cálculos ──────────────────────────
año_nac = 2025 - edad
imc     = round(peso / (altura ** 2), 1)

# ── Reporte ───────────────────────────
print()
print("═══════════════════════════")
print(f"  REPORTE DE {nombre.upper()}")
print("═══════════════════════════")
print(f"  Edad       : {edad} años")
print(f"  Nació en   : {año_nac}")
print(f"  Altura     : {altura} m")
print(f"  Peso       : {peso} kg")
print(f"  IMC        : {imc}")
print("═══════════════════════════")
Proyecto final — Playground (datos pre-cargados)
← Ejecuta el proyecto final

🎓 Resumen de la clase

🐍

Lenguaje

Python traduce instrucciones humanas a algo que la computadora ejecuta.

📦

Variables

Cajas con nombre para guardar información que el programa puede usar.

🎨

Tipos

int, float, str, bool. Cada tipo define qué puedes hacer con el dato.

Conversiones y operaciones

int(), float(), str(), suma, resta, multiplicación y división.

📟

print / input

Las puertas de comunicación entre el programa y el usuario.

PRÓXIMA CLASE

Clase 2 — Condicionales y decisiones

if / elif / else · Operadores de comparación · Lógica booleana · Programas que toman decisiones