Vòng lặp while
là một trong những cấu trúc điều khiển quan trọng và phổ biến nhất trong Python. Nó cho phép bạn lặp lại một khối mã nhiều lần dựa trên một điều kiện cho trước. Trong bài viết này, chúng ta sẽ tìm hiểu chi tiết về vòng lặp while
trong Python, cách sử dụng nó với các loại dữ liệu khác nhau, và các ví dụ minh họa cụ thể.
Tổng quan về vòng lặp while
Vòng lặp while
trong Python được sử dụng để lặp lại một khối mã miễn là một điều kiện cho trước là đúng. Cú pháp cơ bản của vòng lặp while
như sau:
python
while điều_kiện:
khối_lệnh
Trong đó:
điều_kiện
là biểu thức điều kiện được kiểm tra trước mỗi lần lặp.khối_lệnh
là khối mã sẽ được thực thi nếuđiều_kiện
là đúng.
Cú pháp của vòng lặp while
Cú pháp của vòng lặp while
rất đơn giản và dễ hiểu. Dưới đây là một ví dụ cơ bản:
python
count = 0
while count < 5:
print("Số đếm là:", count)
count += 1
Kết quả:
Số đếm là: 0
Số đếm là: 1
Số đếm là: 2
Số đếm là: 3
Số đếm là: 4
Trong ví dụ này, biến count
bắt đầu từ 0 và tăng lên 1 sau mỗi lần lặp. Vòng lặp sẽ tiếp tục chạy cho đến khi count
không còn nhỏ hơn 5.
Vòng lặp while vô hạn
Một vòng lặp while
có thể trở thành vòng lặp vô hạn nếu điều kiện của nó luôn đúng. Điều này có thể hữu ích trong một số trường hợp, chẳng hạn như khi bạn muốn chương trình chạy liên tục cho đến khi người dùng dừng nó.
Ví dụ về vòng lặp vô hạn:
python
while True:
print("Đây là vòng lặp vô hạn. Nhấn Ctrl+C để dừng.")
Trong ví dụ này, điều kiện True
luôn đúng, do đó vòng lặp sẽ chạy mãi mãi cho đến khi bạn dừng nó bằng cách nhấn Ctrl+C
.
Vòng lặp while-else
Python cho phép bạn sử dụng câu lệnh else
cùng với vòng lặp while
. Khối lệnh else
sẽ được thực thi khi vòng lặp kết thúc tự nhiên mà không gặp phải câu lệnh break
.
Cú pháp của vòng lặp while-else:
python
while điều_kiện:
khối_lệnh
else:
khối_lệnh_else
Ví dụ về vòng lặp while-else:
python
count = 0
while count < 5:
print("Số đếm là:", count)
count += 1
else:
print("Vòng lặp đã kết thúc.")
Kết quả:
Số đếm là: 0
Số đếm là: 1
Số đếm là: 2
Số đếm là: 3
Số đếm là: 4
Vòng lặp đã kết thúc.
Trong ví dụ này, khối lệnh else
sẽ được thực thi sau khi vòng lặp while
kết thúc tự nhiên.
Vòng lặp while với câu lệnh break
Câu lệnh break
được sử dụng để kết thúc vòng lặp ngay lập tức, bất kể điều kiện của vòng lặp có còn đúng hay không. Điều này có nghĩa là vòng lặp sẽ bị dừng và chương trình sẽ tiếp tục thực thi câu lệnh ngay sau vòng lặp.
Ví dụ về câu lệnh break:
python
count = 0
while count < 10:
print("Số đếm là:", count)
if count == 5:
break
count += 1
Kết quả:
Số đếm là: 0
Số đếm là: 1
Số đếm là: 2
Số đếm là: 3
Số đếm là: 4
Số đếm là: 5
Trong ví dụ này, vòng lặp while
sẽ bị kết thúc bởi câu lệnh break
khi count
bằng 5.
Vòng lặp while với câu lệnh continue
Câu lệnh continue
được sử dụng để bỏ qua phần còn lại của thân vòng lặp cho lần lặp hiện tại và chuyển ngay đến lần lặp tiếp theo. Điều này có nghĩa là mã từ lần lặp hiện tại sẽ không được thực thi, và vòng lặp sẽ tiếp tục lặp lại cho đến khi điều kiện của vòng lặp không còn đúng.
Ví dụ về câu lệnh continue:
python
count = 0
while count < 10:
count += 1
if count % 2 == 0:
continue
print("Số lẻ là:", count)
Kết quả:
Số lẻ là: 1
Số lẻ là: 3
Số lẻ là: 5
Số lẻ là: 7
Số lẻ là: 9
Trong ví dụ này, câu lệnh continue
sẽ bỏ qua các số chẵn và chỉ in ra các số lẻ.
Vòng lặp while với một dòng lệnh
Nếu khối lệnh trong vòng lặp while
chỉ có một dòng lệnh, bạn có thể đặt nó trên cùng một dòng với câu lệnh while
. Điều này giúp mã ngắn gọn hơn.
Ví dụ về vòng lặp while với một dòng lệnh:
python
count = 0
while count < 5: print("Số đếm là:", count); count += 1
Kết quả:
Số đếm là: 0
Số đếm là: 1
Số đếm là: 2
Số đếm là: 3
Số đếm là: 4
Trong ví dụ này, vòng lặp while
và khối lệnh của nó được viết trên cùng một dòng.
Vòng lặp while lồng nhau
Bạn có thể sử dụng vòng lặp while
lồng nhau để lặp qua các dãy phức tạp hơn. Ví dụ, bạn có thể lặp qua một danh sách các danh sách:
Ví dụ về vòng lặp while lồng nhau:
python
i = 0
while i < 3:
j = 0
while j < 3:
print(f"i: {i}, j: {j}")
j += 1
i += 1
Kết quả:
i: 0, j: 0
i: 0, j: 1
i: 0, j: 2
i: 1, j: 0
i: 1, j: 1
i: 1, j: 2
i: 2, j: 0
i: 2, j: 1
i: 2, j: 2
Trong ví dụ này, vòng lặp while
bên ngoài lặp qua các giá trị của i
từ 0 đến 2, và vòng lặp while
bên trong lặp qua các giá trị của j
từ 0 đến 2.
Vòng lặp while với điều kiện phức tạp
Bạn có thể sử dụng các toán tử logic như and
, or
để tạo ra các điều kiện phức tạp cho vòng lặp while
.
Ví dụ về vòng lặp while với điều kiện phức tạp:
python
count = 0
while count < 10 and count % 2 == 0:
print("Số đếm là:", count)
count += 2
Kết quả:
Số đếm là: 0
Số đếm là: 2
Số đếm là: 4
Số đếm là: 6
Số đếm là: 8
Trong ví dụ này, vòng lặp while
sẽ tiếp tục chạy miễn là count
nhỏ hơn 10 và là số chẵn.
Kết luận
Vòng lặp while
là một công cụ mạnh mẽ và linh hoạt trong Python, cho phép bạn lặp lại một khối mã nhiều lần dựa trên một điều kiện cho trước. Bằng cách nắm vững cách sử dụng vòng lặp while
với các loại dữ liệu khác nhau và các câu lệnh điều khiển như break
và continue
, bạn có thể viết mã Python ngắn gọn, dễ đọc và hiệu quả hơn. Việc sử dụng câu lệnh else
cùng với vòng lặp while
cũng giúp bạn kiểm soát luồng thực thi của chương trình một cách linh hoạt và chính xác hơn.