Los condicionales (if, elif y else) en python 3 se utilizan para ejecutar una instrucción en caso de que una o más condiciones se cumplan! Un condicional es como el momento en que se debe tomar una decisión en nuestro programa o script. Dependiendo la decisión que se tome ocurrirá una cosa u otra, o ninguna.
La comprensión de los condicionales es un elemento clave en la programación pues es lo que determinara que un programa sea dinámico y cambie según diferentes condiciones. Si explicamos esto con un ejemplo real podemos hacer referencia a un vendedor, un producto y un comprador. Solo si el comprador dispone del dinero necesario el vendedor le otorgara el producto (Condición), caso contrario no lo hará.
🤔 ¿Qué son los condicionales en Python?
Los condicionales son estructuras que permiten que tu programa tome decisiones dinámicas. Piensa en ellos como puntos de bifurcación en el flujo de tu código: según se cumplan o no ciertas condiciones, el programa seguirá por un camino u otro.
Analogía del vendedor:
Condición: Si el comprador tiene $25 o más → vender el libro.
Resultado A: Comprador con $100 → «Aquí tienes tu libro»
Resultado B: Comprador con $20 → «Necesitas más dinero»
En un mundo misterioso y paralelo: Si el comprador tiene $200, el vendedor le dice «Aquí tienes tu libro!» y el comprador ahora tiene $175. Fíjate en el ejemplo anterior la condición del vendedor es la misma, si tiene 25 o más, vender. Sino, no! Pero el resultado de la operación es diferente porque en este caso el comprador sí tiene más dinero!
Los condicionales transforman programas estáticos en aplicaciones interactivas que responden a diferentes situaciones. Son fundamentales en cualquier programa que necesite adaptarse a entradas variables o estados cambiantes.
Ahora vamos a ver cómo pasar este ejemplo a un programa!! Pero antes debes comprender unas cositas sobre la sintaxis y estructura de los condicionales en Python.
🎯 If, Elif y Else: Explicación sencilla
If puede traducirse a «sí, entonces» (condición): Si el usuario entra a la tienda, entonces ofrecerle productos. Si el usuario tiene dinero, entonces venderle. Si el usuario tiene la cara cubierta, entonces llamar a seguridad.
Else puede traducirse como «sino» (condición) y normalmente se encuentra como escape a un if y debajo de este: Si el usuario entra a la tienda, entonces ofrecerle productos, sino no hacer nada. Si el usuario tiene dinero, entonces venderle, sino invitarlo a retirarse.
Y Elif podría traducirse como Else If y se utiliza para enlazar varios else if sin aumentar las tabulaciones, vendría a ser como un «si es»: Si el usuario entra a la tienda, entonces ofrecerle productos, sí es un proveedor esconderse, sino no hacer nada. Si el usuario tiene dinero, entonces venderle, si son centavos ofrecer baratijas, sino invitarlo a retirarse.
Y ya! Tenemos programado el mejor vendedor del mundo!!
| Condicional | Traducción | Uso |
|---|---|---|
if | «Si… entonces» | Condición principal a evaluar |
elif | «Sino si…» (else if) | Condiciones alternativas |
else | «Sino» | Caso por defecto |
💡 Ejemplo de la vida real:
If el cliente tiene dinero → vender
Elif el cliente es amigo → dar descuento
Else (si no) → explicar precios

📝 Sintaxis Básica de Condicionales
Recordemos que el lenguaje tiene una sintaxis y debemos aplicarla, en el caso de los condicionales if, elif y else es la siguiente:
⚠️ Atención: En Python la indentación (sangría) es OBLIGATORIA. Usa 4 espacios (o tab) después de los dos puntos. Además, el «==» es un operador de comparación (compara si es exactamente igual)! Esto es importante porque si colocas el «=» en el if, te dará un error porque este último es un operador de asignación (asigna un valor como lo vemos con las variables)!!
1. Condicional IF básico
edad = 18
if edad >= 18:
print("Eres mayor de edad")
print("Puedes votar")Para utilizar el if solo basta con agregarlo en el siguiente orden: IF + (Condición) + «:» Y debajo de los dos puntos, identada (con la tecla tab) la instrucción a realizar en caso de que la condición se cumpla!
2. IF con ELSE
temperatura = 35
if temperatura > 30:
print("Hace calor")
else:
print("Temperatura normal")Luego de una sentencia if podemos agregar un else («Si no») para que se ejecutara otro código en caso que la condición no se cumpliera y no nos pasará como en ejemplos donde no sucede nada cuando no se cumple la condición.
3. IF, ELIF, ELSE completos
nota = 75
if nota >= 90:
print("Excelente")
elif nota >= 70:
print("Aprobado")
elif nota >= 50:
print("Regular")
else:
print("Reprobado")Al no cumplirse la condición IF el intérprete seguirá comprobando las elif y se encuentra con la primera donde coincide que la nota es mayor o igual a 70 y por ende ejecuta esta instrucción imprimiendo «Aprobado». La estructura es siempre IF luego ELIF y finalmente ELSE (que se ejecuta en caso que no se cumpla ninguna de las anteriores IF/ELIF).
📖 Ejemplo Práctico: Sistema de Venta
Retomemos nuestro ejemplo inicial y expandámoslo con más funcionalidades:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Sistema de venta mejorado
precio_libro = 25
precio_revista = 10
dinero_cliente = 100
es_cliente_frecuente = True
print("=== TIENDA DE LIBROS ===")
print(f"Precio libro: ${precio_libro}")
print(f"Precio revista: ${precio_revista}")
print(f"Dinero cliente: ${dinero_cliente}")
print("-" * 30)
# Condicional principal con múltiples opciones
if dinero_cliente >= precio_libro:
print("✅ Puedes comprar el libro")
dinero_cliente -= precio_libro
print(f"💰 Saldo restante: ${dinero_cliente}")
# Condicional anidado
if es_cliente_frecuente:
print("🎉 ¡Descuento por cliente frecuente!")
descuento = precio_libro * 0.10
dinero_cliente += descuento
print(f"➕ Se te devuelve ${descuento} de descuento")
print(f"💰 Saldo final: ${dinero_cliente}")
elif dinero_cliente >= precio_revista:
print("📰 Puedes comprar la revista")
dinero_cliente -= precio_revista
print(f"💰 Saldo restante: ${dinero_cliente}")
else:
print("❌ No tienes suficiente dinero")
print("💡 Sugerencia: Trae más dinero o mira ofertas")
print("=" * 30)
print("Gracias por tu visita!")Salida del programa:
=== TIENDA DE LIBROS === Precio libro: $25 Precio revista: $10 Dinero cliente: $100 ------------------------------ ✅ Puedes comprar el libro 💰 Saldo restante: $75 🎉 ¡Descuento por cliente frecuente! ➕ Se te devuelve $2.5 de descuento 💰 Saldo final: $77.5 ============================== Gracias por tu visita!
Espero que estos ejemplos te hayan ayudado a comprender la finalidad de los condicionales!! Pero ahora veamos el primer ejemplo aplicado a la programación!! Supongamos que queremos programar el ejemplo del libro pero con $100: El vendedor dice que el libro cuesta $25 (condición) y el comprador tiene $100. Entonces creamos la variable Comprador_Dinero con la cantidad de dinero que tiene este humilde señor y luego ejecutamos la sentencia que determina si podemos venderle el libro de $25, si la sentencia se cumple le restamos 25 del dinero, y le damos el libro.
📋 Condicionales con Listas
Los condicionales son especialmente útiles cuando trabajamos con colecciones de datos. Aquí ejemplos prácticos:
Vamos a ver algunos ejemplos más utilizando listas y diccionarios que son estructuras de datos que ya hemos aprendido y por lo tanto podemos ir incorporando.
Ejemplo 1: Verificar membresía
# Lista de usuarios premium
usuarios_premium = ["ana", "carlos", "maria", "pedro"]
usuario_actual = "maria"
if usuario_actual in usuarios_premium:
print(f"🌟 ¡Bienvenido {usuario_actual.title()}!")
print("Tienes acceso a contenido exclusivo")
else:
print(f"Hola {usuario_actual.title()}")
print("Considera actualizar a premium para más beneficios")Ejemplo 2: Búsqueda inteligente
# Sistema de inventario
productos_disponibles = ["laptop", "mouse", "teclado", "monitor"]
productos_agotados = ["audífonos", "webcam"]
producto_buscado = "mouse"
if producto_buscado in productos_disponibles:
print(f"✅ {producto_buscado.upper()} disponible para entrega inmediata")
elif producto_buscado in productos_agotados:
print(f"⏳ {producto_buscado.upper()} agotado. Próximo stock en 7 días")
else:
print(f"❌ {producto_buscado.upper()} no encontrado en nuestro catálogo")
print("💡 Productos similares disponibles:")Supongamos que tenemos una lista de alumnos y queremos verificar si un estudiante específico está inscrito y si no lo está queremos que sea añadido a la lista. O también podemos verificar si un número dado está dentro de una lista de números. Son usos prácticos muy comunes en programación.
📚 Condicionales con Diccionarios
Los diccionarios permiten estructuras más complejas. Veamos ejemplos prácticos:
Supongamos que tenemos un diccionario con información de productos y sus precios. Verificaremos si un producto existe y mostraremos su precio. Si no existe vamos a agregarlo con un precio determinado. Esta es una aplicación muy útil en sistemas de inventario reales.
Ejemplo 1: Sistema de precios
# Base de datos de productos
inventario = {
"manzana": {"precio": 1.5, "stock": 50},
"banana": {"precio": 0.75, "stock": 30},
"naranja": {"precio": 1.25, "stock": 0},
"uva": {"precio": 2.0, "stock": 15}
}
producto = "naranja"
cantidad = 10
if producto in inventario:
if inventario[producto]["stock"] >= cantidad:
total = inventario[producto]["precio"] * cantidad
print(f"✅ Pedido confirmado: {cantidad} {producto}s")
print(f"💰 Total: ${total:.2f}")
else:
print(f"⚠️ Solo tenemos {inventario[producto]['stock']} {producto}s")
print("¿Deseas menos cantidad?")
else:
print(f"❌ {producto} no disponible")
print("📦 Productos disponibles:", list(inventario.keys()))Ejemplo 2: Sistema de usuarios
# Base de datos de usuarios
usuarios = {
"admin": {"rol": "administrador", "activo": True},
"usuario1": {"rol": "cliente", "activo": True},
"usuario2": {"rol": "cliente", "activo": False}
}
usuario = "admin"
accion = "eliminar_cuenta"
if usuario in usuarios:
if usuarios[usuario]["activo"]:
if usuarios[usuario]["rol"] == "administrador":
print(f"👑 {usuario} tiene permisos de administrador")
print("✅ Acción permitida:", accion)
else:
print(f"👤 {usuario} es cliente")
print("❌ Esta acción requiere permisos de administrador")
else:
print(f"⚠️ La cuenta de {usuario} está inactiva")
else:
print(f"🔍 Usuario '{usuario}' no encontrado")🧠 Operadores Lógicos en Condicionales
Combina múltiples condiciones usando operadores lógicos:
Los operadores lógicos son utilizados para comprobar condiciones múltiples y devolverán True o False. Son fundamentales cuando necesitamos verificar varias condiciones a la vez.
| Operador | Significado | Ejemplo | Resultado |
|---|---|---|---|
and | Y (ambas deben ser True) | if edad >= 18 and tiene_licencia: | True si ambas son True |
or | O (al menos una True) | if es_vip or puntos > 1000: | True si al menos una es True |
not | NO (invierte el valor) | if not esta_suspendido: | True si es False |
Ejemplo práctico combinado:
# Sistema de acceso a evento
edad = 25
tiene_entrada = True
es_invitado_especial = False
hora_actual = 20 # 8 PM
# Condición compleja
if (edad >= 18 and tiene_entrada) or es_invitado_especial:
if hora_actual >= 19 and hora_actual <= 22: print("🎉 ¡Acceso concedido! Disfruta del evento") if edad >= 21:
print("🍻 Zona de bar habilitada")
else:
print("⏰ El evento es de 7 PM a 10 PM")
print(f"Son las {hora_actual}:00, vuelve más tarde")
else:
print("❌ Acceso denegado")
if edad < 18:
print("Debes ser mayor de edad")
if not tiene_entrada:
print("Necesitas una entrada")Estos operadores nos permiten crear condiciones más complejas y realistas. Por ejemplo, podemos comprobar si los 3 usuarios cumplen la edad mínima usando and, o verificar si alguno no la cumple usando or. También podemos negar condiciones con not para verificar estados inversos.
⚠️ Errores Comunes y Cómo Evitarlos
Aquí algunos errores comunes de sintaxis con condicionales en Python que debes evitar:
❌ Error: Confundir = con ==
# INCORRECTO
if puntaje = 100: # ¡Error! Esto asigna, no compara
print("Perfecto")
# CORRECTO
if puntaje == 100: # Esto compara correctamente
print("Perfecto")❌ Error: Olvidar los dos puntos
# INCORRECTO
if edad >= 18 # ¡Faltan los dos puntos!
print("Mayor")
# CORRECTO
if edad >= 18: # Los dos puntos son obligatorios
print("Mayor")✅ Buenas prácticas:
- Olvidar los dos puntos (
:): Cada condicional debe terminar con dos puntos. - No indentar correctamente: Python requiere indentación para identificar bloques de código.
- Confundir
=con==: El primero asigna valores, mientras que el segundo compara. - Usar paréntesis incorrectamente: Aunque puedes usar paréntesis para agrupar condiciones, no son obligatorios pero ayudan a la claridad.
- Olvidar manejar casos excepcionales: Siempre verifica que tus condiciones cubran todos los posibles escenarios.
✅ Checklist: Lo esencial sobre condicionales
Repasemos los puntos clave:
- Los condicionales (if, elif, else) controlan el flujo del programa según condiciones.
- if: Evalúa una condición principal.
- elif: Evalúa condiciones adicionales si el if no se cumple.
- else: Se ejecuta si ninguna condición anterior se cumple.
- Todo if, elif y else terminan con :
- La indentación es obligatoria en Python para definir bloques de código.
- El operador == se utiliza para comparar valores, mientras que = asigna valores.
- Los condicionales pueden utilizarse con cualquier tipo de dato estructurado, como listas, tuplas y diccionarios.
- Puedes usar in para verificar membresía en colecciones
- Combina condiciones con and, or, not
- Puedes anidar condicionales dentro de otros para lógica compleja
🎓 Conclusión
En este artículo hemos explorado los condicionales en Python (if, elif, else), aprendiendo cómo tomar decisiones dinámicas en nuestros programas y utilizar condicionales con diferentes tipos de datos estructurados, como listas y diccionarios. También hemos visto cómo evitar errores comunes de sintaxis, como olvidar los dos puntos o confundir = con ==.
Los condicionales son fundamentales para hacer que nuestros programas sean interactivos y adaptables a diferentes situaciones. Practica con ejemplos reales y experimenta con diferentes escenarios para mejorar tus habilidades.
💡 Próximos pasos:
- Practica con los ejemplos de este artículo
- Crea tu propio sistema de condiciones (ej: calculadora de descuentos)
- Experimenta con condicionales en bucles (lo veremos próximamente)
- Aprende sobre condicionales ternarios para código más compacto
Recuerda: La práctica hace al maestro. ¡Experimenta, comete errores y aprende de ellos! Los condicionales son una de las herramientas más poderosas en tu arsenal como programador Python.
🚀 ¿Listo para el siguiente nivel?
Adiooos! Esta entrada se ha hecho un poquito larga, pero completísima!! Espero hayas aprendido y resuelto tus dudas! Los condicionales son el corazón de la programación dinámica en Python. Con ellos puedes crear programas que toman decisiones inteligentes, responden a entradas variables y se adaptan a diferentes situaciones.
Nos vemos en la próxima lección donde veremos bucles en Python para repetir acciones automáticamente!
¡Nos vemos pronto en otra entrada! 🚀