R Trong khi Vòng lặp


Vòng lặp

Các vòng lặp có thể thực thi một khối mã miễn là đạt được một điều kiện cụ thể.

Vòng lặp rất tiện dụng vì chúng tiết kiệm thời gian, giảm lỗi và giúp mã dễ đọc hơn.

R có hai lệnh lặp:

  • while vòng lặp
  • for vòng lặp

R Vòng lặp trong khi

Với whilevòng lặp, chúng ta có thể thực hiện một tập hợp các câu lệnh miễn là một điều kiện là ĐÚNG:

Thí dụ

In ivới iđiều kiện nhỏ hơn 6:

i <- 1
while (i < 6) {
  print(i)
  i <- i + 1
}

Trong ví dụ trên, vòng lặp sẽ tiếp tục tạo ra các số từ 1 đến 5. Vòng lặp sẽ dừng lại ở 6 vì 6 < 6là FALSE.

Vòng whilelặp yêu cầu các biến có liên quan phải sẵn sàng, trong ví dụ này, chúng ta cần xác định một biến lập chỉ mục i, mà chúng ta đặt thành 1.

Lưu ý: hãy nhớ tăng số i, nếu không vòng lặp sẽ tiếp tục mãi mãi.


Nghỉ

Với breakcâu lệnh, chúng ta có thể dừng vòng lặp ngay cả khi điều kiện while là ĐÚNG:

Thí dụ

Thoát khỏi vòng lặp nếu igiá trị bằng 4.

i <- 1
while (i < 6) {
  print(i)
  i <- i + 1
  if (i == 4) {
    break
  }
}

Vòng lặp sẽ dừng lại ở 3 vì chúng ta đã chọn kết thúc vòng lặp bằng cách sử dụng breakcâu lệnh when ibằng 4 ( i == 4).


Kế tiếp

Với nextcâu lệnh, chúng ta có thể bỏ qua một lần lặp mà không kết thúc vòng lặp:

Thí dụ

Bỏ qua giá trị của 3:

i <- 0
while (i < 6) {
  i <- i + 1
  if (i == 3) {
    next
  }
  print(i)
}

Khi vòng lặp vượt qua giá trị 3, nó sẽ bỏ qua và tiếp tục lặp.


Yahtzee!

Nếu .. Khác Kết hợp với Vòng lặp Trong khi

Để chứng minh một ví dụ thực tế, hãy giả sử chúng tôi chơi trò chơi Yahtzee!

Thí dụ

In "Yahtzee!" Nếu số xúc xắc là 6:

dice <- 1
while (dice <= 6) {
  if (dice < 6) {
    print("No Yahtzee")
  } else {
    print("Yahtzee!")
  }
  dice <- dice + 1
}

Nếu vòng lặp vượt qua các giá trị từ 1 đến 5, nó sẽ in "No Yahtzee". Bất cứ khi nào nó vượt qua giá trị 6, nó sẽ in "Yahtzee!".