Condicionales en Python

Aprendé a tomar decisiones en tu código con if, elif y else. Los condicionales son la base de la lógica de cualquier programa.

if — la decisión básica

Un if ejecuta un bloque de código solo si la condición es verdadera. En Python, la indentación (sangría) define qué código pertenece al if.

edad = 20

if edad >= 18:
    print("Sos mayor de edad")
    print("Podés ingresar")

print("Esta línea siempre se ejecuta")
La indentación es obligatoria en Python

A diferencia de otros lenguajes que usan llaves {}, Python usa espacios (4 espacios o 1 tab) para definir bloques. Si la indentación está mal, el código falla con IndentationError.

Probá el Ejemplo 1: if básico

if / else

El else se ejecuta cuando la condición del if es falsa.

temperatura = 15

if temperatura >= 25:
    print("Hace calor — ponete ropa liviana")
else:
    print("Hace frío — llevá abrigo")

if / elif / else

Cuando hay más de dos posibilidades usás elif (abreviación de "else if"):

nota = 75

if nota >= 90:
    print("Sobresaliente")
elif nota >= 80:
    print("Notable")
elif nota >= 70:
    print("Bien")
elif nota >= 60:
    print("Aprobado")
else:
    print("Desaprobado")
Orden importa

Python evalúa las condiciones de arriba hacia abajo y ejecuta el primer bloque cuya condición sea verdadera. Los demás se saltan aunque también sean verdaderos.

Probá el Ejemplo 2: elif y else

Operadores de comparación

OperadorSignificadoEjemploResultado
==Igual a5 == 5True
!=Distinto de5 != 3True
>Mayor que7 > 5True
<Menor que3 < 5True
>=Mayor o igual5 >= 5True
<=Menor o igual3 <= 5True
inEstá en"a" in "hola"True
not inNo está en"z" not in "hola"True
isEs el mismo objetox is Nonedepende

Operadores lógicos

edad     = 25
tiene_dni = True

# and — ambas condiciones deben ser True
if edad >= 18 and tiene_dni:
    print("Puede votar")

# or — al menos una condición debe ser True
dia = "sábado"
if dia == "sábado" or dia == "domingo":
    print("Es fin de semana")

# not — niega la condición
logueado = False
if not logueado:
    print("Por favor iniciá sesión")

Encadenamiento de comparaciones

Python permite escribir comparaciones como en matemática:

temperatura = 22

# En vez de: temperatura >= 18 and temperatura <= 30
if 18 <= temperatura <= 30:
    print("Temperatura agradable")

Condicional ternario

Python tiene una forma compacta de escribir un if/else en una sola línea:

edad = 20

# Forma normal
if edad >= 18:
    estado = "mayor"
else:
    estado = "menor"

# Forma ternaria — equivalente
estado = "mayor" if edad >= 18 else "menor"
print(estado)  # "mayor"

# Útil para asignar valores condicionalmente
descuento = 0.20 if edad < 25 else 0.10
precio_final = 1000 * (1 - descuento)
print(f"Precio con descuento: ${precio_final}")
Cuándo usarlo

El ternario es ideal para asignaciones simples. Si la lógica es compleja o hay múltiples ramas, el if/elif/else tradicional es más legible.

Probá el Ejemplo 3: Operadores y ternario

Valores truthy y falsy

En Python, no todo lo que usás en un if tiene que ser True o False explícitamente. Algunos valores se evalúan como falsos:

# Valores FALSY (equivalen a False)
if not 0:        print("0 es falsy")
if not "":       print("string vacío es falsy")
if not []:       print("lista vacía es falsy")
if not None:     print("None es falsy")

# Valores TRUTHY (equivalen a True)
if 42:           print("42 es truthy")
if "texto":      print("string no vacío es truthy")
if [1, 2, 3]:   print("lista con elementos es truthy")
# Uso práctico — verificar si una lista tiene elementos
carrito = ["manzana", "pan"]

if carrito:
    print(f"Tenés {len(carrito)} item(s) en el carrito")
else:
    print("Tu carrito está vacío")

Ejemplo Completo

Calculadora de IMC con clasificación:

peso   = 75    # kg
altura = 1.75  # metros

imc = peso / (altura ** 2)

print(f"Peso  : {peso} kg")
print(f"Altura: {altura} m")
print(f"IMC   : {imc:.2f}")
print()

if imc < 18.5:
    clasificacion = "Bajo peso"
    recomendacion = "Consultá con un nutricionista"
elif imc < 25:
    clasificacion = "Normal"
    recomendacion = "¡Seguí así!"
elif imc < 30:
    clasificacion = "Sobrepeso"
    recomendacion = "Considerá más actividad física"
else:
    clasificacion = "Obesidad"
    recomendacion = "Consultá con un médico"

print(f"Clasificación : {clasificacion}")
print(f"Recomendación : {recomendacion}")
Probá el Ejemplo 4: Calculadora de IMC

Buenas Prácticas

  • Indentación consistente — usá siempre 4 espacios, no mezcles con tabs
  • Comparar con is None, no con == None
  • Evitá comparar booleanos explícitamente — if activo: en vez de if activo == True:
  • Encadenamiento de comparaciones — 0 <= x < 10 es más claro que x >= 0 and x < 10
  • Ternario para asignaciones simples, if/else para lógica compleja