
La Lógica del «Si… Entonces…»
Un programa que ejecuta siempre las mismas líneas de principio a fin es poco útil. La verdadera inteligencia del software radica en su capacidad para tomar decisiones basadas en la información que recibe. En Python, esto se logra con las estructuras condicionales: `if`, `elif` y `else`.
Piensa en esto como el diagrama de flujo de tus operaciones comerciales. «Si el cliente paga, enviar producto; si no, enviar recordatorio». Python formaliza esta lógica.
Estructura y Sintaxis (La Indentación)
Aquí nos encontramos con una regla de oro de Python: la indentación. A diferencia de otros lenguajes que usan llaves `{}` para agrupar código, Python usa el espacio en blanco al inicio de la línea (generalmente 4 espacios o 1 tabulación).
Si el código no está correctamente alineado, Python no sabrá qué instrucciones pertenecen a qué condición y arrojará un error (`IndentationError`).
ventas = 1500
meta = 1000
if ventas >= meta:
# Este bloque SOLO se ejecuta si la condición es True
print("¡Objetivo cumplido!")
bono = 100
else:
# Este bloque se ejecuta si la condición es False
print("A seguir esforzándose.")
bono = 0
print(f"Bono final: {bono}") # Esta línea se ejecuta siempre, está fuera del if/else
Múltiples Caminos: `elif`
A menudo, las decisiones de negocio no son binarias (sí/no), sino que tienen múltiples escenarios. Para esto usamos `elif` (abreviatura de «else if»).
Imagina un sistema de clasificación de leads (prospectos) según su puntuación (score):
Escenario 1: Lead Caliente
Si el score es mayor a 80, queremos enviarlo directamente a ventas.
Escenario 2: Lead Tibio
Si no es caliente, pero el score es mayor a 50, lo enviamos a una campaña de nutrición (email marketing).
Escenario 3: Lead Frío
En cualquier otro caso (score 50 o menos), lo mantenemos en la base de datos general.
score = 65
if score > 80:
accion = "Enviar a Ventas"
elif score > 50:
accion = "Nutrir con Email Marketing"
else:
accion = "Mantener en Base de Datos"
print(f"Acción recomendada: {accion}")
Nota Importante: Python evalúa las condiciones en orden. En cuanto encuentra una verdadera, ejecuta ese bloque y salta todo el resto de la estructura. Por eso el orden de tus `if` y `elif` importa.