Vòng Lặp While True Trong Python Và ứng Dụng Cụ Thể

Trong lập trình Python, vòng lặp while True là một cấu trúc mạnh mẽ cho phép lặp mã mãi mãi cho đến khi một điều kiện cụ thể không còn đúng nữa. Với cấu trúc này, mã sẽ tiếp tục thực thi vô hạn, chỉ dừng lại khi gặp một lệnh break hoặc điều kiện khác trong vòng lặp. Trong bài viết này, chúng ta sẽ khám phá sâu hơn về vòng lặp while True trong Python, bao gồm ý nghĩa, cú pháp và các ứng dụng phổ biến của nó.

Vòng lặp while True trong Python

Vòng lặp while True trong Python là một cấu trúc vòng lặp while trong python với biểu thức điều kiện của vòng lặp while luôn True (đúng). Vòng lặp while True trong Python được sử dụng để tạo ra một vòng lặp vô hạn, nghĩa là mã bên trong vòng lặp sẽ được thực thi mãi mãi cho đến khi có một lệnh break được gọi hoặc một điều kiện cụ thể không còn đúng nữa.

Vòng lặp while True được sử dụng để tạo ra các vòng lặp vô hạn trong Python, và được sử dụng kèm lệnh break để thoát ra khỏi vòng lặp vô hạn khi thỏa mãn một điều kiện.

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

while True :    Câu lệnh 1    Câu lệnh 2    if biểu-thức-điều-kiện:        break

Trong bài vòng lặp while trong python chúng ta đã biết vòng lặp while trong python bao gồm từ khóa while, một biểu thức điều kiện và một khối gồm các câu lệnh được mô tả trong khối đó. Các lệnh mô tả trong khối chỉ được xử lý khi biểu thức điều kiện được chỉ định là True (đúng).

Nếu chúng ta chỉ định biểu thức điều kiện là True, khi đó vòng lặp while trở thành vòng lặp while True trong python. Trong vòng lặp while True, do biểu thức điều kiện luôn luôn True (đúng), dẫn đến các lệnh trong khối mô tả luôn được xử lý, khiến vòng lặp while chạy mãi mãi và tạo ra một vòng lặp vô hạn trong python.

Vòng lặp while True trong Python

Vòng lặp while True nếu biến thành một vòng lặp vô hạn trong python sẽ không có điểm dừng, dẫn đến chương trình không bao giờ được kết thúc và vô tình tiêu tốn rất nhiều bộ nhớ máy tính và CPU. Do đó, bạn nhất thiết phải sử dụng kèm với lệnh break trong vòng lặp while True để tránh tạo ra vòng lặp vô hạn.

Sau đây, chúng ta sẽ dùng vòng lặp while True trong Python để in ra màn hình các số nguyên dương nhỏ hơn 5 như sau:

Copy
num = 0while True: print(num) num += 1 if num == 5: break#> 0#> 1#> 2#> 3#> 4

Trong ví dụ trên, vòng lặp while True sẽ chạy liên tục và in ra màn hình các số nguyên dương, cho tới khi số đó bằng 5 thì dừng lại.

Một ví dụ khác, chúng ta sử dụng vòng lặp while True trong Python để tìm các bội số của 3 và nhỏ hơn 10 như sau:

Copy
num = 0while True: if num % 3 == 0: print(num) num += 1 if num == 10: break#> 0#> 3#> 6#> 9

Cách tạo ra vòng lặp while True trong Python

Để tạo ra vòng lặp while True trong python, chúng ta chỉ định biểu thức điều kiện trong vòng lặp while trở thành True với cách viết while True : như Kiyoshi đã hướng dẫn ở trên.

Tuy nhiên, đây không phải là trường hợp duy nhất mà biểu thức điều kiện được đánh giá là luôn True (đúng). Nếu bạn không biết điều này, bạn có thể vô tình tạo ra một vòng lặp vô hạn trong python.

Ví dụ , biểu thức điều kiện 1 == 1 sau đây luôn đúng dẫn đến một vòng lặp while True trong python được tạo ra:

Copy
num = 0while 1==1: print(num) num += 1 if num == 5: break

Lại nữa, trong python tất cả các đối tượng có giá trị, ví dụ như một list, một số hay một chuỗi v.v.. đều mang giá trị boolean là True.

Copy
list = [1, 2, 3]str = '1, 2, 3'num = 1print(bool(list))print(bool(str))print(bool(num))#> True#> True#> True

Nếu bạn chỉ định một trong các đối tượng có giá trị như ở trên trong biểu thức điều kiện của vòng lặp while, chúng ta cũng có thể tạo ra vòng lặp while True trong python.

Các cách viết sau đều đồng dạng với cách viết while True:

  • while list:
  • while str:
  • while 1:

Ví dụ:

Copy
num = 0while 1: print(num) num += 1 if num == 5: break

Hoặc là:

Copy
num = 0list=[1,2,3]while list: print(num) num += 1 if num == 5: break

Trong các ví dụ trên, Kiyoshi đã thêm lệnh break để thoát khỏi vòng lặp While True và giúp bạn tránh bị rơi vào một vòng lặp vô hạn trong python.

Tuy nhiên thực tế khi viết code, chúng ta rất dễ mắc lỗi logic và vô tình tạo phải vòng lặp vô hạn trong python. Do đó, bạn hãy hết sức cẩn thận khi chỉ định biểu thức điều kiện trong vòng lặp while để tránh tạo ra một vòng lặp vô hạn nhé. Hãy thao khảo thêm bài viết vòng lặp vô hạn trong python để biết thêm chi tiết.

Ứng dụng của vòng lặp while True trong python

Vòng lặp while True thường được sử dụng khi cần thực hiện một tác vụ nào đó liên tục hoặc khi không thể dự đoán được số lần lặp cần thiết. Các trường hợp sử dụng phổ biến bao gồm:

  • Xử Lý Sự Kiện Liên Tục: Sử dụng vòng lặp while True để theo dõi và xử lý sự kiện liên tục như đọc dữ liệu từ cổng nối hoặc kiểm tra các điều kiện trong một chương trình chạy liên tục.

  • Tạo Lặp Vô Hạn: Khi cần thiết, vòng lặp while True được sử dụng để tạo ra một vòng lặp vô hạn và thực thi mã mãi mãi cho đến khi có điều kiện hoặc lệnh break được gọi.

Vòng lặp while True trong python cũng thường được sử dụng trong các chương trình kiểm tra giá trị nhập từ bàn phím của người dùng trùng khớp với một điều kiện nào đó.

Ví dụ chúng ta có thể sử dụng vòng lặp while True trong python kèm với lệnh input để lặp một vòng lặp liên tục cho tới khi giá trị nhập vào thỏa mãn điều kiện như sau:

Copy
min_length = 4while True: name = input("Nhập một chuỗi có số ký tự nhỏ hơn 4 :") if len(name) < min_length and name.isalpha(): breakprint("Bạn vừa nhập chuỗi {0}".format(name))

Trong ví dụ trên, chương trình sẽ lặp lại dòng Nhập một chuỗi có số ký tự nhỏ hơn 4 : liên tục cho tới khi chuỗi bạn nhập thỏa mãn điều kiện này.

Copy
Nhập một chuỗi có số ký tự nhỏ hơn 4 : abcdefNhập một chuỗi có số ký tự nhỏ hơn 4 : abcdeNhập một chuỗi có số ký tự nhỏ hơn 4 : abcBạn vừa nhập chuỗi abc

Bạn cũng có thể dùng while True để quản lý cách người dùng nhập dữ liệu. Ví dụ, chúng ta có thể tạo ra ra một chương trình giúp người dùng nhập dữ liệu liên tục, và dừng lại tại thời điểm người dùng mong muốn như sau:

Copy
arr = []print("Hãy nhập dữ liệu. Khi muốn dừng hãy nhập 'stop'")while True: txt = input(">>") if txt == "stop": break arr.append(txt) # Các xử lý khácfor value in arr: print(value)

Kết quả chương trình:

Copy
Hãy nhập dữ liệu. Khi muốn dừng hãy nhập 'stop'>>1>>2>>3>>stop123

Ngoải ra, Vòng lặp while True trong python còn được sử dụng trong các ứng dụng giám sát hệ thống tự động. Ví dụ như bạn muốn giám sát một hệ thống 24/7 và khi hệ thống bị lỗi, một chương trình sửa lỗi sẽ tự động được thực thi chẳng hạn.

Copy
while True: Giám sát hệ thống 24/7 if Lỗi xảy ra: Tự động xử lý lỗi

Cách thoát khỏi vòng lặp while True trong python

Về căn bản vòng lặp while True trong python sẽ lặp lại liên tục cho tới khi lệnh break được thực hiện. Nếu bạn không chỉ định lệnh break trong vòng lặp while True, khi này vòng lặp sẽ trở thành một vòng lặp vô hạn.

Do đó, trong trường hợp bạn cần sử dụng tới vòng lặp while True trong python, hãy đảm bảo rằng mình đã chuẩn bị một cách để thoát ra khỏi vòng lặp vô hạn đó bằng cách chỉ định lệnh break bên trong vòng lặp while True.

Tuy nhiên, giả sử nếu bạn lỡ rơi vào một vòng lặp while True vô hạn và muốn thoát ngay khỏi vòng lặp này, hoặc là bạn muốn dừng vòng lặp while True ở giữa chừng, thì cũng đừng lo lắng. Chúng ta có thể chấm dứt chương trình đó và thoát khỏi vòng lặp vô hạn trong python bằng cách sử dụng các tổ hợp phím tùy vào hệ điều hành như sau:

Windows Ctrl + CThoát khỏi vòng lặp vô hạn trong python - Windows

Mac Control + CThoát khỏi vòng lặp vô hạn trong python - Mac

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách sử dụng Vòng lặp while True trong Python rồi. Vòng lặp while True là một công cụ mạnh mẽ trong Python giúp lập trình viên thực thi mã lặp lại một cách vô hạn cho đến khi một điều kiện cụ thể được đáp ứng. Bằng cách sử dụng vòng lặp này một cách linh hoạt và hiệu quả, bạn có thể xử lý sự kiện liên tục, tạo ra các vòng lặp vô hạn và thực hiện các tác vụ khác trong các dự án lập trình của mình. Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về vòng lặp while True trong Python và cách sử dụng chúng trong lập trình thực tế.

URL Link

https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/vong-lap-trong-python/vong-lap-while-true-trong-python/

Từ khóa » Bài Tập Vòng Lặp While Trong Python