certmundo.
es‑mx

6 min de lectura

¿Cómo toma decisiones un programa con condicionales?

Un programa toma decisiones usando condicionales: instrucciones que ejecutan un bloque de código solo si una condición es verdadera.

¿Sabías que tu teléfono toma cientos de decisiones antes de que desbloquees la pantalla? Revisa tu huella. Compara con la que guardó. Si coincide, abre. Si no, muestra error. Eso es exactamente lo que hacen los condicionales en cualquier programa.

La lógica detrás de un condicional

Antes de escribir código, entiende la idea central. Un condicional le dice al programa: "evalúa esto y actúa según el resultado."

Hay dos posibles resultados: verdadero (True) o falso (False). En Python, a esto se le llama un valor booleano. Con esa respuesta, el programa decide qué camino tomar.

Piensa en una caja registradora de Liverpool. Si el cliente tiene una tarjeta de membresía, aplica 10% de descuento. Si no la tiene, cobra el precio normal. Esa decisión sucede en milisegundos gracias a un condicional.

La estructura básica: if, elif y else

En Python usas tres palabras clave para construir decisiones:

  • if → "si esto es verdadero, haz esto"
  • elif → "si lo anterior fue falso, pero esto es verdadero, haz esto otro"
  • else → "si todo lo anterior fue falso, haz esto"

La estructura se ve así:

if condicion:
    # código si la condición es True
elif otra_condicion:
    # código si la segunda condición es True
else:
    # código si ninguna condición fue True

Nota el signo de dos puntos (:) al final de cada línea. Y nota la sangría (indentación) de cuatro espacios antes del código interior. Python usa esa sangría para saber qué instrucciones pertenecen a cada bloque. Si olvidas la sangría, el programa falla.

Historia 1: Sofía y el sistema de envíos de Mercado Libre

Sofía estudia programación en línea desde su departamento en Monterrey. Está practicando con un proyecto personal: simular el cálculo de envío de un producto en Mercado Libre.

La lógica que quiere programar es simple. Si el precio del producto es mayor a $599, el envío es gratis. Si no, cobra $99 de envío.

Sofía escribe esto:

precio_producto = 450

if precio_producto >= 599:
    costo_envio = 0
    print("Envío gratis")
else:
    costo_envio = 99
    print("Costo de envío: $99")

total = precio_producto + costo_envio
print("Total a pagar: $" + str(total))

El programa imprime:

Costo de envío: $99
Total a pagar: $549

Sofía cambia precio_producto = 450 por precio_producto = 750 y vuelve a correr el código. Ahora ve:

Envío gratis
Total a pagar: $750

Ella nota algo importante: el mismo código tomó dos decisiones distintas solo porque cambió un número. Eso es el poder de los condicionales. Tu programa se adapta a los datos, no al revés.

Los operadores de comparación

Para que un condicional funcione, necesitas comparar valores. Python usa estos operadores:

Operador Significado Ejemplo
== igual a edad == 18
!= diferente de ciudad != "CDMX"
> mayor que salario > 15000
< menor que stock < 10
>= mayor o igual que precio >= 599
<= menor o igual que descuento <= 50

Un error muy común entre principiantes: confundir = con ==. El signo = asigna un valor a una variable. El doble == compara dos valores. Son cosas distintas. Si escribes if salario = 15000: Python te dará un error inmediatamente.

Historia 2: Don Aurelio y el control de inventario de su tienda Bimbo

Don Aurelio tiene una tienda de abarrotes en Tlalnepantla. Vende productos Bimbo al mayoreo. Su sobrino le está enseñando a automatizar el control de inventario con Python.

Quieren un programa que avise cuando el stock de pan de caja baja demasiado. La lógica tiene tres niveles:

  • Más de 50 piezas: todo bien
  • Entre 20 y 50 piezas: pedir pronto
  • Menos de 20 piezas: pedir urgente

El sobrino escribe:

stock_pan = 18

if stock_pan > 50:
    print("Stock suficiente. No se necesita pedido.")
elif stock_pan >= 20:
    print("Stock bajo. Haz tu pedido pronto.")
else:
    print("¡Stock crítico! Haz tu pedido hoy mismo.")

Con stock_pan = 18, el programa imprime:

¡Stock crítico! Haz tu pedido hoy mismo.

Don Aurelio cambia el número a 35 y ve:

Stock bajo. Haz tu pedido pronto.

Este es el uso de elif: cuando no son solo dos opciones, sino tres o más. Puedes poner tantos elif como necesites. Solo hay un if al inicio y un else al final (opcional).

Condicionales con texto

Los condicionales no solo comparan números. También comparan texto. Imagina un programa que saluda diferente según la ciudad del usuario:

ciudad = "Guadalajara"

if ciudad == "CDMX":
    print("Bienvenido a la capital, hace tráfico hoy.")
elif ciudad == "Guadalajara":
    print("Bienvenido a la Perla Tapatía.")
elif ciudad == "Monterrey":
    print("Bienvenido a la ciudad del trabajo duro.")
else:
    print("Bienvenido, usuario de " + ciudad + ".")

El programa imprime:

Bienvenido a la Perla Tapatía.

Nota que al comparar texto, el valor debe estar entre comillas y debe coincidir exactamente. "guadalajara" y "Guadalajara" son distintos para Python. La mayúscula importa.

Historia 3: Renata y el validador de salario del SAT

Renata trabaja en recursos humanos de una empresa en Puebla. Está aprendiendo Python para automatizar pequeñas tareas. Quiere crear un programa que indique si el salario de un empleado cae en rango bajo, medio o alto, según criterios internos de su empresa.

Ella define los rangos así:

  • Menos de $12,000: salario bajo
  • Entre $12,000 y $25,000: salario medio
  • Más de $25,000: salario alto

Renata escribe:

salario = 18500

if salario < 12000:
    categoria = "bajo"
elif salario <= 25000:
    categoria = "medio"
else:
    categoria = "alto"

print("El salario de $" + str(salario) + " es categoría: " + categoria)

El programa imprime:

El salario de $18,500 es categoría: medio

Renata nota que el código es corto pero claro. Cada condición cubre un rango sin traslaparse. Ese es el arte de escribir buenos condicionales: cubrir todos los casos posibles sin repetirlos.

Errores comunes que debes evitar

1. Olvidar los dos puntos Escribir if salario > 10000 sin el : al final causa un error de sintaxis. Python no puede continuar.

2. No indentar el bloque Si el código dentro del if no tiene cuatro espacios de sangría, Python no sabe qué instrucciones pertenecen a ese bloque.

3. Usar = en vez de == Recuerda: = asigna, == compara. Confundirlos es el error más frecuente de los principiantes.

4. Olvidar que el texto distingue mayúsculas "CDMX" == "cdmx" es False para Python. Si tu usuario escribe en minúsculas y tú comparas en mayúsculas, la condición nunca se cumplirá.

5. Poner else con condición else nunca lleva condición. No escribas else salario == 0:. Solo escribe else:.

Lo que aprendiste hoy

Empezaste sin saber cómo un programa puede "pensar". Ahora ya sabes que los condicionales son la herramienta clave. Con if, elif y else, tu programa puede responder diferente según cada situación.

Sofía calculó envíos. Don Aurelio controló inventario. Renata clasificó salarios. Los tres usaron exactamente las mismas tres palabras: if, elif, else. Tú puedes hacer lo mismo.

Puntos clave

  • Un condicional evalúa si una condición es verdadera o falsa y ejecuta distintas instrucciones según el resultado. Es la base de la lógica en cualquier programa.
  • Usa `if` para la primera condición, `elif` para condiciones adicionales y `else` para el caso en que ninguna condición se cumplió. Solo `if` es obligatorio; `elif` y `else` son opcionales.
  • Los operadores de comparación más usados son `==` (igual), `!=` (diferente), `>`, `<`, `>=` y `<=`. No confundas `=` (asignación) con `==` (comparación): son cosas completamente distintas.
  • La indentación de cuatro espacios y los dos puntos (`:`) al final de cada línea condicional son obligatorios en Python. Sin ellos, el programa falla con un error de sintaxis.
  • Cuando compares texto, recuerda que Python distingue mayúsculas de minúsculas. `"CDMX"` y `"cdmx"` son valores distintos para el programa.

Comparte esta lección:

¿Cómo toma decisiones un programa con condicionales? | Fundamentos de Programación: Aprende desde Cero | Certmundo