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")
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.
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")
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.
Operadores de comparación
| Operador | Significado | Ejemplo | Resultado |
|---|---|---|---|
== | Igual a | 5 == 5 | True |
!= | Distinto de | 5 != 3 | True |
> | Mayor que | 7 > 5 | True |
< | Menor que | 3 < 5 | True |
>= | Mayor o igual | 5 >= 5 | True |
<= | Menor o igual | 3 <= 5 | True |
in | Está en | "a" in "hola" | True |
not in | No está en | "z" not in "hola" | True |
is | Es el mismo objeto | x is None | depende |
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}")
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.
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 deif activo == True: - Encadenamiento de comparaciones —
0 <= x < 10es más claro quex >= 0 and x < 10 - Ternario para asignaciones simples, if/else para lógica compleja