Menu
CoddyTech

Vòng lặp while

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 40 trên 88.

Vòng lặp for rất hữu ích khi bạn biết chính xác cần lặp lại bao nhiêu lần. Nhưng nếu bạn muốn tiếp tục lặp cho đến khi một điều kiện thay đổi thì sao? Đó là lúc vòng lặp while phát huy tác dụng.

Vòng lặp while tiếp tục chạy miễn là điều kiện của nó vẫn đúng:

count = 1
while count <= 3
  puts count
  count += 1
end

Lệnh này in ra 1, 2 và 3. Vòng lặp kiểm tra điều kiện trước mỗi lần lặp. Khi count trở thành 4, điều kiện count <= 3 là sai và vòng lặp dừng lại.

Điểm khác biệt chính so với vòng lặp for là bạn kiểm soát thời điểm vòng lặp kết thúc bằng cách thay đổi một biến bên trong vòng lặp. Nếu quên cập nhật biến, vòng lặp sẽ chạy mãi mãi! Đây là ví dụ về đếm ngược:

num = 5
while num > 0
  puts num
  num -= 1
end
puts "Done!"

Lệnh này đếm ngược từ 5 đến 1, sau đó in ra "Done!" khi vòng lặp kết thúc. Vòng lặp while đặc biệt hữu ích khi bạn chưa biết trước mình sẽ cần bao nhiêu lần lặp.

challenge icon

Thử thách

Dễ

Đọc một số n từ đầu vào. Dùng vòng lặp while để in ra tất cả các số từ n giảm dần đến 1, mỗi số trên một dòng. Sau khi đếm ngược xong, in ra Blastoff! trên một dòng mới.

Đầu vào là một số nguyên duy nhất, biểu thị số bắt đầu đếm ngược.

Ví dụ, nếu đầu vào là 5, đầu ra sẽ là:

5
4
3
2
1
Blastoff!

Tự làm thử

# Đọc số bắt đầu
n = gets.chomp.to_i

# TODO: Viết code của bạn bên dưới
# Dùng vòng lặp while để in ra các số từ n giảm dần đến 1
# Sau đó in ra chính xác văn bản trong hướng dẫn
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