Menu
CoddyTech

If else

Thuộc phần Kiến thức nền tảng trong hành trình Ruby của Coddy. Bài học 22 trên 88.

Đôi khi, bạn cần chương trình chọn giữa hai hướng khác nhau. Từ khóa else cho phép bạn chỉ định điều gì sẽ xảy ra khi điều kiện if là sai:

age = 15

if age >= 18
  puts "You can vote!"
else
  puts "You're too young to vote."
end

Trong ví dụ này, vì age là 15 nên điều kiện age >= 18 là sai. Ruby bỏ qua khối lệnh đầu tiên và chạy code sau else. Chương trình sẽ in ra "You're too young to vote."

Với if-else, luôn chỉ có một trong hai khối lệnh chạy. Nếu điều kiện đúng, khối lệnh đầu tiên sẽ chạy. Nếu điều kiện sai, khối lệnh thứ hai sẽ chạy:

balance = 100
withdrawal = 150

if balance >= withdrawal
  puts "Withdrawal successful"
else
  puts "Insufficient funds"
end

Cấu trúc này phù hợp nhất khi bạn có hai kết quả loại trừ lẫn nhau. Chương trình phải đi theo hướng này hoặc hướng kia, không bao giờ theo cả hai hướng và cũng không bao giờ không theo hướng nào.

challenge icon

Thử thách

Dễ

Bạn được cung cấp các biến sau:

temperature = 35
has_umbrella = false
account_balance = 50
withdrawal_amount = 75
player_score = 100
high_score = 100

Dùng câu lệnh if-else để đánh giá từng tình huống bên dưới. In ra thông báo phù hợp tùy thuộc vào điều kiện đúng hay sai.

  1. Nếu temperature lớn hơn 30, hãy in ra It's hot outside. Nếu không, hãy in ra The weather is nice.
  2. Nếu has_umbrella là true, hãy in ra You're prepared for rain. Nếu không, hãy in ra You might get wet.
  3. Nếu account_balance lớn hơn hoặc bằng withdrawal_amount, hãy in ra Withdrawal approved. Nếu không, hãy in ra Insufficient funds.
  4. Nếu player_score lớn hơn high_score, hãy in ra New high score!. Nếu không, hãy in ra Try again.
  5. Nếu temperature nhỏ hơn 0 hoặc temperature lớn hơn 40, hãy in ra Extreme weather. Nếu không, hãy in ra Normal conditions.

Mỗi thông báo phải xuất hiện trên một dòng riêng.

Tự làm thử

# Các biến (variable) đã có sẵn cho bạn
temperature = 35
has_umbrella = false
account_balance = 50
withdrawal_amount = 75
player_score = 100
high_score = 100

# TODO: Viết code bên dưới
# Dùng các câu lệnh if-else để đánh giá từng tình huống và in ra thông báo phù hợp
quiz iconTự kiểm tra

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

Tự luyện tập: Trình biên dịch Ruby online