Vòng lặp while trong Python (While Loops in Python ) cho phép bạn thực thi một khối mã lặp đi lặp lại miễn là điều kiện nhất định vẫn đúng. Không giống như vòng lặp for lặp lại một số lần đã biết, vòng lặp while lý tưởng cho các tình huống mà số lần lặp không được biết trước. Cùng ptdulieu tham khảo dưới đây nhé.
Table of Contents
Vòng lặp while trong Python là gì
Vòng lặp while lặp lại khối mã dựa trên điều kiện Boolean nhất định. Điều kiện Boolean là điều kiện đánh giá thành True hoặc False.
Vòng lặp while sẽ luôn kiểm tra điều kiện trước khi chạy. Nếu điều kiện được đánh giá là True, thì vòng lặp sẽ chạy mã trong thân vòng lặp và tiếp tục chạy mã trong khi điều kiện vẫn còn True.
Nó sẽ tiếp tục thực thi tập hợp các câu lệnh mã mong muốn cho đến khi điều kiện đó không còn nữa True.
Hãy lấy một ví dụ giả định.
Bạn có thể yêu cầu người dùng gửi một từ khóa bí mật để họ có thể truy cập vào một phần cụ thể trên trang web của bạn. Giả sử để họ có thể xem một số nội dung, trước tiên họ phải nhập từ khóa 'Python'.
Để làm được điều này, bạn sẽ yêu cầu họ nhập từ khóa đó. Tuy nhiên, bạn không biết người dùng sẽ nhập sai từ khóa bao nhiêu lần.
Mỗi lần họ nhập sai, bạn tiếp tục nhắc họ nhập đúng từ khóa. Và miễn là họ nhập sai từ khóa, bạn sẽ không cho phép họ tiếp tục.
Khi họ nhập từ khóa 'Python', bạn sẽ cho phép họ xem nội dung đó, bạn sẽ ngừng nhắc họ và khối mã đó sẽ dừng thực thi.
Cú pháp vòng lặp while
Cú pháp chung để viết vòng lặp while trong Python trông như thế này:
while condition:
# body of while loop
Chúng ta hãy phân tích nó nhé:
- Vòng lặp while đánh giá điều kiện, là một biểu thức boolean. Một biểu thức Boolean là một biểu thức đánh giá thành True hoặc False.
- Nếu điều kiện là True, thân vòng lặp while được thực thi. Điều kiện được đánh giá lại.
- Quá trình này tiếp tục cho đến khi đạt được điều kiện False.
- Khi điều kiện được đánh giá là False, vòng lặp sẽ kết thúc.
Ví dụ: Vòng lặp while với biến số
number = 1
while number <= 3:
print(number)
number = number + 1
#kết quả:
1
2
3
Trong ví dụ trên, chúng ta đã sử dụng vòng lặp while để in các số từ 1 đến 3. Vòng lặp chạy miễn là điều kiện number <= 3 là True.
Ví dụ khác
count = 0
while count < 10:
print("The count is:", count)
count = count + 1
print("Good bye!")
#kết quả:
The count is: 0
The count is: 1
The count is: 2
The count is: 3
The count is: 4
The count is: 5
The count is: 6
The count is: 7
The count is: 8
The count is: 9
Good bye!
Vòng lặp while là một câu lệnh điều khiển luồng cho phép bạn chạy lặp lại một khối mã miễn là điều kiện cho trước là đúng. Điều kiện trong trường hợp này là count 10. Điều này có nghĩa là vòng lặp sẽ tiếp tục chạy miễn là biến count nhỏ hơn 10.
Ví dụ: Vòng lặp while với một chuỗi
name = 'Banana'
while name:
print(name)
name = name[1:]
#kết quả:
Banana
anana
nana
ana
na
a
Ví dụ: Vòng lặp while với một danh sách
thislist = ['apple', 'banana', 'cherry']
i = 0
while i < len(thislist):
print(thislist[i])
i = i + 1
#kết quả:
apple
banana
cherry
my_fam = ['father', 'mother', 'me']
while my_fam:
print(my_fam.pop())
#kết quả:
me
mother
father
Vòng lặp while vô hạn
Nếu điều kiện của một vòng lặp while luôn được đánh giá là True, vòng lặp sẽ chạy liên tục, tạo thành một vòng lặp while vô hạn. Ví dụ:
Trong những trường hợp như vậy, bạn có thể chấm dứt vòng lặp bằng cách nhấn Ctrl+C, điều này sẽ gây ra KeyboardInterrupt ngoại lệ trên hầu hết các hệ điều hành.
age = 32
#Điều kiện kiểm tra luôn luôn là Đúng
while age >18:
print("Bạn có thể bỏ phiếu")
#kết quả:
Bạn có thể bỏ phiếu
Bạn có thể bỏ phiếu
Bạn có thể bỏ phiếu
Bạn có thể bỏ phiếu
Bạn có thể bỏ phiếu
Bạn có thể bỏ phiếu
Bạn có thể bỏ phiếu
Bạn có thể bỏ phiếu
Bạn có thể bỏ phiếu
Bạn có thể bỏ phiếu
Bạn có thể bỏ phiếu
Bạn có thể bỏ phiếu
Bạn có thể bỏ phiếu
Bạn có thể bỏ phiếu
Bạn có thể bỏ phiếu
Bạn có thể bỏ phiếu
Bạn có thể bỏ phiếu
.............
#Chương trình trên tương đương với:
age = 32
# Điều kiện kiểm tra luôn luôn là Đúng
while True:
print('Bạn có thể bỏ phiếu')
Câu lệnh Break, Continue
Vòng lặp rất cần thiết cho lập trình, cho phép bạn lặp lại một khối mã nhiều lần. Python cung cấp một số câu lệnh giúp bạn kiểm soát luồng của các vòng lặp này, bao gồm break, continue và pass. Trong hướng dẫn này, chúng ta sẽ khám phá cách sử dụng các câu lệnh này hiệu quả khi làm việc với vòng lặp trong Python 3.
Câu lệnh Break (Break Statement)
Câu lệnh break hoạt động như nút "dừng" cho vòng lặp. Khi bạn sử dụng nó bên trong vòng lặp, vòng lặp sẽ kết thúc ngay lập tức và chương trình của bạn sẽ tiếp tục với bất kỳ thứ gì theo sau vòng lặp. Nó rất tiện lợi khi bạn muốn thoát khỏi vòng lặp sớm dựa trên một điều kiện cụ thể.
Ví dụ: Sử dụng break trong vòng lặp while
count = 0
while count < 5:
print("Đây là sự lặp lại", count)
if count == 2:
break #Thoát khỏi vòng lặp khi số đếm là 2
count += 1
#kết quả:
Đây là sự lặp lại 0
Đây là sự lặp lại 1
Đây là sự lặp lại 2
Trong ví dụ này, câu lệnh break được thực thi khi count bằng 2, khiến vòng lặp kết thúc.
Ví dụ khác
i = 0
# Điều này tạo ra một vòng lặp vô hạn
while True:
print(i)
i = i + 1
Trong ví dụ này, i sẽ tiếp tục tăng thêm một cách lặp đi lặp lại – không có điều kiện nào để ngăn chặn nó tăng lên vì là True luôn đánh giá là True.
Để tránh việc lặp lại vô hạn, trước tiên tôi đưa ra một câu lệnh if.
Câu lệnh if kiểm tra xem i có bằng 5. Nếu bằng thì vòng lặp sẽ kết thúc nhờ câu lệnh break bên trong câu lệnh if, về cơ bản là yêu cầu vòng lặp dừng lại.
i = 0
while True:
print(i)
i = i + 1
if i == 5:
break
#kết quả:
0
1
2
3
4
Câu lệnh continue (Continue Statement)
Câu lệnh continue được sử dụng để bỏ qua lần lặp hiện tại của một vòng lặp và tiến tới lần lặp tiếp theo. Nó cho phép bạn bỏ qua một số điều kiện hoặc giá trị trong một vòng lặp. Hãy tưởng tượng bạn đang ở trong một hàng và quyết định bỏ qua khi bạn đến một điểm nhất định. Continue thực hiện chính xác như vậy. Nó nhảy qua bước hiện tại trong vòng lặp và chuyển sang bước tiếp theo.
Ví dụ sử dụng continue trong vòng lặp for
for i in range(5):
if i == 2:
continue #Bỏ qua lặp lại khi i là 2
print("Đây là sự lặp lại", i)
#kết quả:
Đây là sự lặp lại 0
Đây là sự lặp lại 1
Đây là sự lặp lại 3
Đây là sự lặp lại 4
for i in range(10):
if i % 2 == 0:
continue
print(i)
#kết quả:
1
3
5
7
9
Vòng lặp while với một mệnh đề else
Trong Python, một vòng lặp while có thể có một mệnh đề else tùy chọn - được thực thi khi điều kiện vòng lặp là False. Ví dụ:
counter = 0
while counter < 2:
print("Đây là vòng lặp bên trong")
counter = counter + 1
else:
print("Đây là bên trong khối else")
#kết quả:
Đây là vòng lặp bên trong
Đây là vòng lặp bên trong
Đây là bên trong khối else
Ở đây, ở lần lặp thứ ba, the counter trở thành 2 , kết thúc vòng lặp. Sau đó, nó thực thi khối else và in ra Đây là bên trong khối else.
counter = 0
while counter < 3:
# loop ends because of break
# the else part is not executed
if counter == 1:
break
print('Inside loop')
counter = counter + 1
else:
print('Inside else')
#kết quả: Inside loop
Bài viết trên đây chia sẽ về vòng lặp while của Python, đây là cấu trúc điều khiển luồng quan trọng cho phép lặp lại. Bạn đã học cách sử dụng vòng lặp while để lặp lại các tác vụ cho đến khi đáp ứng được điều kiện, cách điều chỉnh vòng lặp bằng các câu lệnh break & continue và cách ngăn chặn hoặc viết vòng lặp vô hạn.