Vòng lặp while
Trong Python, cấu trúc vòng lặp while tương tự với hầu hết các ngôn ngữ khác, thực hiện lặp đi lặp lại một lệnh hoặc một khối lệnh cho đến khi nhận được giá trị False
từ biểu thức sau nó.
Cấu trúc while
while condition: statement(s)
Trong đó:
statement(s)
là các khối lệnh nằm trong vòng lặp.condition
chính là điều kiện lặp củawhile
.
Nguyên tắc hoạt động
Nguyên tắc hoạt động của vòng lặp while
được thể hiện qua sơ đồ khối sau:

Khi nhận giá trị true
từ condition
, các khối lệnh bên trong while
sẽ được thực hiện. Sau khi thực hiện xong sẽ quay về và kiểm tra giá trị của condition
và cứ tiếp tục như thế cho đến khi nhận được giá trị false
từ condition
thì vòng lặp sẽ kết thúc.
Một lưu ý nhỏ là khối lệnh bên trong while
có khả năng sẽ không bao giờ được thực hiện nếu lần kiểm tra giá trị đầu tiên của while
trả về giá trị false
. Khi đó, vòng lặp while
sẽ được bỏ qua và chương trình sẽ thực hiện tiếp các lệnh sau nó.
Ví dụ
Tìm hiểu ví dụ sau để rõ hơn về vòng lặp while
.
animalsList = [ "Dog", "Cat" ] count = 0 while (animalsList[count] != "TOMBSTONE"): print (animalsList[count]) count += 1;
Kết quả in ra màn hình:
Dog Cat
Vòng lặp vô hạn
Vòng lặp while
có thể trở thành một vòng lặp vô hạn nếu như điều kiện sau while
không bao giờ trả về giá trị false
. Vì vậy khi sử dụng vòng lặp while
cần thận trọng để tránh gây ra lỗi không đáng có làm sai mục đích lập trình.
Xét lại ví dụ trên nhưng trong trường hợp "quên" tăng biến count
lên:
animalsList = \ [ "Dog", "Cat" ] count = 0 while (animalsList[count] != "Dog"): print (animalList[count])
Kết quả in ra màn hình sẽ là hàng loạt dòng "Dog"
và không bao giờ dừng lại. Có thể thấy do một chút nhầm lẫn nhỏ sẽ khiến vòng lặp while trở nên vô hạn.