R Vòng lặp while
Vòng lặp
Vòng lặp có thể thực thi một khối mã miễn là đạt được điều kiện đã chỉ định.
Vòng lặp rất tiện lợi vì chúng tiết kiệm thời gian, giảm lỗi và làm cho mã dễ đọc hơn.
R có hai lệnh vòng lặp:
- vòng lặp
while
- vòng lặp
for
R Vòng lặp while
Với vòng lặp while
, chúng ta có thể thực thi một tập hợp các câu lệnh miễn là điều kiện là TRUE:
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 ở 6 vì 6 < 6
là FALSE.
Vòng lặp while
yêu cầu các biến 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 chỉ mục, i
, mà chúng ta đặt thành 1.
Lưu ý: nhớ tăng i, nếu không vòng lặp sẽ tiếp tục mãi mãi.
Phá vỡ
Với câu lệnh break
, chúng ta có thể dừng vòng lặp ngay cả khi điều kiện while là TRUE:
Ví dụ
Thoát khỏi vòng lặp nếu i
bằng 4.
i <- 1
while (i < 6) {
print(i)
i <- i + 1
if
(i == 4) {
break
}
}
Hãy tự mình thử » Vòng lặp sẽ dừng ở số 3 vì chúng ta đã chọn kết thúc vòng lặp bằng cách sử dụng câu lệnh break
khi i
bằng 4 ( i == 4
).
Kế tiếp
Với câu lệnh next
, chúng ta có thể bỏ qua một lần lặp mà không cần kết thúc vòng lặp:
Ví dụ
Bỏ qua giá trị 3:
i <- 0
while (i < 6) {
i <- i + 1
if (i == 3) {
next
}
print(i)
}
Hãy tự mình thử »Khi vòng lặp vượt qua giá trị 3, nó sẽ bỏ qua giá trị đó và tiếp tục lặp.
Yahtzee!
If .. Else Kết hợp với vòng lặp while
Để minh họa một ví dụ thực tế, giả sử chúng ta chơi trò chơi Yahtzee!
Ví 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
}
Hãy tự mình thử »Nếu vòng lặp vượt qua các giá trị từ 1 đến 5, nó sẽ in ra "No Yahtzee". Bất cứ khi nào nó vượt qua giá trị 6, nó sẽ in "Yahtzee!".