Vòng lặp while

Python SELF VI
Mức độ , Bài học
Có sẵn

9.1 Vòng lặp có điều kiện

Vòng lặp for rất phù hợp khi chúng ta biết chính xác bao nhiêu lần muốn thực thi khối lệnh của vòng lặp. Nhưng không phải lúc nào cũng như vậy. Khoảng một nửa số trường hợp cần thực hiện khối lệnh cho đến khi một điều kiện nào đó đúng.

Chính vì vậy, trong Python có vòng lặp while. Cấu trúc tổng quát của nó còn đơn giản hơn vòng lặp for:


while điều kiện:
    lệnh1 
    lệnh2 
    lệnhN 

Vòng lặp sẽ tiếp tục thực hiện cho đến khi điều kiện là đúng.

Quan trọng! Để vòng lặp không chạy mãi mãi, cần có điều gì đó xảy ra trong khối lệnh làm ảnh hưởng đến điều kiện. Để điều kiện có thể trở thành sai và vòng lặp kết thúc.

Ví dụ:

Ví dụ Giải thích

count = 0
while count < 5:
    print(count)
    count += 1
Vòng lặp sẽ in ra màn hình các số 0 1 2 3 4

Trong vòng lặp while hai việc được thực hiện liên tục:

  • Kiểm tra điều kiện.
  • Thực thi khối lệnh.

Nếu điều kiện là đúng, khối lệnh sẽ được thực hiện. Nếu điều kiện là sai (ngay cả khi khối lệnh chưa được thực hiện lần nào), vòng lặp sẽ kết thúc.

Một ví dụ khác về vòng lặp while, kết hợp với đầu vào không xác định số lượng dữ liệu từ người dùng:

Ví dụ Giải thích

user_input = ""
while user_input != "exit":
    user_input = input("Nhập 'exit' để thoát: ")
    print(user_input)
Vòng lặp sẽ in ra màn hình tất cả dữ liệu, cho đến khi người dùng nhập từ "exit". Sau đó vòng lặp sẽ in ra nó và kết thúc.

9.2 Từ khoá break

Trong Python, từ khoá break được sử dụng để chấm dứt ngay lập tức việc thực hiện vòng lặp while hoặc vòng lặp for. Từ khoá này cực kỳ hữu ích khi cần thoát khỏi vòng lặp trước khi nó hoàn thành theo điều kiện bình thường.

Sử dụng break tăng tính linh hoạt trong quản lý dòng chảy chương trình, cho phép phản ứng với các điều kiện thay đổi động trong quá trình thực hiện.

Sử dụng cơ bản:


for num in range(10):
    if num == 5:
        break   # Ngưng vòng lặp khi num đạt đến 5
    print(num)
        

Trong ví dụ này, vòng lặp sẽ in ra các số từ 0 đến 4. Khi num đạt đến 5, vòng lặp bị ngắt bởi từ khoá break.

Sử dụng trong vòng lặp vô hạn:


while True:
    response = input("Nhập 'exit' để thoát: ")
    if response == 'exit':
        break              

Ở đây, break được sử dụng để thoát khỏi vòng lặp vô hạn khi người dùng nhập 'exit'.

Từ khoá break cũng thường được sử dụng để ngắt việc thực hiện của các vòng lặp lồng nhau, xử lý các tình huống đặc biệt cần tạm dừng hành động ngay lập tức, cũng như để ngắt các quy trình trong các ứng dụng đa luồng hoặc mạng.

Ví dụ, trong các bài toán tìm kiếm hoặc sắp xếp, khi sau khi tìm thấy phần tử cần thiết việc tiếp tục thực hiện vòng lặp không còn ý nghĩa:


elements = [1, 2, 3, -99, 5]
# Tìm phần tử âm đầu tiên
for element in elements:
    if element < 0:
        print("Tìm thấy phần tử âm: ", element)
        break              

Thực tiễn tốt nhất bao gồm việc sử dụng break một cách thông minh, để không làm phức tạp logic của chương trình và không làm cho nó khó hiểu. Một thực tiễn tốt là ghi chú lý do ngắt vòng lặp, đặc biệt nếu chúng không rõ ràng từ ngữ cảnh.

Sử dụng break nên được hợp lý hóa và thích đáng. Ví dụ, để cải thiện khả năng đọc và hiệu quả của mã, không chỉ đơn giản là "làm hỏng" logic. Việc sử dụng hiệu quả từ khoá này có thể cải thiện đáng kể hiệu suất của các chương trình, đặc biệt trong các thuật toán với tính toán cường độ cao.

9.3 Từ khoá continue

Từ khoá continue trong Python là công cụ mạnh mẽ để quản lý dòng chảy thực hiện của các vòng lặp. Nó bỏ qua phần còn lại của mã trong lần lặp hiện tại của vòng lặp và chuyển sang lần lặp tiếp theo. Từ khoá này thường được sử dụng trong các vòng lặp forwhile để bỏ qua các điều kiện cụ thể mà không cần ngắt toàn bộ vòng lặp.

Khái niệm cơ bản về sử dụng từ khoá continue

Đây là cách continue hoạt động trong một vòng lặp đơn giản:


for i in range(10):
    if i % 2 == 0:
        continue
    print(i)              

Trong ví dụ này, vòng lặp chỉ in ra các số lẻ từ 1 đến 9. Mỗi khi i là số chẵn (chia hết cho 2), từ khoá continue sẽ kích hoạt, bỏ qua lệnh gọi hàm print() và chuyển sang lần lặp tiếp theo.

Ứng dụng continue trong các tình huống thực tế

Lọc dữ liệu: continue có thể được sử dụng để lọc trước dữ liệu trước khi thực hiện các thao tác phức tạp hơn trong vòng lặp.


data = ["apple", "banana", "", "cherry", "date"]
for fruit in data:
    if not fruit:
        continue  # Bỏ qua các chuỗi rỗng
    print(fruit.capitalize())               

Bỏ qua các điều kiện cụ thể: Đặc biệt hữu ích trong các tình huống cần bỏ qua các phần tử nhất định dựa trên các điều kiện phức tạp.


    scores = [92, 85, 99, 78, 82, 100, 67, 88]
    for score in scores:
        if score < 80:
            continue  # Bỏ qua điểm thấp
        print("Xin chúc mừng, điểm của bạn: ", score)               

Từ khoá continue trong Python cung cấp cách hiệu quả để làm đơn giản hóa mã và làm cho nó dễ đọc hơn bằng cách bỏ qua các phần tử không phù hợp trong các lần lặp. Sử dụng quá mức từ khoá continue có thể khiến việc hiểu dữ liệu nào đang được xử lý bởi vòng lặp trở nên phức tạp, đặc biệt trong các vòng lặp phức tạp với nhiều điều kiện. Hãy duy trì sự cân đối hợp lý.

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION