🔀 Condicionales · Nivel: principiante
Intro
Verdadero o falso
Comparar
if
else & elif
and · or · not
Lógica en Scratch
Quiz
Proyecto
🤖 Robot
🧮 Proyecto final
00

Bienvenida: enseñarle a decidir

En la Clase 1 aprendiste a guardar información en variables. Hoy damos el salto más importante: que el programa tome decisiones solo. Que reaccione distinto según lo que pase.

Eso se llama condicional: «SI pasa esto, ENTONCES hacé aquello». Es la base de todo: videojuegos, apps, semáforos, cajeros... todo está lleno de decisiones.

Analogía

Pensá en un paraguas. La regla en tu cabeza es: si está lloviendo, entonces lo llevo; si no, lo dejo en casa. Tu cerebro evalúa una condición (¿llueve?) y elige un camino. Hoy le enseñamos a Python a hacer exactamente eso.

Lo que vas a poder hacer al terminar

⚖️

Comparar valores

Saber si algo es mayor, menor o igual a otra cosa.

🚦

Usar if / elif / else

Hacer que el programa elija entre varios caminos.

🧠

Combinar condiciones

Unir reglas con and, or y not.

🎮

Crear un mini programa

Un portero que decide quién entra a la fiesta.

Calentamiento · Sin código
Ordená la decisión

Antes de programar, pensemos como una máquina. Hacé clic en los pasos en el orden correcto para decidir si cruzar la calle:

Siguiente paso esperado: 1
01

¿Verdadero o falso? Los booleanos

Antes de decidir, una computadora necesita responder preguntas de sí o no. En Python esas respuestas tienen un tipo de dato propio llamado bool (booleano), y solo puede tener dos valores:

True
verdadero ✓
La condición se cumple, la respuesta es «sí».
False
falso ✗
La condición no se cumple, la respuesta es «no».

Ojo: se escriben con mayúscula inicial y sin comillas. True es el booleano; "True" sería solo un texto.

booleanos.py
tengo_hambre = True
es_de_noche = False

print(tengo_hambre)   # True
print(type(es_de_noche))  # <class 'bool'>
Idea clave

Toda condición que escribas se «traduce» en tu cabeza a un único True o False. El programa nunca decide a medias: o se cumple, o no.

02

Operadores de comparación

Para obtener un True o False comparamos valores. Estos son los 6 operadores de comparación de Python:

==
5 == 5 → True
¿Son iguales? (¡son dos signos =!)
!=
5 != 3 → True
¿Son distintos?
>
8 > 3 → True
¿El primero es mayor?
<
8 < 3 → False
¿El primero es menor?
>=
5 >= 5 → True
¿Mayor o igual?
<=
4 <= 9 → True
¿Menor o igual?
✗ Error típico

edad = 18  asigna (guarda) el valor.

✓ Comparar

edad == 18  pregunta si son iguales.

Un = guarda. Dos == preguntan. Confundirlos es el error nº1 de quien empieza.

Laboratorio · Probá vos
Comparador de números

Escribí dos números y mirá qué responde cada operador (cada fila es un True o False):

Tocá «Comparar» para ver los resultados.
03

if: la primera decisión

La palabra if significa «si» (de condición). Su forma es siempre la misma:

estructura del if
if condición:          # termina en dos puntos :
    hacé_esto          # va INDENTADO (4 espacios)

Dos detalles que Python exige sí o sí:

  • La línea del if termina en dos puntos :
  • Lo que pasa «adentro» va indentado (con 4 espacios o un Tab). Esa sangría es la que le dice a Python «esto es parte del if».
edad.py
edad = 20

if edad >= 18:
    print("Sos mayor de edad")
    print("Podés votar")
SALIDA
Sos mayor de edad
Podés votar

Si edad fuera 15, la condición daría False y Python saltearía todo el bloque indentado: no imprime nada.

Simulador · ¿Entra o no?
El portero de la fiesta

El portero deja pasar solo a mayores de 18. Cambiá la edad y mirá qué camino toma el programa:

Escribí una edad y tocá «Probar».
04

else y elif: caminos alternativos

Un if solo cubre el caso «sí». Para decir «si no, hacé otra cosa» usamos else:

else.py
edad = 15

if edad >= 18:
    print("Pasá, podés entrar")
else:
    print("Lo siento, sos menor")
SALIDA
Lo siento, sos menor

¿Y si hay más de dos caminos? Ahí entra elif (abreviatura de «else if», o sea «si no, en cambio si...»). Podés encadenar todos los que quieras:

notas.py
nota = 8

if nota >= 9:
    print("Sobresaliente")
elif nota >= 7:
    print("Notable")
elif nota >= 5:
    print("Aprobado")
else:
    print("Suspenso")
SALIDA
Notable
Regla de oro

Python revisa las condiciones de arriba hacia abajo y se queda con la primera que sea True. Las demás ni las mira. Por eso el orden importa: lo más exigente va primero.

Juego de lógica
Ordená el if / elif / else

Para clasificar una nota, ¿en qué orden deben ir las condiciones? Tocalas de la más exigente a la menos exigente:

Siguiente paso esperado: 1
Editor real · Probá tu código
Mini-Python: ejecutá condicionales

Cambiá el valor de edad y ejecutá. Este editor entiende if, elif, else, comparaciones y print().

editor.py
← Escribí tu código y ejecutalo
05

and, or, not: combinar condiciones

A veces una sola condición no alcanza. ¿Qué pasa si querés exigir dos cosas a la vez? Para eso están los operadores lógicos:

and
y
True solo si las dos condiciones son True.
or
o
True si al menos una es True.
not
no
Da vuelta el valor: True ↔ False.
entrada.py
edad = 20
tiene_entrada = True

if edad >= 18 and tiene_entrada:
    print("Bienvenido al recital 🎸")
else:
    print("No podés pasar")
SALIDA
Bienvenido al recital 🎸

Con and hay que cumplir todo; con or alcanza con una. Esta es la tabla de la verdad, el corazón de la lógica:

Tabla de la verdad · Interactiva
Probá and / or / not

Encendé o apagá los dos interruptores y elegí un operador. Mirá el resultado:

Interruptor A
Interruptor B
Elegí un operador para ver el resultado.
Truco para recordar

and es exigente (quiere todo), or es conformista (con uno le basta), y not es el contrario (siempre dice lo opuesto).

06

Lógica en Scratch 🐱

La lógica de los condicionales es la misma en cualquier lenguaje. Antes (o además) de escribir código, entrenar el cerebro con bloques de colores en Scratch hace que todo se entienda mucho más rápido. Cada bloque naranja «si... entonces» es exactamente un if.

Equivalencia

El bloque de Scratch «si <...> entonces / si no» es idéntico al if / else de Python. Y el rombo verde «<...> y <...>» es el and. ¡Mismas ideas, distinto vestido!

Abrí scratch.mit.edu y resolvé estos retos. Todos se basan en condicionales:

Reto 1 El gato saludador ⭐ Fácil

Hacé que el gato pregunte tu edad y responda distinto según tu respuesta.

  1. Usá el bloque «preguntar [¿Qué edad tenés?] y esperar».
  2. Agregá un bloque «si <respuesta > 17> entonces».
  3. Adentro: «decir [Sos grande 😎]». En el «si no»: «decir [Sos joven 🐣]».
Reto 2 Semáforo con teclas ⭐⭐ Media

Un disfraz de semáforo que cambia de color y el gato decide qué hacer.

  1. Creá una variable color que cambie entre «rojo» y «verde».
  2. «si <color = verde> entonces → avanzar 10 pasos».
  3. Agregá un «si no, si <color = rojo>» → decir «¡Frená!». (¡Eso es un elif!)
Reto 3 ¿Puede entrar al juego? ⭐⭐⭐ Lógica

Combiná DOS condiciones con el rombo verde «y» (el and de Python).

  1. Preguntá la edad y guardala. Preguntá «¿tenés entrada? (si/no)».
  2. Usá «si <<edad > 12> y <respuesta = si>> entonces».
  3. Si se cumple: «¡Bienvenido!». Si no: «No podés jugar». Probá cambiando las respuestas.
07

Mini quiz: ¿qué aprendiste?

Respondé sin mirar arriba. Cada pregunta te dice al toque si acertaste.

0/4 aciertos

1. ¿Cuál operador pregunta si dos valores son iguales?

2. edad = 10. ¿Qué imprime if edad >= 18: print("hola")?

3. if True and False: — ¿la condición es...?

4. ¿Qué palabra usás para «si no, en cambio si...»?

08

Proyecto del día 🚀

Juntemos todo en un solo programa: el portero del boliche. Decide si alguien puede entrar combinando varias condiciones.

Proyecto El portero inteligente 🎯 Integrador

Reglas del local: para entrar hay que tener 18 o más y tener entrada. Los de 65 o más entran gratis.

1
Guardá los datos
edad = 22  y  tiene_entrada = True
2
Decisión principal con and
if edad >= 18 and tiene_entrada:
3
Caso especial con elif
elif edad >= 65: → entra gratis
4
El rechazo con else
else: → "No podés pasar"
0 de 4 etapas listas

Ahora te toca: escribí el portero vos solo, siguiendo la guía de los 4 pasos. Sin mirar ninguna solución — para eso está la pista de cada paso. 💪


Repasaste

Booleanos, comparación, if/elif/else y and/or/not.

🐱

Practicaste

Lógica con bloques de Scratch y juegos.

➡️

Sigue

Clase 3: bucles, para repetir tareas sin copiar y pegar.

09

Desafío: programá al robot 🤖

El gran final, al estilo CodeCombat: tu código es el cerebro del robot. No le das una lista de movimientos: le das reglas. En cada paso el robot lee la situación (dónde está, dónde hay paredes) y tu condicional decide hacia dónde ir. El objetivo: llegar a la ⭐.

Cómo funciona

El robot ejecuta tu código una vez por paso y repite hasta llegar a la meta. Vos solo escribís el «si pasa esto → andá para allá». (Quién repite esos pasos es un bucle... eso lo programás vos en la Clase 3 😉).

pasos: 0 / 50
cerebro.py
Tocá ▶ Ejecutar para que el robot lea tu cerebro.

Variables que podés leer

  • x, y — tu posición
  • meta_x, meta_y — dónde está la ⭐
  • pared_arriba · pared_abajo
  • pared_izquierda · pared_derechaTrue/False

Tu misión

Asigná a mover una dirección: "arriba", "abajo", "izquierda", "derecha" o "quieto".

Estás usando todo lo de la clase: variables (x, y), comparación (<, >, ==), if/elif/else y lógica booleana (los sensores pared_* son True/False, combinalos con and, or, not).


🤖

Lo lograste

Programaste el comportamiento de un personaje con condicionales.

🧩

Pensaste en reglas

No diste pasos sueltos: diste lógica que se adapta sola.

🔁

Sigue

Clase 3: los bucles, el motor que repite los pasos.

10

Proyecto final de la semana 🧮

📅 Para hacer en la semana · En casa

Este es tu desafío para la semana: armá una calculadora en Python. No hay solución acá — la idea es que la pienses vos, con todo lo que aprendimos. La traés terminada para la próxima clase.

Una calculadora que le pide al usuario dos números y una operación, y según cuál elija, hace la cuenta. Vas a usar input() (Clase 1) + if / elif / else (Clase 2). 🔗

Proyecto final Tu calculadora 🎯 Para la semana

Tu programa tiene que:

  1. Pedir el primer número y guardarlo (acordate de convertir con float()).
  2. Pedir el segundo número.
  3. Preguntar qué operación hacer: +, -, * o /.
  4. Con if / elif / else, decidir la cuenta según el símbolo elegido.
  5. Mostrar el resultado con un print() lindo (usá una f-string).

Te dejo el esqueleto (completá los TODO)

Copialo, pegalo en tu editor de Python y completá las partes que faltan. Te dejo una operación de ejemplo; las demás van por tu cuenta. 😉

calculadora.py
# Calculadora — completá los TODO
num1 = float(input("Primer número: "))
num2 = float(input("Segundo número: "))
op = input("Operación (+, -, *, /): ")

if op == "+":
    resultado = num1 + num2
    print(f"El resultado es {resultado}")
# TODO: elif op == "-":  → restar
# TODO: elif op == "*":  → multiplicar
# TODO: elif op == "/":  → dividir (¡ojo con dividir por 0!)
# TODO: else:            → "Operación no válida"

Retos extra (para subir nota ⭐)

División segura

Antes de dividir, con un if revisá que num2 no sea 0. Si lo es, avisá en vez de romper.

🛡️

Operación inválida

Si escriben algo que no es + - * /, que el else muestre un mensaje claro.

Mensaje completo

Mostrá la cuenta entera, ej: 7.0 + 4.0 = 11.0, con una f-string.

¿Cómo lo pruebo? Corré el archivo en tu compu con python calculadora.py, o pegalo en un editor online como online-python.com. Probá las 4 operaciones y la división por 0.


✅ Está listo cuando...

Las 4 operaciones funcionan, dividir por 0 no rompe el programa, y si la operación no existe avisa con un mensaje. ¡Llevalo a la próxima clase y lo revisamos juntos! 🚀