Tal vez te parezca obvio que las máquinas "piensan". Total, hoy en día tenés a ChatGPT, autos que se manejan solos, o celulares que te recomiendan qué mirar... ¿no? Pero... ¿realmente piensan?
La respuesta es: no como nosotros. Las computadoras no tienen conciencia, ni sentimientos, ni intuición. Lo que sí tienen es una capacidad bestial de ejecutar miles de instrucciones por segundo, y de tomar decisiones según reglas lógicas muy simples. Tan simples que, si las entendés, vas a descubrir cómo se construyen esos "cerebros digitales".
Cuenta la historia de Alan Turing, un matemático británico que durante la Segunda Guerra Mundial ayudó a descifrar los mensajes secretos de los nazis. Pero más allá de eso... ¡Turing creó una de las primeras ideas de lo que sería una computadora moderna!
Él no programaba como nosotros hoy. Ni siquiera existía Python. Pero sí desarrolló una máquina que seguía una serie de reglas lógicas para deducir si un mensaje tenía sentido. Básicamente, si pasaba algo, la máquina hacía algo. Y si no, hacía otra cosa.
Ese pequeño "si pasa esto... entonces hacé esto" fue el inicio de la inteligencia artificial moderna.
Eso, querido lector, es la esencia de lo que vamos a aprender hoy: los condicionales y la lógica booleana.
Detrás de todo pensamiento computacional hay una base fundamental: la lógica booleana, que viene de un señor llamado George Boole (sí, el nombre no es casual).
Boole propuso que todas las decisiones podían reducirse a algo simple:
Matemático y filósofo británico que sentaría las bases de la lógica computacional moderna.
Boole publica su obra donde establece el álgebra booleana, base de la lógica digital.
Shannon demuestra que los circuitos eléctricos pueden resolver problemas lógicos usando el álgebra de Boole.
Turing aplica principios lógicos para descifrar códigos nazis durante la Segunda Guerra Mundial.
La lógica booleana está por todos lados. Un semáforo, por ejemplo:
Una app de clima:
Esa estructura de "preguntar algo y hacer algo según la respuesta" es lo que hoy vamos a programar.
En Python, las decisiones se hacen con una palabra mágica: if
. Que, adivinaste, significa "si". Como si estuviesemos diciendo "Si me alcanza el dinero que tengo, compraré esa gaseosa que tanto me gusta", ese SI es quien determina el resultado, porque SI tengo el dinero → puedo comprarla. SI no tengo el dinero → No podre comprar la gaseosa.
Miremos este ejemplo:
temperatura = 30 # acá estamos diciendo que la temperatura es 30
if temperatura > 25: # acá aplicamos la condicion, "si la temeratura es más grande que 25".
print("Hace calor") # Imprime en pantalla "Hace Calor"
(Lo que vés despues de "#" es un comentario, todo ese texto NO se ejecutará por la máquina, sirve para dejar algun comentario sobre ésa linea de codigo.)
¿Ves qué pasa? Si la variable temperatura es mayor que 25, entonces Python ejecuta el print("Hace calor")
. Si no se cumple... no hace nada. Así de simple. Pero también, así de poderoso.
if
→ sabe que va a evaluar una condición.temperatura > 25
es verdadero.🎯 Objetivo: Entender cómo funcionan las condiciones y cómo afectan el flujo del programa.
Fácil, usás else
, que significa "si no":
temperatura = 18
if temperatura > 25: # acá aplicamos la condicion, "si la temeratura es más grande que 25".
print("Hace calor") # Imprime en pantalla "Hace Calor"
else: # este "else" significa "sino", y se ejecutará siempre si lo anterior NO se cumple.
print("Está fresco") # Imprime en pantalla "Está fresco"
Esto sí que es una decisión completa.
🎯 Objetivo: Entender cómo funcionan las estructuras if-else.
Ahí usamos elif
(abreviación de "else if") que significa, "sino, si ..." como si dijieramos que:
temperatura = 20
if temperatura > 25: # Si pasa algo..
print("Hace calor")
elif temperatura > 15: # Sino, si pasa esto otro..
print("Está templado")
else: # Sino, haz lo siguiente..
print("Hace frío")
Python va revisando, de arriba para abajo, hasta que encuentra una condición verdadera.
🎯 Objetivo: Construir un programa que decida qué decirte según la temperatura.
Vamos a trabajar con tres niveles:
temperatura = int(input("¿Qué temperatura hace ahora en tu ciudad? "))
if temperatura > 30:
print("🔥 Hace MUCHO calor. ¡No te olvides del agua!")
elif temperatura > 20:
print("😎 Está templado. Un clima ideal para salir.")
elif temperatura > 10:
print("🧥 Hace fresco. Llevá un abrigo.")
else:
print("❄️ Hace frío. ¡No te olvides los guantes!")
🧠 ¿Qué estamos haciendo acá?
input()
).int()
para convertir eso en número entero.🎯 Desafíos:
💡 Dato curioso: Este mismo tipo de estructura se usa en las apps del clima, en los juegos para decidir si un personaje pierde o gana, y hasta en sistemas bancarios para validar usuarios. ¡Estás programando como los grandes!
A veces necesitamos combinar varias condiciones. Por ejemplo, "si hace calor Y es fin de semana, vamos a la playa". Para eso usamos operadores lógicos:
Operador | Significado | Ejemplo |
---|---|---|
and |
y | True and True → True |
or |
o | True or False → True |
not |
no | not True → False |
Veamos un ejemplo:
hice_la_tarea = True
llueve = False
if hice_la_tarea and not llueve:
print("Podés salir a jugar 🎉")
else:
print("Te quedás en casa 🙃")
Acá estamos diciendo: "Si hiciste la tarea Y NO está lloviendo, podés salir a jugar". Ambas condiciones deben cumplirse para que puedas salir.
🎯 Objetivo: Practicar con operadores lógicos como and
y not
.
Hoy aprendiste algo que cambia todo:
📍 En el próximo capítulo, vamos a seguir por ese camino:
¡Vamos a hacer que nuestros programas repitan cosas automáticamente!
Sí, te espero para aprender los bucles (for, while) y hacer que la compu trabaje por vos 🔁