If-else lồng nhau
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 28 trên 75.
Chúng ta có thể lồng các câu lệnh if / else if / else vào nhau. Cách này cho phép chúng ta tạo cấu trúc ra quyết định theo thứ bậc.
Ví dụ:
if age > 18 {
if hasLicense {
println!("You can drive");
} else {
println!("Get a license first");
}
} else {
println!("Too young to drive");
}Có thể lồng nhau vô hạn:
if condition1 {
if condition2 {
if condition3 {
// if condition1, condition2 và condition3 đều đúng
...
}
}
}Thử thách
Người mớiTạo một chương trình kiểm tra xem một người có thể chơi tàu lượn siêu tốc hay không. Các yêu cầu:
- Phải từ 12 tuổi trở lên
- Phải cao hơn 150cm
- Nếu đáp ứng cả hai yêu cầu nhưng chưa đủ 15 tuổi, người đó cần có người lớn giám sát
In chính xác các thông báo sau cho từng trường hợp:
- Nếu còn quá nhỏ:
Sorry, you're too young - Nếu chưa đủ cao:
Sorry, you're not tall enough - Nếu chưa đủ 15 tuổi và không có người lớn đi cùng:
Sorry, you need an adult with you - Nếu chưa đủ 15 tuổi và có người lớn đi cùng:
You can ride with adult supervision! - Nếu từ 15 tuổi trở lên và đủ cao:
You can ride by yourself!
Tự làm thử
use std::io;
fn main() {
let mut age_input = String::new();
let mut height_input = String::new();
let mut adult_input = String::new();
io::stdin().read_line(&mut age_input).unwrap();
io::stdin().read_line(&mut height_input).unwrap();
io::stdin().read_line(&mut adult_input).unwrap();
let age: i32 = age_input.trim().parse().unwrap();
let height: i32 = height_input.trim().parse().unwrap();
let has_adult: bool = adult_input.trim().parse().unwrap();
// Viết code bên dưới
}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