Volver al curso

Python Desde Cero

leccion
6 / 21
beginner
20 horas
Control de Flujo y Funciones

Condicionales en Python: if, elif, else con Casos Reales

Lectura
20 min~4 min lectura

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 condicion

Una 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
Operadores logicos: and, or, not
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.')
💡 Concepto Clave

Revisemos los puntos más importantes de esta lección antes de continuar.

Resumen y buenas practicas

  1. Simplicidad: Si tienes mas de 3-4 elif, considera refactorizar con diccionarios.
  2. Claridad: Usa nombres de variables descriptivos.
  3. Evita negacion doble: En vez de if not (a != b), escribe if a == b.
  4. El orden importa: Coloca las condiciones mas especificas primero.

En la proxima leccion aprenderemos sobre los bucles, que nos permitiran repetir acciones automaticamente.

🧠 Pon a prueba tu conocimiento
¿Cuál es el aspecto más importante que aprendiste en esta lección?
  • 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
✅ ¡Excelente! Continúa con la siguiente lección para profundizar más.