Menu
Coddy logo textTech

If-Else

Parte de la sección Fundamentals del Journey de Rust de Coddy — lección 25 de 75.

if nos permite ejecutar código específico si se cumple una condición, pero ¿qué pasa si queremos ejecutar algo más si no se cumple la condición?

Para eso tenemos la sentencia else:

let age: i32 = 15;
let status = if age >= 18 {
    "Adult"
} else {
    "Young"
};

En el ejemplo anterior, age es menor que 18, lo que significa que entra en el código else y status contendrá "Young".

Incluso podemos hacerlo más profundo utilizando la sentencia else if:

let age: i32 = 68;
let status = if age < 18 {
    "Young"
} else if age >= 18 && age <= 65 {
    "Adult"
} else {
    "Old"
};

Aquí comprueba si age es menor que 18; si no, continuará con la siguiente condición y comprobará si age está entre 18 y 65. Si esa condición tampoco se cumple, establecerá status como "Old".

Podemos añadir tantas sentencias else if como queramos:

if condition1 {
    code;
} else if condition2 {
    code;
} else if condition3 {
    code;
}
...
challenge icon

Desafío

Principiante

Se te proporciona un código que recibe como entrada un número que indica la velocidad del viento y lo almacena en una variable llamada wind.

Nota: aprenderemos en las próximas lecciones cómo obtener la entrada del usuario, por ahora simplemente no toques las primeras líneas.

 

Tu tarea es inicializar la variable status basándote en las siguientes condiciones:

  • "Calm" si wind es menor que 8,
  • "Breeze" si wind está entre 8 y 31 (incluyendo 8 y 31).
  • "Gale" si wind está entre 32 y 63 (incluyendo 32 y 63)
  • "Storm" de lo contrario

Consulta los casos de prueba para ver todas las entradas y las salidas esperadas

Hoja de referencia

Usa else para ejecutar código cuando la condición if no se cumple:

let age: i32 = 15;
let status = if age >= 18 {
    "Adult"
} else {
    "Young"
};

Usa else if para verificar múltiples condiciones:

let age: i32 = 68;
let status = if age < 18 {
    "Young"
} else if age >= 18 && age <= 65 {
    "Adult"
} else {
    "Old"
};

Puedes encadenar múltiples sentencias else if:

if condition1 {
    code;
} else if condition2 {
    code;
} else if condition3 {
    code;
}

Pruébalo tú mismo

use std::io;

fn main() {
    let mut input = String::new();
    io::stdin().read_line(&mut input).unwrap();
    let wind: i32 = input.trim().parse().unwrap();
    // Reemplaza la línea de abajo con una expresión if-else que asigne el estado basado en el viento
    let status = "unset";
    
    // No cambies la línea de abajo
    println!("status = {}", status);
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentals