Конструкция If-Else
Часть раздела Fundamentals путешествия по Rust на Coddy — урок 25 из 75.
if позволяет нам выполнять определённый код, если условие соблюдено, но что, если мы хотим выполнить что-то другое, если условие не соблюдено?
Для этого у нас есть инструкция else:
let age: i32 = 15;
let status = if age >= 18 {
"Adult"
} else {
"Young"
};В приведенном выше примере age меньше 18, что означает, что выполняется код в блоке else, и status будет содержать "Young".
Мы можем сделать это еще более выразительным, используя оператор else if:
let age: i32 = 68;
let status = if age < 18 {
"Young"
} else if age >= 18 && age <= 65 {
"Adult"
} else {
"Old"
};Здесь проверяется, меньше ли age, чем 18; если нет, выполнение перейдет к следующему условию и проверит, находится ли age в диапазоне от 18 до 65. Если и это условие не будет выполнено, оно установит status в значение "Old".
Мы можем добавить столько операторов else if, сколько захотим:
if condition1 {
code;
} else if condition2 {
code;
} else if condition3 {
code;
}
...Задание
НовичокВам дан код, который получает на вход число, обозначающее скорость ветра, и сохраняет его в переменной с именем wind.
Примечание: в следующих уроках мы узнаем, как получать ввод от пользователя, а пока просто не трогайте первые строки.
Ваша задача — инициализировать переменную status на основе следующих условий:
"Calm", еслиwindменьше8,"Breeze", еслиwindнаходится в диапазоне от8до31(включая 8 и 31)."Gale", еслиwindнаходится в диапазоне от32до63(включая 32 и 63)"Storm"в противном случае
Проверьте тестовые случаи, чтобы увидеть все входные данные и ожидаемые результаты
Шпаргалка
Используйте else для выполнения кода, когда условие if не выполняется:
let age: i32 = 15;
let status = if age >= 18 {
"Adult"
} else {
"Young"
};Используйте else if для проверки нескольких условий:
let age: i32 = 68;
let status = if age < 18 {
"Young"
} else if age >= 18 && age <= 65 {
"Adult"
} else {
"Old"
};Вы можете объединять в цепочку несколько инструкций else if:
if condition1 {
code;
} else if condition2 {
code;
} else if condition3 {
code;
}Попробуйте сами
use std::io;
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input).unwrap();
let wind: i32 = input.trim().parse().unwrap();
// Замените строку ниже выражением if-else, которое присваивает status в зависимости от wind
let status = "unset";
// Не изменяйте строку ниже
println!("status = {}", status);
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Fundamentals
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияАрифметические сокращенияОператоры сравненияСравнение строк7Основы ввода-вывода
Вывод в консольЧтение ввода пользователяПовторение — До 120Повторение — True или False5Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 38Приложение-калькулятор
Приветственное сообщениеПолучение чисел3Переменные. Часть 2
Объявление типаСоглашения об именованииВывод типовПовторение: инициализация переменныхПриведение типов9Циклы
Цикл For по последовательностиЦикл WhileОператор BreakОператор ContinueВложенные циклыМетки цикловБесконечный циклПовторение — Динамический ввод