Trong lập trình, vòng lặp là một trong những khái niệm cơ bản và quan trọng nhất. Nhờ vòng lặp, ta có thể thực hiện lặp đi lặp lại một khối lệnh mà không cần phải viết thủ công nhiều lần. Hãy thử tưởng tượng bạn muốn in ra các số từ 1 đến 100. Nếu không có vòng lặp, bạn sẽ phải viết đến 100 dòng lệnh print()
. Nhưng với vòng lặp, chỉ cần vài dòng code là xong.
Python cung cấp hai loại vòng lặp chính: for
và while
. Nếu như for
thường được dùng khi số lần lặp đã biết trước, thì while
lại tỏa sáng trong những tình huống mà số vòng lặp không xác định từ đầu, chỉ phụ thuộc vào một điều kiện.
Trong bài viết này, chúng ta sẽ cùng nhau tìm hiểu vòng lặp while
trong Python: cú pháp, cách hoạt động, ứng dụng thực tế, các lệnh điều khiển đi kèm, những lỗi thường gặp và so sánh với vòng lặp for
.
1. Khái niệm về vòng lặp while
Vòng lặp while
cho phép thực thi một khối lệnh nhiều lần, miễn là điều kiện còn đúng (True
). Khi điều kiện trở thành sai (False
), vòng lặp sẽ dừng.
Cú pháp cơ bản:
while điều_kiện:
# khối lệnh được lặp
Ví dụ đơn giản: in ra các số từ 1 đến 5.
i = 1
while i <= 5:
print(i)
i += 1
Ở đây, biến i
đóng vai trò điều kiện dừng. Nếu không tăng i
trong mỗi vòng, chương trình sẽ chạy mãi không ngừng.
2. Luồng hoạt động của vòng lặp while
Cơ chế hoạt động của vòng lặp while
có thể tóm tắt như sau:
- Kiểm tra điều kiện.
- Nếu điều kiện đúng (
True
) → thực hiện khối lệnh. - Quay lại bước 1.
- Nếu điều kiện sai (
False
) → thoát vòng lặp.

Ví dụ minh họa:
x = 3
while x > 0:
print("Countdown:", x)
x -= 1
print("Time's up!")
Ở bước cuối cùng, khi x
giảm về 0, điều kiện x > 0
trở thành False
, vòng lặp dừng.
3. Các lệnh điều khiển vòng lặp đi kèm
Python cung cấp một số lệnh để kiểm soát vòng lặp while
.
🔹 break
– thoát khỏi vòng lặp ngay lập tức
i = 1
while i <= 10:
if i == 5:
break
print(i)
i += 1
#results
1 2 3 4
🔹 continue
– bỏ qua lần lặp hiện tại
i = 0
while i < 5:
i += 1
if i == 3:
continue
print(i)
#results
1 2 4 5
🔹 else
trong vòng lặp while
Python có một tính năng đặc biệt: vòng lặp có thể đi kèm else
. Khối else
sẽ chạy khi vòng lặp kết thúc một cách tự nhiên, không bị break
.
i = 1
while i < 4:
print(i)
i += 1
else:
print("End...!!!")
#result
1 2 3 End...!!!
4. So sánh while
với for
trong Python
for
: thích hợp khi biết trước số lần lặp.while
: thích hợp khi chỉ biết điều kiện dừng, không xác định số lần.
Ví dụ in ra số từ 1 đến 10:
# for
for i in range(1, 11):
print(i)
# while
i = 1
while i <= 10:
print(i)
i += 1
Lời khuyên:
- Chọn
for
khi duyệt qua dãy số, danh sách; - Chọn
while
khi làm việc với điều kiện động.
5. Kết luận
Vòng lặp while
là một công cụ mạnh mẽ trong Python, giúp xử lý những tình huống mà số vòng lặp chưa xác định trước. Việc nắm vững cách sử dụng while
, kết hợp với break
, continue
, và else
, sẽ giúp bạn viết được các chương trình linh hoạt và hiệu quả hơn.
Tuy nhiên, hãy luôn cẩn thận với các vòng lặp vô hạn. Hãy chắc chắn rằng điều kiện lặp sẽ thay đổi và cuối cùng trở thành False
.
Lời khuyên: luyện tập bằng những ví dụ nhỏ, sau đó áp dụng vào các bài toán thực tế như xử lý nhập dữ liệu, viết game đơn giản, hoặc xây dựng menu chương trình.
6. Tài liệu tham khảo
- Python Official Documentation: https://docs.python.org/3/tutorial/controlflow.html#while-statements
- W3Schools: https://www.w3schools.com/python/python_while_loops.asp
- Real Python: https://realpython.com/python-while-loop/