If-else
Thuộc phần Kiến thức nền tảng trong hành trình Rust của Coddy. Bài học 25 trên 75.
if cho phép chúng ta chạy một đoạn code nhất định nếu điều kiện được đáp ứng, nhưng nếu điều kiện không được đáp ứng thì sao?
Để làm điều đó, ta dùng câu lệnh else:
let age: i32 = 15;
let status = if age >= 18 {
"Adult"
} else {
"Young"
};Trong ví dụ trên, age nhỏ hơn 18, nghĩa là chương trình sẽ chạy phần code trong else và status sẽ chứa "Young".
Ta thậm chí có thể làm cho ví dụ sâu sắc hơn bằng cách dùng câu lệnh else if:
let age: i32 = 68;
let status = if age < 18 {
"Young"
} else if age >= 18 && age <= 65 {
"Adult"
} else {
"Old"
};Ở đây, chương trình kiểm tra xem tuổi có nhỏ hơn 18 không. Nếu không, chương trình sẽ tiếp tục kiểm tra điều kiện tiếp theo và xem tuổi có nằm trong khoảng từ 18 đến 65 không. Nếu điều kiện đó cũng không thỏa mãn, chương trình sẽ đặt status thành "Old".
Ta có thể thêm bao nhiêu câu lệnh else if tùy ý:
if condition1 {
code;
} else if condition2 {
code;
} else if condition3 {
code;
}
...Thử thách
Người mớiBạn được cung cấp một đoạn code nhận đầu vào là một số cho biết tốc độ gió và lưu số đó vào biến có tên wind.
Lưu ý: trong các bài học tiếp theo, chúng ta sẽ học cách nhận đầu vào từ người dùng. Hiện tại, bạn chỉ cần giữ nguyên những dòng đầu tiên.
Nhiệm vụ của bạn là khởi tạo biến status dựa trên các điều kiện sau:
"Calm"nếuwindnhỏ hơn8,"Breeze"nếuwindnằm trong khoảng từ8đến31(bao gồm cả 8 và 31)."Gale"nếuwindnằm trong khoảng từ32đến63(bao gồm cả 32 và 63)"Storm"trong các trường hợp còn lại
Xem các test case để biết tất cả đầu vào và đầu ra dự kiến
Tự làm thử
use std::io;
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input).unwrap();
let wind: i32 = input.trim().parse().unwrap();
// Thay dòng bên dưới bằng biểu thức (expression) if-else để gán giá trị cho status dựa trên wind
let status = "unset";
// Đừng thay đổi dòng bên dưới
println!("status = {}", status);
}Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức nền tảng
5Các toán tử phần 2
Các toán tử logic phần 1Các toán tử logic phần 2Ôn tập: logic đơn giảnCác toán tử logic phần 33Biến phần 2
Khai báo kiểu dữ liệuQuy ước đặt tênSuy luận kiểu dữ liệuÔn tập: Khởi tạo biếnÉp kiểu dữ liệu9Vòng lặp
Vòng lặp for qua chuỗiVòng lặp whileBreakContinueVòng lặp lồng nhauNhãn vòng lặpVòng lặp vô hạnÔn tập: Đầu vào động12Kiến thức cơ bản về mảng
Khai báo mảngMảng làm tham sốTruy cập phần tửChỉnh sửa mảngÔn tập: In mảng đẹp mắtTự luyện tập: Trình biên dịch Rust online