If - Else anidados
Parte de la sección Fundamentos del Journey de Ruby de Coddy — lección 24 de 88.
¿Qué pasa si necesitas comprobar más de dos condiciones? Puedes colocar una sentencia if-else dentro de otra sentencia if-else. Esto se llama anidamiento y te permite manejar múltiples puntos de decisión.
score = 85
if score >= 90
puts "Grade: A"
else
if score >= 80
puts "Grade: B"
else
puts "Grade: C"
end
endRuby comprueba la primera condición. Si es falsa, se mueve al bloque else donde espera otro if-else. Esto crea una cadena de decisiones, cada una reduciendo las posibilidades.
Ruby ofrece una forma más limpia de escribir esto usando elsif, que combina else e if en una sola palabra clave:
score = 85
if score >= 90
puts "Grade: A"
elsif score >= 80
puts "Grade: B"
else
puts "Grade: C"
endAmbos ejemplos producen el mismo resultado, pero elsif mantiene tu código más plano y fácil de leer. Puedes encadenar tantas condiciones elsif como necesites, y el else final captura cualquier cosa que no coincida con las condiciones anteriores.
Desafío
FácilSe te proporciona la siguiente variable:
temperature = 15Crea un sistema de asesoramiento meteorológico utilizando if, elsif, y else para clasificar la temperatura e imprimir el mensaje apropiado:
- Si
temperaturees mayor o igual a30, imprimeHot - Stay hydrated - Si
temperaturees mayor o igual a20, imprimeWarm - Enjoy the day - Si
temperaturees mayor o igual a10, imprimeCool - Bring a jacket - Si
temperaturees mayor o igual a0, imprimeCold - Bundle up - De lo contrario, imprime
Freezing - Stay indoors
Muestra solo el mensaje único que coincida con la temperatura.
Hoja de referencia
Puedes anidar sentencias if-else unas dentro de otras para comprobar múltiples condiciones:
score = 85
if score >= 90
puts "Grade: A"
else
if score >= 80
puts "Grade: B"
else
puts "Grade: C"
end
endRuby proporciona elsif como una forma más limpia de encadenar múltiples condiciones:
score = 85
if score >= 90
puts "Grade: A"
elsif score >= 80
puts "Grade: B"
else
puts "Grade: C"
endPuedes encadenar tantas condiciones elsif como sea necesario. El else final captura cualquier cosa que no coincida con las condiciones anteriores.
Pruébalo tú mismo
temperature = 15
# TODO: Escribe tu código a continuación para clasificar la temperatura
# Usa if, elsif y else para imprimir el mensaje de aviso meteorológico adecuadoEsta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 3Operadores lógicos Parte 47Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada del usuario10FizzBuzz con un giro
Descripción general del juegoEl método FizzBuzz2Variables y tipos de datos
Números y variablesTipo de dato StringTipo de dato BooleanTipo de dato SymbolComprobación de tipos de datosConvenciones de nomenclaturaResumen: Creación de variables5Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleIf - Else anidadosSentencia Unless8Bucles
Bucle For con rangosBucle WhileBreakNextRepaso - FactorialBucle TimesBucle UntilBucles anidadosRepaso - Entrada dinámica3Operadores Parte 1
Operadores aritméticosOperador móduloAtajos aritméticosResumen - Matemáticas simplesOperadores de comparación6Entrada y Salida Básica
Salida con putsSalida con print y pSalida con variablesEntrada con getsMétodo chompConversión de tiposResumen - Calculadora de edadResumen - Verdadero o falso