Vòng lặp while True trong Python - Ý Nghĩa, Cú Pháp và Ứng Dụng | Laptrinhcanban.com

HOME › >>

Vòng lặp while True trong Python - Ý Nghĩa, Cú Pháp và Ứng Dụng

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ệnTrue, 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:

num = 0

while 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:

num = 0

while 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:

num = 0

while 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.

list = [1, 2, 3]
str = '1, 2, 3'
num = 1

print(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ụ:

num = 0

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

Hoặc là:

num = 0
list=[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:

min_length = 4
while 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():
break
print("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.

Nhập một chuỗi có số ký tự nhỏ hơn 4 : abcdef
Nhập một chuỗi có số ký tự nhỏ hơn 4 : abcde
Nhập một chuỗi có số ký tự nhỏ hơn 4 : abc
Bạ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:

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ác

for value in arr:
print(value)

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

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

1
2
3

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.

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 + C
Thoát khỏi vòng lặp vô hạn trong python - Windows

Mac Control + C
Thoá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/

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME  › >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.