¿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
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")
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.
Permite ejecutar un bloque alternativo si la condición es falsa.
if nota >= 60: print("Aprobado") else: print("Reprobado")
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.
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")
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
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")
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.
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"
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
Crea un programa que tome un número entero y determine si es un número par o impar.
# 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.")
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."
# 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.")
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.
# 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. ❌")
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.
# 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.")
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".
# 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.")