Tất cả về Python Vòng lặp while với các ví dụ

Tất cả về Python Vòng lặp while với các ví dụ

Nút nguồn: 3091323

Giới thiệu

Vòng lặp while là một câu lệnh luồng điều khiển cơ bản trong Python cho phép bạn thực thi lặp lại một khối mã miễn là một điều kiện nhất định là đúng. Nó cung cấp một cách để tự động hóa các tác vụ lặp đi lặp lại và lặp lại một chuỗi các giá trị. Bài viết này sẽ khám phá cú pháp, cách sử dụng và các ứng dụng khác nhau của vòng lặp while trong Python.

Vòng lặp while của Python

Mục lục

Cú pháp và cấu trúc của vòng lặp while

Cú pháp của vòng lặp while trong Python như sau:

while condition:
    # code to be executed

Điều kiện là một biểu thức Boolean xác định xem vòng lặp nên tiếp tục hay kết thúc. Nếu điều kiện được coi là Đúng thì khối mã bên trong vòng lặp sẽ được thực thi lặp lại. Khi điều kiện trở thành Sai, vòng lặp sẽ thoát và chương trình sẽ tiếp tục với câu lệnh tiếp theo sau vòng lặp.

Cách sử dụng cơ bản và ví dụ

Hãy bắt đầu với một ví dụ đơn giản để hiểu cách sử dụng cơ bản của vòng lặp while. Giả sử chúng ta muốn in các số từ 1 đến 5. Chúng ta có thể thực hiện điều này bằng vòng lặp while, như hiển thị bên dưới:

num = 1
while num <= 5:
    print(num)
    num += 1

Đầu ra

1

2

3

4

5

Trong ví dụ này, chúng ta khởi tạo biến `num` thành 1. Vòng lặp while tiếp tục nếu `num` nhỏ hơn hoặc bằng 5. Bên trong vòng lặp, chúng ta in giá trị của `num` rồi tăng nó lên 1 bằng cách sử dụng hàm toán tử `+=`. Quá trình này lặp lại cho đến khi `num` trở thành 6, khi điều kiện trở thành Sai và vòng lặp kết thúc.

Kiểm soát luồng bằng câu lệnh điều khiển vòng lặp

Python cung cấp ba câu lệnh điều khiển vòng lặp, ' break', ' continue' và ' pass ' để cho phép bạn kiểm soát luồng của vòng lặp while.

Tuyên bố “phá vỡ”

Câu lệnh `break` được sử dụng để thoát khỏi vòng lặp sớm, ngay cả khi điều kiện của vòng lặp vẫn đúng. Nó thường được sử dụng khi một điều kiện nhất định được đáp ứng và bạn muốn chấm dứt vòng lặp ngay lập tức. Đây là một ví dụ:

num = 1
while num <= 10:
    if num == 6:
        break
    print(num)
    num += 1

Đầu ra

1

2

3

4

5

Trong ví dụ này, vòng lặp kết thúc khi `num` trở thành 6 vì chúng ta đã sử dụng câu lệnh `break` bên trong điều kiện if. Kết quả là chỉ in ra các số từ 1 đến 5.

Tuyên bố “tiếp tục”

Câu lệnh `continue` được sử dụng để bỏ qua phần còn lại của khối mã bên trong vòng lặp và chuyển sang lần lặp tiếp theo. Nó rất hữu ích khi bạn muốn bỏ qua các giá trị hoặc điều kiện nhất định và tiếp tục với lần lặp tiếp theo. Đây là một ví dụ:

num = 1
while num <= 5:
    if num == 3:
        num += 1
        continue
    print(num)
    num += 1

Đầu ra

1

2

4

5

Trong ví dụ này, vòng lặp bỏ qua giá trị 3 vì chúng ta đã sử dụng câu lệnh `continue` bên trong điều kiện if. Kết quả là số 3 không được in ra và vòng lặp tiếp tục với lần lặp tiếp theo.

Tuyên bố “đạt”

Câu lệnh `pass` là một trình giữ chỗ khi bạn không muốn làm bất cứ điều gì trong vòng lặp. Nó thường được sử dụng như một trình giữ chỗ tạm thời trong quá trình phát triển hoặc khi bạn muốn tạo một vòng lặp trống. Đây là một ví dụ:

num = 1
while num <= 5:
    pass
    num += 1

Trong ví dụ này, câu lệnh `pass` không làm gì cả và vòng lặp tăng giá trị của `num` cho đến khi nó trở thành 6.

Các trường hợp và ứng dụng sử dụng phổ biến

Vòng lặp while có rất nhiều ứng dụng trong Python. Hãy khám phá một số trường hợp sử dụng phổ biến:

Lặp lại cho đến khi đạt được điều kiện

Vòng lặp while thường được sử dụng khi bạn muốn lặp cho đến khi đáp ứng một điều kiện nhất định. Ví dụ: chúng ta muốn tìm lũy thừa đầu tiên của 2 lớn hơn 1000. Chúng ta có thể sử dụng vòng lặp while để đạt được điều này:

num = 1
while num <= 1000:
    num *= 2
print(num)

Đầu ra

1024

Trong ví dụ này, vòng lặp tiếp tục cho đến khi `num` vượt quá 1000. Đối với mỗi lần lặp, `num` được nhân với 2 và giá trị cuối cùng được in.

Xác thực đầu vào của người dùng

Vòng lặp while rất hữu ích trong việc xác thực đầu vào của người dùng và đảm bảo rằng đầu vào đáp ứng các tiêu chí nhất định. Ví dụ: chúng tôi muốn nhắc người dùng nhập số nguyên dương. Chúng ta có thể sử dụng vòng lặp while để yêu cầu dữ liệu đầu vào cho đến khi một số nguyên hợp lệ được nhập liên tục:

while True:
    try:
        num = int(input("Enter a positive integer: "))
        if num > 0:
            break
        else:
            print("Invalid input. Please enter a positive integer.")
    except ValueError:
        print("Invalid input. Please enter a valid integer.")

Trong ví dụ này, vòng lặp tiếp tục vô tận cho đến khi nhập một số nguyên dương hợp lệ. Khối `try-ngoại trừ` xử lý các lỗi tiềm ẩn khi chuyển đổi đầu vào thành số nguyên.

Tạo vòng lặp vô hạn

Vòng lặp while có thể được sử dụng để tạo ra các vòng lặp vô hạn, vòng lặp này tiếp tục vô tận cho đến khi đáp ứng một điều kiện nhất định. Ví dụ: hãy tạo một vòng lặp vô hạn đơn giản in ra “Xin chào, Thế giới!” nhiều lần:

while True:
    print("Hello, World!")

Trong ví dụ này, điều kiện vòng lặp luôn là True, do đó vòng lặp tiếp tục vô tận. Để kết thúc vòng lặp, bạn có thể sử dụng câu lệnh `break` hoặc làm gián đoạn việc thực thi chương trình.

Vòng lặp vô hạn có thể hữu ích trong bối cảnh hệ thống ghi nhật ký hoặc giám sát thời gian thực. Hãy tưởng tượng một tình huống trong đó bạn phải liên tục giám sát hệ thống hoặc mạng để biết các sự kiện hoặc thay đổi cụ thể và ghi lại thông tin. Một vòng lặp vô hạn có thể được sử dụng để kiểm tra các điều kiện này và liên tục thực hiện các hành động thích hợp.

Triển khai vòng lặp trò chơi

Vòng lặp while thường được sử dụng trong quá trình phát triển trò chơi để triển khai vòng lặp trò chơi, giúp kiểm soát luồng trò chơi và xử lý thông tin đầu vào của người dùng. Vòng lặp trò chơi thường bao gồm ba thành phần chính: cập nhật trạng thái trò chơi, hiển thị đồ họa trò chơi và xử lý thông tin đầu vào của người dùng. Đây là một ví dụ đơn giản:

game_running = True
while game_running:
    # Update game state
    # Render game graphics
    # Handle user input

Trong ví dụ này, vòng lặp tiếp tục miễn là biến `game_running` là True. Bên trong vòng lặp, bạn sẽ cập nhật trạng thái trò chơi, hiển thị đồ họa trò chơi và xử lý thông tin đầu vào của người dùng. Quá trình này lặp lại cho đến khi trò chơi kết thúc hoặc người chơi chọn thoát ra.

Cũng đọc: Hướng dẫn Python hoàn chỉnh để tìm hiểu khoa học dữ liệu từ đầu

Vòng lặp while lồng nhau và vòng lặp lồng nhau

Python cho phép bạn lồng các vòng lặp while, nghĩa là bạn có thể có một vòng lặp while bên trong một vòng lặp while khác. Điều này rất hữu ích khi bạn cần thực hiện các tác vụ lặp đi lặp lại trong các tác vụ lặp đi lặp lại. Đây là một ví dụ:

outer_num = 1
while outer_num <= 3:
    inner_num = 1
    while inner_num <= 3:
        print(outer_num, inner_num)
        inner_num += 1
    outer_num += 1

Đầu ra

1 1

1 2

1 3

2 1

2 2

2 3

3 1

3 2

3 3

Trong ví dụ này, chúng ta có vòng lặp while bên ngoài lặp từ 1 đến 3 và vòng lặp while bên trong lặp từ 1 đến 3 cho mỗi lần lặp vòng ngoài. Câu lệnh print bên trong vòng lặp bên trong hiển thị giá trị của cả hai biến vòng lặp.

Mẹo và cách thực hành tốt nhất để sử dụng vòng lặp While

Mặc dù vòng lặp là cấu trúc mạnh mẽ nhưng chúng cũng có thể dễ xảy ra lỗi nếu không được sử dụng đúng cách. Dưới đây là một số mẹo và cách thực hành tốt nhất cần ghi nhớ khi sử dụng vòng lặp while:

Khởi tạo các biến đúng cách

Trước khi vào vòng lặp while, hãy khởi tạo bất kỳ biến vòng lặp nào về giá trị ban đầu của chúng. Điều này đảm bảo rằng điều kiện vòng lặp được đánh giá chính xác và ngăn ngừa hành vi không mong muốn. Ví dụ:

count = 0
while count < 10:
    print(count)
    count += 1

Trong ví dụ này, chúng ta khởi tạo biến `count` thành 0 trước khi vào vòng lặp.

Đảm bảo chấm dứt vòng lặp

Để tránh vòng lặp vô hạn, hãy luôn đảm bảo rằng điều kiện vòng lặp cuối cùng sẽ trở thành Sai. Điều này có thể đạt được bằng cách cập nhật các biến vòng lặp hoặc sử dụng các câu lệnh điều khiển vòng lặp như `break`. Ví dụ:

num = 1
while num <= 10:
    if num == 6:
        break
    print(num)
    num += 1

Trong ví dụ này, vòng lặp kết thúc khi `num` trở thành 6 do câu lệnh `break`.

Tránh vòng lặp vô tận

Hãy thận trọng khi sử dụng vòng lặp while để tránh tạo ra các vòng lặp vô hạn không bao giờ kết thúc. Vòng lặp vô hạn có thể dẫn đến sự cố chương trình và tiêu tốn quá nhiều tài nguyên hệ thống. Luôn kiểm tra kỹ các điều kiện vòng lặp của bạn và đảm bảo rằng chúng có thể trở thành Sai tại một số điểm.

Viết mã dễ đọc và dễ bảo trì

Vòng lặp while có thể trở nên phức tạp và khó hiểu nếu không được viết đúng cách. Sử dụng tên biến có ý nghĩa, thêm nhận xét để giải thích mục đích của vòng lặp và chia nhỏ các tác vụ phức tạp thành các tác vụ phụ nhỏ hơn. Điều này làm cho mã của bạn dễ đọc và dễ bảo trì hơn.

Kỹ thuật và thủ thuật nâng cao

Vòng lặp while có thể được sử dụng theo những cách nâng cao để đạt được các nhiệm vụ cụ thể. Dưới đây là một số kỹ thuật và thủ thuật nâng cao:

Vòng lặp với các câu lệnh khác

Trong Python, bạn có thể sử dụng câu lệnh else với vòng lặp while để thực thi khối mã khi điều kiện vòng lặp trở thành Sai. Khối còn lại chỉ được thực thi nếu vòng lặp được hoàn thành bình thường mà không có bất kỳ câu lệnh break nào. Đây là một ví dụ:

num = 1
while num <= 5:
    print(num)
    num += 1
else:
    print("Loop completed")

Đầu ra

1

2

3

4

5

Vòng lặp hoàn thành

Trong ví dụ này, khối else được thực thi sau khi vòng lặp hoàn thành bình thường.

Sử dụng vòng lặp while với danh sách và chuỗi

Vòng lặp while có thể được sử dụng để lặp qua danh sách và chuỗi bằng cách sử dụng biến chỉ mục. Đây là một ví dụ:

fruits = ["apple", "banana", "cherry"]
index = 0
while index < len(fruits):
    print(fruits[index])
    index += 1

Đầu ra

táo

chuối

quả anh đào

Trong ví dụ này, vòng lặp while lặp lại các phần tử của danh sách `fruits` bằng cách sử dụng biến chỉ mục.

Cũng đọc: Mọi điều bạn nên biết về Cấu trúc dữ liệu tích hợp trong Python – Hướng dẫn cho người mới bắt đầu!

So sánh với các cấu trúc vòng lặp khác trong Python

Vòng lặp while chỉ là một trong nhiều cấu trúc vòng lặp có sẵn trong Python. Hãy so sánh vòng lặp while với vòng lặp for và đệ quy:

Vòng lặp while so với vòng lặp For

Mặc dù vòng lặp và vòng lặp đều được sử dụng để lặp nhưng chúng có các trường hợp sử dụng khác nhau. Vòng lặp while linh hoạt hơn và có thể xử lý các điều kiện phức tạp, trong khi vòng lặp for phù hợp hơn để lặp qua một chuỗi giá trị. Vòng lặp while rất hữu ích khi bạn không biết trước chính xác số lần lặp hoặc cần thực hiện các phép tính phức tạp. Vòng lặp rất hữu ích khi bạn muốn lặp qua một chuỗi giá trị, chẳng hạn như danh sách hoặc chuỗi.

Vòng lặp while so với đệ quy

Đệ quy là một kỹ thuật trong đó hàm gọi chính nó để giải quyết vấn đề. Nó có thể được sử dụng để thực hiện các tác vụ lặp đi lặp lại tương tự như vòng lặp while, nhưng nó có một số khác biệt. Vòng lặp while phù hợp hơn với các tác vụ lặp khi bạn có điều kiện kết thúc rõ ràng và phải thực hiện số lần lặp cố định. Đệ quy phù hợp hơn để giải các bài toán được chia thành các bài toán con nhỏ hơn, chẳng hạn như các thuật toán tìm kiếm, sắp xếp và duyệt cây.

Kết luận

Trong bài viết này, chúng ta đã tìm hiểu khái niệm về vòng lặp while trong Python. Chúng tôi đã tìm hiểu về cú pháp, cách sử dụng cơ bản và các ứng dụng khác nhau của chúng. Chúng tôi cũng thảo luận về các mẹo, cách thực hành tốt nhất, các lỗi phổ biến và các kỹ thuật nâng cao để sử dụng vòng lặp while. Cuối cùng, chúng tôi so sánh vòng lặp while với các cấu trúc vòng lặp khác trong Python. Với kiến ​​thức này, giờ đây bạn có thể sử dụng hiệu quả các vòng lặp while để tự động hóa các tác vụ lặp đi lặp lại và lặp qua các chuỗi giá trị trong chương trình Python của mình.

Khai phá sức mạnh của sự xuất sắc của AI & ML! Đăng ký ngay tại chúng tôi Chương trình BlackBelt Plus AI & ML được chứng nhận và nâng cao kỹ năng của bạn lên tầm cao mới. Đừng bỏ lỡ cơ hội làm chủ các công nghệ mới nhất - Hãy chuyển đổi nghề nghiệp của bạn ngay hôm nay!

Ngoài ra, nếu bạn đang tìm kiếm một khóa học Python trực tuyến, hãy khám phá – Giới thiệu chương trình Python ngày hôm nay!

Dấu thời gian:

Thêm từ Phân tích Vidhya