Condicionales en Python: if, elif, else con Casos Reales
Una de las habilidades mas importantes en programacion es la capacidad de tomar decisiones. En Python, usamos las estructuras condicionales if, elif y else para que nuestro programa ejecute diferentes bloques de codigo segun se cumplan o no ciertas condiciones.
Que es una condicionUna condicion es una expresion que puede ser verdadera (True) o falsa (False). Por ejemplo: tengo mas de 18 anos, el usuario ingreso la contrasenia correcta, el saldo de la cuenta es mayor a cero.
Python usa el tipo de dato bool (booleano) para representar estos valores.
es_mayor_de_edad = True
tiene_saldo = False
print(type(es_mayor_de_edad))
La estructura if
La sentencia if es la mas basica. Le dice a Python: Si esta condicion es verdadera, ejecuta este bloque de codigo.
if condicion:
instruccion_1
instruccion_2
Nota: Python usa la indentacion (4 espacios) para definir bloques de codigo.
Ejemplo practico
numero = 15
if numero > 0:
print('El numero es positivo')
print(f'El numero {numero} es mayor que cero')
print('Este codigo siempre se ejecuta')
La clausula else
numero = -5
if numero > 0:
print('El numero es positivo')
else:
print('El numero NO es positivo')
Caso real: Sistema de login simple
usuario_correcto = 'admin'
clave_correcta = 'python2026'
usuario = input('Ingresa tu usuario: ')
clave = input('Ingresa tu contrasenia: ')
if usuario == usuario_correcto and clave == clave_correcta:
print('Acceso concedido. Bienvenido al sistema.')
else:
print('Usuario o contrasenia incorrectos. Acceso denegado.')
La clausula elif: Multiples condiciones
nota = 75
if nota >= 90:
print('Calificacion: A - Excelente')
elif nota >= 80:
print('Calificacion: B - Muy Bueno')
elif nota >= 70:
print('Calificacion: C - Bueno')
elif nota >= 60:
print('Calificacion: D - Suficiente')
else:
print('Calificacion: F - Reprobado')
Python evalua las condiciones de arriba hacia abajo y ejecuta el primer bloque cuya condicion sea verdadera.
Operadores de comparacion| Operador | Significado | Ejemplo |
|---|---|---|
| == | Igual a | 5 == 5 devuelve True |
| != | Diferente de | 5 != 3 devuelve True |
| > | Mayor que | 10 > 7 devuelve True |
| < | Menor que | 3 < 8 devuelve True |
| >= | Mayor o igual | 5 >= 5 devuelve True |
| <= | Menor o igual | 4 <= 6 devuelve True |
edad = 20
tiene_licencia = True
if edad >= 18 and tiene_licencia:
print('Puede conducir')
tiene_efectivo = False
tiene_tarjeta = True
if tiene_efectivo or tiene_tarjeta:
print('Puede pagar')
esta_lloviendo = False
if not esta_lloviendo:
print('Buen dia para salir')
Condicionales anidados
puntaje = 850
tipo_cliente = 'premium'
if puntaje >= 700:
print('Credito aprobado')
if tipo_cliente == 'premium':
print('Tasa especial: 5% anual')
else:
print('Tasa estandar: 12% anual')
else:
print('Credito denegado. Puntaje insuficiente.')
El operador ternario
edad = 20
estatus = 'mayor de edad' if edad >= 18 else 'menor de edad'
print(estatus)
numero = 7
paridad = 'par' if numero % 2 == 0 else 'impar'
print(f'{numero} es {paridad}')
Caso real: Calculadora de descuentos
def calcular_descuento(precio, tipo_cliente, cantidad):
descuento = 0
if tipo_cliente == 'vip':
descuento += 20
elif tipo_cliente == 'frecuente':
descuento += 10
elif tipo_cliente == 'nuevo':
descuento += 5
if cantidad >= 100:
descuento += 15
elif cantidad >= 50:
descuento += 10
elif cantidad >= 10:
descuento += 5
if descuento > 30:
descuento = 30
precio_final = precio * (1 - descuento / 100)
return precio_final, descuento
final, porcentaje = calcular_descuento(100, 'vip', 60)
print(f'Descuento aplicado: {porcentaje}%')
print(f'Precio final: {final}')
print(f'Total: {final * 60}')
Valores falsy y truthy
En Python, no solo False es considerado falso:
- 0 (numero cero)
- una cadena vacia
- una lista vacia
- None
nombre = input('Cual es tu nombre? ')
if nombre:
print(f'Hola, {nombre}!')
else:
print('No ingresaste un nombre.')
Revisemos los puntos más importantes de esta lección antes de continuar.
Resumen y buenas practicas
- Simplicidad: Si tienes mas de 3-4 elif, considera refactorizar con diccionarios.
- Claridad: Usa nombres de variables descriptivos.
- Evita negacion doble: En vez de if not (a != b), escribe if a == b.
- El orden importa: Coloca las condiciones mas especificas primero.
En la proxima leccion aprenderemos sobre los bucles, que nos permitiran repetir acciones automaticamente.
- Comprendo el concepto principal y puedo explicarlo con mis palabras
- Entiendo cómo aplicarlo en mi situación especÃfica
- Necesito repasar algunas partes antes de continuar
- Quiero ver más ejemplos prácticos del tema