Lección 5: Condicionales (if/elif/else)
🎯 Objetivo
Tomar decisiones en el programa usando if, elif y else.
📘 Explicación
Un condicional ejecuta un bloque de código solo si una condición es verdadera.
La indentación (espacios) es obligatoria en Python: define qué líneas pertenecen al bloque.
🔑 Conceptos clave
- if: si se cumple la condición
- elif: otra condición (opcional)
- else: caso contrario (opcional)
- Indentación: 4 espacios por nivel (recomendado)
🧩 Ejemplos
Ejemplo 1: if simple
edad = 20
if edad >= 18:
print("Mayor de edad")
Ejemplo 2: if/else
n = 7
if n % 2 == 0:
print("Par")
else:
print("Impar")
Ejemplo 3: elif
nota = 8
if nota >= 9:
print("Excelente")
elif nota >= 7:
print("Aprobado")
else:
print("Reprobado")
Ejemplo 4: Condición compuesta
usuario = "admin"
clave = "1234"
if usuario == "admin" and clave == "1234":
print("Acceso")
else:
print("Denegado")
Ejemplo 5: Operador ternario
edad = 16
mensaje = "Mayor" if edad >= 18 else "Menor"
print(mensaje)
🧪 Ejercicios propuestos
- Dado un número n, imprime si es positivo, negativo o cero.
- Dada una nota (0–10), imprime: Excelente (>=9), Bueno (>=7), Regular (>=5), Insuficiente (<5).
- Dado un año, verifica si es bisiesto (divisible por 4 y no por 100, o divisible por 400).
- Dado precio y cantidad, aplica descuento: 10% si total>=100.
- Dado edad, imprime si puede votar (>=16) y si es mayor de edad (>=18).
- Dado usuario y clave, permite acceso solo si ambos son correctos.
- Dado un número, imprime si está en el rango [1..100].
- Dado un número, imprime si es múltiplo de 3 y de 5.
- Dado temperatura, imprime: Frío (<15), Templado (15-25), Calor (>25).
- Usa operador ternario para imprimir “Par” o “Impar” según n.
✅ Ver soluciones explicadas (10 ejercicios)
Intenta primero. Luego compara con estas soluciones y lee la explicación.
Ejercicio 1: Dado un número n, imprime si es positivo, negativo o cero.
n = -3
if n > 0:
print("Positivo")
elif n < 0:
print("Negativo")
else:
print("Cero")
Explicación: 3 casos con elif.
Ejercicio 2: Dada una nota (0–10), imprime: Excelente (>=9), Bueno (>=7), Regular (>=5), Insuficiente (<5).
nota = 6
if nota >= 9:
print("Excelente")
elif nota >= 7:
print("Bueno")
elif nota >= 5:
print("Regular")
else:
print("Insuficiente")
Explicación: Ordena de mayor a menor.
Ejercicio 3: Dado un año, verifica si es bisiesto (divisible por 4 y no por 100, o divisible por 400).
anio = 2024
bisiesto = (anio % 4 == 0 and anio % 100 != 0) or (anio % 400 == 0)
print(bisiesto)
Explicación: Regla estándar de año bisiesto.
Ejercicio 4: Dado precio y cantidad, aplica descuento: 10% si total>=100.
precio = 25
cant = 5
total = precio * cant
if total >= 100:
total = total * 0.90
print(total)
Explicación: Multiplica por 0.90 para 10% off.
Ejercicio 5: Dado edad, imprime si puede votar (>=16) y si es mayor de edad (>=18).
edad = 17
if edad >= 16:
print("Puede votar")
else:
print("No puede votar")
if edad >= 18:
print("Mayor de edad")
else:
print("Menor de edad")
Explicación: Dos validaciones independientes.
Ejercicio 6: Dado usuario y clave, permite acceso solo si ambos son correctos.
usuario = "admin"
clave = "1234"
if usuario == "admin" and clave == "1234":
print("Acceso")
else:
print("Error")
Explicación: Usa and.
Ejercicio 7: Dado un número, imprime si está en el rango [1..100].
n = 150
if 1 <= n <= 100:
print("En rango")
else:
print("Fuera de rango")
Explicación: Comparación encadenada.
Ejercicio 8: Dado un número, imprime si es múltiplo de 3 y de 5.
n = 30
if n % 3 == 0 and n % 5 == 0:
print("Múltiplo de 3 y 5")
else:
print("No cumple")
Ejercicio 9: Dado temperatura, imprime: Frío (<15), Templado (15-25), Calor (>25).
t = 22
if t < 15:
print("Frío")
elif t <= 25:
print("Templado")
else:
print("Calor")
Explicación: El segundo rango usa <= 25.
Ejercicio 10: Usa operador ternario para imprimir “Par” o “Impar” según n.
n = 9
print("Par" if n % 2 == 0 else "Impar")
Explicación: Ternario en una línea.
⚠️ Errores comunes
- Olvidar los dos puntos:
if edad >= 18❌ debe serif edad >= 18:✅ - Indentación incorrecta: si no está bien alineado, Python da error.
- Orden incorrecto en rangos: primero condiciones más altas, luego más bajas.