Hasta ahora, has aprendido cómo almacenar información en variables y cómo realizar operaciones básicas con ella. Sin embargo, para que un programa sea realmente útil, necesita ser inteligente: debe poder tomar decisiones por sí mismo según las circunstancias.
Imagina un videojuego que te permite pasar de nivel solo si tienes los puntos suficientes, o una aplicación bancaria que te impide retirar dinero si tu saldo es insuficiente. En ambos casos, el programa evalúa una condición y decide qué camino tomar.
En este tutorial vas a dominar los condicionales en Python (if, elif y else), explicados paso a paso con código del mundo real y sin complicaciones.
Aquí tienes un vistazo rápido de cómo Python toma decisiones en unas pocas líneas de código:
# Un ejemplo práctico de toma de decisiones
puntos = 85
if puntos >= 90:
print("¡Felicidades! Has conseguido una calificación sobresaliente.")
elif puntos >= 70:
print("Has aprobado el examen. ¡Buen trabajo!")
else:
print("No has alcanzado la puntuación mínima. Toca seguir estudiando.")
1. ¿Qué es un Condicional en Programación?
Un condicional es una estructura de control que permite bifurcar el camino de tu programa. Le dice a Python: «Si se cumple esta condición (si es verdadera), ejecuta este fragmento de código. Si no se cumple (si es falsa), sáltatelo o haz esto otro».
Para evaluar estas condiciones, Python se apoya en los valores booleanos (True y False) y en los operadores de comparación (como >, <, == o !=) que aprendimos en nuestra guía sobre los tipos de datos en Python.
2. La Sentencia if: El Camino Principal
La palabra clave if (que se traduce como «si» condicional en español) inicia cualquier toma de decisiones. Es la estructura condicional más simple y consta de tres partes clave:
- La palabra clave
if. - La condición a evaluar.
- Los dos puntos (
:) al final de la línea. - El bloque de código a ejecutar, que debe ir obligatoriamente indentado (con 4 espacios hacia la derecha).
edad = 20
if edad >= 18:
print("Acceso concedido: Eres mayor de edad.")
La regla sagrada de la indentación: En Python, los bloques de código no se delimitan con llaves {} como en JavaScript o C++, sino con espacios. Todo el código que esté dentro del if debe estar alineado a 4 espacios de distancia. Si no lo haces, Python lanzará un error y el programa no funcionará.
3. La Sentencia else: El Plan de Respaldo
¿Qué pasa si la condición del if no se cumple? En el ejemplo anterior, si la edad fuera 15, el programa simplemente no haría nada.
Si quieres ofrecer un camino alternativo cuando la condición resulte falsa, usamos la palabra clave else («si no» en español).
edad = 15
if edad >= 18:
print("Acceso concedido: Eres mayor de edad.")
else:
print("Acceso denegado: Debes ser mayor de edad.")
- Si la condición
edad >= 18es verdadera, se ejecuta el código bajo elif. - Si es falsa, Python ignora por completo el bloque del
ify ejecuta el bloque de código delelse.
4. La Sentencia elif: Evaluando Múltiples Opciones
A veces, dos caminos no son suficientes. Si necesitas comprobar varias condiciones en orden, Python nos proporciona la palabra clave elif (una abreviación de else if).
Python evaluará las condiciones de arriba a abajo y únicamente ejecutará el bloque de la primera condición que sea verdadera. En cuanto encuentra una verdadera, ejecuta su código e ignora todo lo demás.
precio_entrada = 10
edad = 12
if edad < 5:
print("Entrada gratuita para menores de 5 años.")
elif edad < 18:
print("Tienes descuento juvenil. La entrada cuesta 5€.")
else:
print(f"Entrada general. El precio es de {precio_entrada}€.")
- Puedes encadenar tantos
elifcomo necesites entre elifinicial y elelsefinal. - El bloque
elsefinal actúa como un "cajón de sastre": si ninguna de las condiciones anteriores fue verdadera, se ejecutará el código dentro delelse.
5. Combinando Condiciones con Operadores Lógicos
Puedes hacer que tus condicionales sean tan específicos como requiera tu aplicación combinando múltiples condiciones en un mismo if. Para lograrlo, utilizamos los operadores lógicos and, or y not:
tiene_entrada = True
esta_sancionado = False
# Debes tener entrada Y no estar sancionado para pasar
if tiene_entrada and not esta_sancionado:
print("¡Bienvenido al concierto!")
else:
print("No puedes ingresar al recinto.")
Si necesitas repasar en profundidad cómo combinar operadores aritméticos y lógicos, te recomendamos echar un vistazo a los operadores de comparación en Python donde los analizamos detalladamente con tablas de verdad explicadas.
6. Errores Comunes con Condicionales y Cómo Corregirlos
Cuando empiezas a programar tus primeras tomas de decisiones, es completamente normal cometer pequeños errores de sintaxis. Aquí tienes los tres fallos más habituales y cómo solucionarlos en un segundo:
❌ Confundir el operador de asignación (=) con el de comparación (==)
# CÓDIGO CON ERROR
color = "rojo"
if color = "rojo":
print("Detente")
- Solución: Usa siempre el doble signo
==dentro de tus condicionales para comprobar si dos valores son iguales:
# CÓDIGO CORRECTO
if color == "rojo":
print("Detente")
❌ Olvidar los dos puntos (:)
- Solución: Revisa siempre que la línea de la declaración termine con el caracter
:.
❌ Errores de Indentación (IndentationError)
# CÓDIGO CON ERROR
if True:
print("Hola")
- Solución: Asegúrate de que todo código que deba ejecutarse bajo una condición tenga exactamente 4 espacios (o una tabulación) de sangría hacia la derecha.
Conclusión y Siguiente Paso
Los condicionales en Python son los cimientos de la interactividad. Gracias a ellos, tus aplicaciones ya no son simples secuencias rígidas, sino programas dinámicos capaces de adaptarse a los datos del usuario.
Ahora que dominas la toma de decisiones, el paso natural de nuestro roadmap es aprender a repetir instrucciones automáticamente sin duplicar código: los Bucles en Python.
No olvides consultar la documentación oficial sobre la sentencia if de Python para profundizar aún más, y sigue practicando con pequeños scripts. ¡Feliz programación!

