Menu
CoddyTech

Next (continue)

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

Trong khi break thoát hoàn toàn khỏi vòng lặp, đôi khi bạn chỉ muốn bỏ qua lần lặp hiện tại và tiếp tục với lần lặp tiếp theo. Câu lệnh next làm đúng điều đó.

for (i in 1:5) {
  if (i == 3) {
    next
  }
  print(i)
}

Đầu ra:

[1] 1
[1] 2
[1] 4
[1] 5

Khi i bằng 3, câu lệnh next bỏ qua phần còn lại của lần lặp đó, vì vậy 3 không bao giờ được in ra. Sau đó, vòng lặp tiếp tục với 4 và 5 như bình thường.

Điều này hữu ích khi bạn muốn lọc bỏ một số giá trị mà không dừng toàn bộ vòng lặp. Ví dụ: chỉ in ra các số chẵn:

for (num in 1:6) {
  if (num %% 2 != 0) {
    next
  }
  print(num)
}

Đầu ra:

[1] 2
[1] 4
[1] 6

Ở đây, chương trình bỏ qua các số lẻ bằng next và chỉ in ra các số chẵn. Điểm khác biệt chính so với break là vòng lặp vẫn tiếp tục chạy, chỉ bỏ qua một số lần lặp cụ thể.

challenge icon

Thử thách

Dễ

Đọc một số n từ đầu vào. Dùng vòng lặp for để lặp từ 1 đến n và chỉ in ra các số không chia hết cho 4.

Dùng câu lệnh next để bỏ qua các số chia hết cho 4, rồi in ra tất cả các số còn lại bằng print().

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

[1] 1
[1] 2
[1] 3
[1] 5
[1] 6
[1] 7
[1] 9
[1] 10

Lưu ý rằng 4 và 8 bị bỏ qua vì chúng chia hết cho 4.

Tự làm thử

# Đọc đầu vào
con <- file("stdin", "r")
n <- as.integer(suppressWarnings(readLines(con, n = 1)))

# TODO: Viết code bên dưới
# Dùng vòng lặp for để lặp từ 1 đến n
# Dùng câu lệnh next để bỏ qua các số chia hết cho 4
# In ra tất cả các số còn lại bằng print()
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 R online