Vòng lặp while True trong Python và ứng dụng cụ thể | Laptrinhcanban.com

Vòng lặp while True trong Python và ứng dụng cụ thể

Hướng dẫn cách sử dụng Vòng lặp while True trong Python. Bạn sẽ học được khái niệm vòng lặp while True trong Python là gì, cách tạo ra vòng lặp while True trong python, ứng dụng cũng như là cách thoát khỏi vòng lặp while True trong python sau bài học này.

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 đượ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 trong python 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. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.

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.