Bloque 103. Estructuras condicionales
Revisa los siguientes apartados de la Unidad para resolver los ejercicios:
Ejercicio 1. Alerta de temperatura
Pide al usuario su temperatura corporal (en grados) y, si es mayor que 38, muestra el mensaje "Tienes fiebre, consulta a un médico". Si no supera los 38 grados, el programa no debe mostrar ningún mensaje. Usa una única sentencia if, sin else.
💾 Haz un commit al terminar el ejercicio.
Ejercicio 2. Varias comprobaciones sobre un número
Pide al usuario un número entero y, usando varias sentencias if independientes (todavía no uses elif), comprueba y muestra un mensaje distinto para cada una de estas condiciones que se cumpla:
- Si es par, muestra
"Es un número par". - Si es positivo, muestra
"Es un número positivo". - Si es múltiplo de 5, muestra
"Es múltiplo de 5".
Prueba tu programa con varios números distintos y observa que, según el valor, pueden mostrarse varios mensajes a la vez, uno solo, o ninguno. Cada if se comprueba por separado, no son alternativas entre sí.
💾 Haz un commit al terminar el ejercicio.
Ejercicio 3. Mayoría de edad
Pide al usuario su edad y muestra "Eres mayor de edad" si tiene 18 años o más, o "Eres menor de edad" en caso contrario. Usa una única estructura if-else, con sus dos ramas.
💾 Haz un commit al terminar el ejercicio.
Ejercicio 4. Acceso a la atracción
Una atracción de un parque temático solo permite subir a quienes tengan entre 12 y 65 años (ambos límites incluidos). Pide al usuario su edad y muestra "Puedes subir" o "No puedes subir", combinando las dos comprobaciones (edad mínima y máxima) en la condición de un único if/else con el operador and.
💾 Haz un commit al terminar el ejercicio.
Ejercicio 5. Menú con validación de opción
Muestra un menú de texto con tres opciones y pide al usuario que elija una:
1. Sumar
2. Restar
3. Salir
Usa elif para ejecutar la operación correspondiente, pidiendo dos números solo si la opción es sumar o restar. Si el usuario introduce una opción que no existe, muestra el mensaje "Opción no válida".
No hace falta repetir el menú en bucle: eso lo veremos con las estructuras de repetición.
💾 Haz un commit al terminar el ejercicio.
Ejercicio 6. Clasificador de IMC
Pide al usuario su peso (kg) y su altura (m), calcula el índice de masa corporal (imc = peso / altura ** 2) y clasifícalo con elif según las categorías:
- Bajo peso (menos de 18,5)
- Normal (18,5 a 24,9)
- Sobrepeso (25 a 29,9)
- Obesidad (30 o más)
💾 Haz un commit al terminar el ejercicio.
Ejercicio 7. Clasificador de notas
Pide al usuario una nota numérica (de 0 a 10, puede tener decimales) y, usando elif, muestra la calificación correspondiente:
- Sobresaliente (9-10)
- Notable (7-9, límite superior no inclusive)
- Bien (6-7, límite superior no inclusive)
- Suficiente (5-6, límite superior no inclusive)
- Insuficiente (menos de 5)
💾 Haz un commit al terminar el ejercicio.
Ejercicio 8. Clasificador de triángulos
Pide al usuario los tres lados de un triángulo (float) y, usando condicionales encadenados, indica si es equilátero, isósceles o escaleno. Antes de clasificarlo, comprueba con un condicional si los lados forman realmente un triángulo válido (la suma de dos lados cualesquiera debe ser mayor que el tercero). Si no lo es, muestra el mensaje "Esos lados no forman un triángulo válido" y no sigas clasificando.
💾 Haz un commit al terminar el ejercicio.
Ejercicio 9. Piedra, papel o tijera: una ronda a dos jugadores
Pide a dos jugadores, por turnos, su jugada ("piedra", "papel" o "tijera"). Compara ambas jugadas con condicionales anidados o encadenados y muestra "Gana el jugador 1", "Gana el jugador 2" o "Empate", según corresponda.
No hace falta repetir rondas ni llevar marcador todavía, ni jugar contra la máquina: eso llega más adelante, cuando tengamos bucles y sepamos generar jugadas aleatorias.
💾 Haz un commit al terminar el ejercicio.
Ejercicio 10. Descuentos por cantidad y socio
Una tienda aplica descuentos según la cantidad de artículos comprados y si el cliente es socio o no. Pide el precio unitario, la cantidad de artículos y si el cliente es socio (por ejemplo, respondiendo "s" o "n"), y calcula el importe total aplicando:
- Sin descuento si compra menos de 3 artículos.
- Un 10% de descuento si compra 3 o más.
Y, si además es socio, un 5% adicional sobre el precio ya descontado.
Usa condicionales anidados para combinar ambas condiciones.
💾 Haz un commit al terminar el ejercicio.
Ejercicio 11. Comprobador de triángulo rectángulo
Pide los tres lados de un triángulo (float) y determina si es rectángulo, aplicando el teorema de Pitágoras (el cuadrado del lado mayor debe ser igual a la suma de los cuadrados de los otros dos). Como todavía no conoces ninguna herramienta para ordenar valores automáticamente, averigua primero cuál es el lado mayor usando condicionales anidados, y compara después. Muestra el mensaje "Es un triángulo rectángulo" o "No es un triángulo rectángulo", según corresponda.
💾 Haz un commit al terminar el ejercicio.
Ejercicio 12. Comprobador de fecha válida
Pide al usuario día, mes y año (tres valores enteros) y, usando condicionales anidados, muestra el mensaje "Fecha válida" o "Fecha no válida", según corresponda.
Debes tener en cuenta:
- Los meses de 30 y 31 días.
- El mes de febrero: 28 días, o 29 días en años bisiestos.
Un año es bisiesto (tiene 366 días en vez de 365) si es divisible entre 4, excepto los años divisibles entre 100, que no son bisiestos salvo que también sean divisibles entre 400.
Por ejemplo:
- 2024 → divisible entre 4 → bisiesto.
- 1900 → divisible entre 100 pero no entre 400 → no bisiesto.
- 2000 → divisible entre 100 y entre 400 → bisiesto.
💾 Haz un commit al terminar el ejercicio.
Ejercicio 13. Tarifa de aparcamiento
Un parking cobra según las horas de estancia:
- Hasta 1 hora: gratis.
- De 1 a 4 horas: 1,50 €/hora.
- Más de 4 horas: 6 € las 4 primeras horas + 1 €/hora adicional.
Pide al usuario las horas de estancia (puede ser un valor con decimales) y calcula el importe a pagar, usando el operador ternario en, al menos, uno de los cálculos intermedios.
💾 Haz un commit al terminar el ejercicio.
Al terminar los ejercicios, debes tener claro los siguientes conceptos:
- Expresiones booleanas y operadores de comparación
- Operadores lógicos (
and,or,not) - Evaluación de expresiones lógicas compuestas
- Estructura
if(ejecución condicional simple) - Varias sentencias
ifindependientes, frente a alternativas excluyentes - Ejecución condicional alternativa (
if/else) - Condicionales encadenados (
elif) - Condicionales anidados
- Operador ternario (
x if condicion else y)