🚦 Condicionales en Python: Guía de if, elif y else

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.

📓 Abre tu cuaderno de Jupyter Notebook que creaste en la lección anterior (4-Listas y Tuplas en Python) y vamos a crear un nuevo cuaderno para esta lección. Llámalo 5-Condicionales en Python.

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á.

📚 Recursos externos para profundizar: Consulta la documentación oficial de Python sobre control de flujo y este artículo sobre estructuras condicionales en programación.

 

🤔 ¿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!!

📊 Resumen de condicionales
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")
Resultado:
Bienvenido Maria!
Tienes acceso a contenido exclusivo

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:")
Resultado:
MOUSE disponible para entrega inmediata

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()))
Resultado:
Solo tenemos 0 naranjas
Deseas menos cantidad?

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("Accion permitida:", accion)
        else:
            print(f"{usuario} es cliente")
            print("Esta accion requiere permisos de administrador")
    else:
        print(f"La cuenta de {usuario} esta inactiva")
else:
    print(f"Usuario '{usuario}' no encontrado")
Resultado:
admin tiene permisos de administrador
Accion permitida: eliminar_cuenta

 

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. Para profundizar, consulta la documentación oficial sobre operadores booleanos en Python.

📊 Operadores Lógicos
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

# Sistema de acceso a evento
edad = 25
tiene_entrada = True
es_invitado_especial = False
hora_actual = 20  # 8 PM

# Condicion 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 mas tarde")
else:
    print("Acceso denegado")
    if edad < 18:
        print("Debes ser mayor de edad")
    if not tiene_entrada:
        print("Necesitas una entrada")
Resultado:
Acceso concedido! Disfruta del evento
Zona de bar habilitada

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
Concepto Descripción
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.
Indentación Obligatoria en Python para definir bloques de código.
== vs = == compara, = asigna.
in Verifica membresía en colecciones (listas, tuplas, diccionarios).
and, or, not Operadores lógicos para combinar condiciones.

🎓 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:
  1. Practica con los ejemplos de este artículo en tu Jupyter Notebook.
  2. Crea tu propio sistema de condiciones (ej: calculadora de descuentos).
  3. Experimenta con condicionales en bucles (lo veremos próximamente).
  4. Profundiza en operadores en Python para mejorar tus condiciones.

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.

📅 Última actualización: julio 28, 2026

¡Compartir es una forma de agradecer! :)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio