Vòng lặp while trong Python được sử dụng để thực thi một khối câu lệnh lặp đi lặp lại cho đến khi một điều kiện nhất định được thỏa mãn. Và khi điều kiện trở thành sai, dòng ngay sau vòng lặp trong chương trình sẽ được thực thi.

1. Cú pháp sử dụng vòng lặp while trong Python

# Điều kiện
while expression:
# Lệnh thực thi
    statement(s)

2. Sơ đồ của vòng lặp while

Vòng lặp while thuộc loại lặp không xác định. Lặp lại không xác định có nghĩa là số lần lặp không xác định được. Các câu lệnh thực thi sau vòng lặp while được thụt vào bởi cùng một số khoảng trắng. Python sử dụng thụt lề làm phương pháp nhóm các câu lệnh. Khi vòng lặp while được thực thi, expr trước tiên được đánh giá trong ngữ cảnh Boolean và nếu nó đúng thì phần thân vòng lặp sẽ được thực thi. Sau đó, expr được kiểm tra lại, nếu nó vẫn đúng thì phần thân sẽ được thực thi lại và điều này tiếp tục cho đến khi biểu thức trở thành sai.

3. Một số ví dụ

Xem thêm bài viết về Python:

- Các kiểu dữ liệu trong Python

- Hướng dẫn lập trình web với ngôn ngữ python

- Khám Phá Lập Trình Web Với Python: Khái Niệm & Các Framework

3.1. Vòng lặp While trong Python đơn giản nhất

# Python program to illustrate
# while loop
count = 0
while (count < 3):
    count = count + 1
    print("Hello Stringee")

Chúng ta có được đầu ra như sau:

Hello Stringee
Hello Stringee
Hello Stringee

Trong ví dụ trên, điều kiện của while sẽ đúng miễn là biến đếm (count) nhỏ hơn 3.

3.2. Vòng lặp while trong Python với danh sách

# checks if list still
# contains any element
a = [1, 2, 3, 4]

while a:
    print(a.pop())

Đầu ra:

4
3
2
1

Trong ví dụ trên, chúng ta đã chạy một vòng lặp while trên một danh sách. Vòng lặp này sẽ dừng cho đến khi không còn phần tử nào trong danh sách.

3.3. Sử dụng continue trong vòng lặp

# Prints all letters except 'e' and 's'
i = 0
a = 'stringee'

while i < len(a):
    if a[i] == 'e' or a[i] == 's':
        i += 1
        continue
        
    print('Current Letter :', a[i])
    i += 1

Đầu ra:

Current Letter: t
Current Letter : r
Current Letter : i
Current Letter : n
Current Letter : g

Lệnh continue sẽ bỏ qua các khối lệnh chạy ngay sau nó.

3.4. Sử dụng break trong vòng lặp while

# break the loop as soon it sees 'e'
# or 's'
i = 0
a = 'stringee'

while i < len(a):
    if a[i] == 'e' or a[i] == 't':
        i += 1
        break
        
    print('Current Letter :', a[i])
    i += 1

Đầu ra:

Current Letter: s

4. Một số lưu ý khi sử dụng vòng lặp while trong Python

Xác định rõ điều kiện dừng: Đảm bảo rằng bạn đã xác định rõ điều kiện dừng của vòng lặp. Nếu không, vòng lặp có thể trở thành vòng lặp vô hạn, làm cho chương trình bị treo.

Đảm bảo biểu thức điều kiện có thể trở thành False: Biểu thức điều kiện trong vòng lặp while cần được cập nhật bên trong vòng lặp có thể trở thành False. Nếu không, vòng lặp sẽ chạy vô hạn.

Cập nhật biến điều kiện: Trong hầu hết các trường hợp, cần cập nhật biến hoặc điều kiện kiểm tra trong vòng lặp để tránh vòng lặp vô hạn. Ví dụ: count += 1 hoặc i = i + 1 để tăng giá trị biến đếm.

Tránh vòng lặp vô hạn: Khi sử dụng vòng lặp while, hãy đảm bảo rằng điều kiện cuối cùng sẽ đúng trong một số trường hợp. Điều này đảm bảo rằng vòng lặp sẽ dừng một cách đúng đắn.

Sử dụng vòng lặp for khi cần: Trong một số trường hợp, vòng lặp for có thể là sự lựa chọn tốt hơn, đặc biệt là khi bạn biết số lần lặp cố định (ví dụ: lặp qua các phần tử trong danh sách).

Tổng kết

Vòng lặp while là một công cụ mạnh mẽ nhưng cũng có thể gây ra các vấn đề nếu không sử dụng cẩn thận. Bạn nên cân nhắc sử dụng vòng lặp nào cho chương trình và kiểm tra kỹ càng các dòng code để tránh lỗi. Chúc các bạn học tốt.


Stringee Communication APIs là giải pháp cung cấp các tính năng giao tiếp như gọi thoại, gọi video, tin nhắn chat, SMS hay tổng đài CSKH cho phép tích hợp trực tiếp vào ứng dụng/website của doanh nghiệp nhanh chóng. Nhờ đó giúp tiết kiệm đến 80% thời gian và chi phí cho doanh nghiệp bởi thông thường nếu tự phát triển các tính năng này có thể mất từ 1 - 3 năm.

Bộ API giao tiếp của Stringee hiện đang được tin dùng bởi các doanh nghiệp ở mọi quy mô, lĩnh vực ngành nghề như TPBank, VOVBacsi24, VNDirect, Shinhan Finance, Ahamove, Logivan, Homedy,  Adavigo, bTaskee…

Quý bạn đọc quan tâm xin mời đăng ký NHẬN TƯ VẤN TẠI ĐÂY: