Condicionales en Python 🎯

Aprende a controlar el flujo de tu programa usando condicionales y toma decisiones basadas en diferentes situaciones.

¿Qué son las Condicionales?

Las condicionales son estructuras que permiten a tu programa tomar decisiones basadas en ciertas condiciones. Son fundamentales para crear programas dinámicos que respondan a diferentes situaciones.

if True:
    # Este código siempre se ejecutará
    print("La condición es verdadera")
else:
    # Este código nunca se ejecutará
    print("La condición es falsa")

Tipos de Condicionales

if (condición)

La estructura más básica que ejecuta un bloque de código si la condición es verdadera.

if edad >= 18:
    print("Eres mayor de edad")
¿Qué hace este código?
Evalúa si la variable edad es mayor o igual a 18. Si es cierto, imprime el mensaje.
¿Cuándo usarlo?
Cuando necesitas ejecutar una acción solo si se cumple una condición.
if ... else

Permite ejecutar un bloque alternativo si la condición es falsa.

if nota >= 60:
    print("Aprobado")
else:
    print("Reprobado")
¿Qué hace este código?
Si nota es mayor o igual a 60, imprime "Aprobado". Si no, imprime "Reprobado".
¿Cuándo usarlo?
Cuando necesitas tomar una decisión entre dos caminos posibles.
if ... elif ... else

Permite evaluar múltiples condiciones en secuencia.

if nota >= 90:
    print("A")
elif nota >= 80:
    print("B")
elif nota >= 70:
    print("C")
else:
    print("F")
¿Qué hace este código?
Evalúa la variable nota y asigna una calificación según el rango en el que se encuentre.
¿Cuándo usarlo?
Cuando necesitas tomar decisiones entre más de dos opciones.

Operadores de Comparación

Los operadores de comparación te permiten comparar valores y obtener un resultado booleano (True o False).

Operador Descripción Ejemplo
== Igual a 5 == 5 (True)
!= Diferente de 5 != 3 (True)
> Mayor que 5 > 3 (True)
< Menor que 3 < 5 (True)
>= Mayor o igual que 5 >= 5 (True)
<= Menor o igual que 5 <= 5 (True)

Operadores Lógicos

Los operadores lógicos te permiten combinar condiciones y crear expresiones más complejas.

Operador Descripción Ejemplo
and Y lógico True and True (True)
or O lógico True or False (True)
not No lógico not True (False)
# Ejemplo de operadores lógicos
edad = 20
tiene_licencia = True

if edad >= 18 and tiene_licencia:
    print("Puedes conducir")
else:
    print("No puedes conducir")

Ejemplos Avanzados

Condicionales Anidadas

Puedes anidar condicionales para crear estructuras más complejas.

if edad >= 18:
    if tiene_licencia:
        print("Puedes conducir")
    else:
        print("Necesitas obtener una licencia")
else:
    print("Eres menor de edad")
¿Qué hace este código?
Evalúa si la variable edad es mayor o igual a 18. Si es cierto, verifica si tiene_licencia es verdadero. Si es así, imprime "Puedes conducir"; de lo contrario, imprime "Necesitas obtener una licencia". Si la edad es menor a 18, imprime "Eres menor de edad".
¿Cuándo usarlo?
Cuando necesitas tomar decisiones en cascada basadas en múltiples condiciones.
Operador Ternario

Una forma concisa de escribir condicionales simples.

# Forma tradicional
if edad >= 18:
    mensaje = "Mayor de edad"
else:
    mensaje = "Menor de edad"

# Usando operador ternario
mensaje = "Mayor de edad" if edad >= 18 else "Menor de edad"
¿Qué hace este código?
Asigna a la variable mensaje el valor "Mayor de edad" si edad es mayor o igual a 18, y "Menor de edad" en caso contrario.
¿Cuándo usarlo?
Cuando necesitas una asignación condicional simple y concisa.

Práctica de Condicionales: 5 Ejercicios

🔢 Ejercicio 1: ¿Par o Impar?
Problema:

Crea un programa que tome un número entero y determine si es un número par o impar.

Pista: Un número es par si el residuo de su división entre 2 es cero. Puedes usar el operador de módulo % para obtener el residuo.
# Definimos una variable con el número a evaluar
numero = 15

# Usamos el operador de módulo (%) para obtener el residuo de la división por 2
# Si el residuo es 0, el número es par.
if numero % 2 == 0:
    print(f"El número {numero} es PAR.")
# Si la condición del if es Falsa, significa que el residuo no fue 0.
else:
    print(f"El número {numero} es IMPAR.")
👱🏽‍♀️ Ejercicio 2: Etapas de la Vida
Problema:

Escribe un programa que, dada una edad, imprima la etapa de la vida de una persona. Usa las siguientes reglas:

  • 0-12 años: "Eres un(a) niño(a)."
  • 13-17 años: "Eres un(a) adolescente."
  • 18-64 años: "Eres un(a) adulto(a)."
  • 65 años o más: "Eres un(a) adulto(a) mayor."
Pista: Usa condicionales if/elif/else para evaluar las diferentes etapas de la vida.
# Definimos la edad a clasificar
edad = 25

# El programa evalúa las condiciones en orden
if edad >= 0 and edad <= 12:
    print("Eres un(a) niño(a).")
# Si la primera falla, evalúa esta
elif edad >= 13 and edad <= 17:
    print("Eres un(a) adolescente.")
# Si la segunda falla, evalúa esta
elif edad >= 18 and edad <= 64:
    print("Eres un(a) adulto(a).")
# Si ninguna de las anteriores fue Verdadera, se ejecuta esta
else:
    print("Eres un(a) adulto(a) mayor.")
🎢 Ejercicio 3: Acceso a la Montaña Rusa
Problema:

Un parque de diversiones quiere permitir el acceso a su nueva montaña rusa solo a personas que midan 1.50 metros o más y que además tengan 16 años o más. Crea un programa que determine si una persona puede subir o no.

Pista: Necesitarás combinar dos condiciones con el operador and.
# Datos de la persona que quiere subir
estatura_metros = 1.75
edad = 18

# La condición requiere que AMBAS comparaciones sean verdaderas
# gracias al operador 'and'
if estatura_metros >= 1.50 and edad >= 16:
    print("¡Acceso permitido! Disfruta de la adrenalina. ✅")
else:
    print("Acceso denegado. No cumples con los requisitos de edad y/o estatura. ❌")
🛒 Ejercicio 4: Día de Descuento o Cupón
Problema:

Una tienda online ofrece envío gratis si el día es sábado o si el cliente tiene un cupón de envío gratis. Escribe un programa que le diga al usuario si su envío es gratis o no.

Pista: Necesitarás usar el operador or.
# Estado actual del cliente y del día
dia = "lunes"
tiene_cupon = True

# La condición se cumple si CUALQUIERA de las dos comparaciones es Verdadera
# gracias al operador 'or'
if dia == "sábado" or tiene_cupon == True:
    print("¡Felicidades! Tu envío es GRATIS. 📦")
else:
    print("El costo de envío se aplicará a tu compra.")
🔐 Ejercicio 5: Login de Usuario
Problema:

Simula un inicio de sesión simple. El programa debe verificar un nombre de usuario y una contraseña.

  • Si ambos son correctos (usuario: "admin", contraseña: "12345"), imprime "Acceso concedido".
  • Si el nombre de usuario es correcto pero la contraseña no, imprime "Contraseña incorrecta".
  • Si el nombre de usuario es incorrecto, imprime "Usuario no encontrado".
Pista: Este problema requiere condicionales anidados (un if dentro de otro if/else).
# Datos correctos
usuario_correcto = "admin"
contrasena_correcta = "12345"

# Datos que ingresa el usuario
usuario_ingresado = "admin"
contrasena_ingresada = "password"

# Primer nivel de verificación: el usuario
if usuario_ingresado == usuario_correcto:
    # Si el usuario es correcto, pasamos a verificar la contraseña
    # Este es el condicional anidado
    if contrasena_ingresada == contrasena_correcta:
        print("Acceso concedido. ¡Bienvenido! ✨")
    else:
        print("Contraseña incorrecta. Intenta de nuevo. 🔒")
# Si el primer 'if' falla, significa que el usuario es incorrecto
else:
    print("Usuario no encontrado.")
Test: Dominando las Condicionales