Vòng lặp While trong Python được sử dụng để thực thi lặp đi lặp lại một khối câu lệnh cho đến khi một điều kiện nhất định được thỏa mãn. Và khi điều kiện trở thành sai thì dòng ngay sau vòng lặp trong chương trình được thực hiện
cú pháp.
while expression: statement[s]
Lưu đồ vòng lặp While
Vòng lặp While thuộc danh mục vòng lặp vô thời hạn. Lặp lại không xác định có nghĩa là số lần vòng lặp được thực hiện không được chỉ định rõ ràng trước.
Các câu lệnh đại diện cho tất cả các câu lệnh được thụt vào bởi cùng một số khoảng trắng ký tự sau khi cấu trúc lập trình được coi là một phần của một khối mã. Python sử dụng thụt đầu dòng làm phương pháp nhóm các câu lệnh. Khi một vòng lặp while được thực thi, expr trước tiên được đánh giá trong ngữ cảnh Boolean và nếu nó đúng, phần thân của vòng lặp sẽ được thực thi. Sau đó, expr được kiểm tra lại, nếu nó vẫn đúng thì phần thân được thực thi lại và điều này tiếp tục cho đến khi biểu thức trở thành sai
ví dụ 1. Vòng lặp Python While
Python3
# Python program to illustrate
# while loop
Hello Geek Hello Geek Hello Geek0
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek2
Hello Geek Hello Geek Hello Geek3
Hello Geek Hello Geek Hello Geek4
Hello Geek Hello Geek Hello Geek5
Hello Geek Hello Geek Hello Geek6
Hello Geek Hello Geek Hello Geek7
Hello Geek Hello Geek Hello Geek0
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek0
4 3 2 11
4 3 2 12
Hello Geek Hello Geek Hello Geek7
4 3 2 14
4 3 2 15
4 3 2 16
4 3 2 17
Đầu ra
Hello Geek Hello Geek Hello Geek
Trong ví dụ trên, điều kiện của while sẽ là True miễn là biến đếm [count] nhỏ hơn 3.
ví dụ 2. Vòng lặp while trong Python với danh sách
Python3
4 3 2 18
4 3 2 19
Hello Geek Hello Geek Hello Geek Hello Geek Hello Geek0_______1_______1
Hello Geek Hello Geek Hello Geek Hello Geek Hello Geek2
4 3 2 12_______22_______4
Hello Geek Hello Geek Hello Geek Hello Geek Hello Geek5
Hello Geek Hello Geek Hello Geek Hello Geek Hello Geek4
Hello Geek Hello Geek Hello Geek5
Hello Geek Hello Geek Hello Geek Hello Geek Hello Geek4
Hello Geek Hello Geek Hello Geek Hello Geek Hello Geek9
Current Letter : g Current Letter : k Current Letter : f Current Letter : o Current Letter : r Current Letter : g Current Letter : k0
Current Letter : g Current Letter : k Current Letter : f Current Letter : o Current Letter : r Current Letter : g Current Letter : k1
Hello Geek Hello Geek Hello Geek3
Current Letter : g Current Letter : k Current Letter : f Current Letter : o Current Letter : r Current Letter : g Current Letter : k3
Hello Geek Hello Geek Hello Geek7
4 3 2 14
Current Letter : g Current Letter : k Current Letter : f Current Letter : o Current Letter : r Current Letter : g Current Letter : k6
Đầu ra
4 3 2 1
Trong ví dụ trên, chúng tôi đã chạy một vòng lặp while trên một danh sách sẽ chạy cho đến khi có một phần tử trong danh sách
ví dụ 3. Câu lệnh đơn trong khi chặn
Cũng giống như khối if, nếu khối while bao gồm một câu lệnh duy nhất thì chúng ta có thể khai báo toàn bộ vòng lặp trong một dòng. Nếu có nhiều câu lệnh trong khối tạo nên thân vòng lặp, chúng có thể được phân tách bằng dấu chấm phẩy [;].
Python3
Current Letter : g Current Letter : k Current Letter : f Current Letter : o Current Letter : r Current Letter : g Current Letter : k7
Current Letter : g Current Letter : k Current Letter : f Current Letter : o Current Letter : r Current Letter : g Current Letter : k8
Hello Geek Hello Geek Hello Geek0
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek2
Hello Geek Hello Geek Hello Geek3
Hello Geek Hello Geek Hello Geek4
Current Letter : g4
Current Letter : g5_______12_______1
Hello Geek Hello Geek Hello Geek1
4 3 2 12
Current Letter : g9
4 3 2 14
4 3 2 15
4 3 2 16
4 3 2 17
đầu ra.
Hello Geek Hello Geek Hello Geek Hello Geek Hello Geek
Ví dụ 4. Câu lệnh điều khiển vòng lặp
Các câu lệnh điều khiển vòng lặp thay đổi quá trình thực thi so với trình tự thông thường của nó. Khi thực thi rời khỏi một phạm vi, tất cả các đối tượng tự động được tạo trong phạm vi đó sẽ bị hủy. Python hỗ trợ các câu lệnh điều khiển sau
Tiếp tục tuyên bố
Câu lệnh Tiếp tục trong Python trả điều khiển về đầu vòng lặp
Thí dụ. Vòng lặp while trong Python với câu lệnh continue
Python3
Value of i : 134
Value of i : 135
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek2
Hello Geek Hello Geek Hello Geek Hello Geek Hello Geek0____1_______1
1 2 3 4 No Break 10
Current Letter : g Current Letter : k Current Letter : f Current Letter : o Current Letter : r Current Letter : g Current Letter : k1
Hello Geek Hello Geek Hello Geek3
1 2 3 4 No Break 13
1 2 3 4 No Break 14
1 2 3 4 No Break 15
Hello Geek Hello Geek Hello Geek7
1 2 3 4 No Break 17
1 2 3 4 No Break 18
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek1
# Python program to illustrate
1 # Python program to illustrate
2 1 2 3 4 No Break 18
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek1
# Python program to illustrate
6# Python program to illustrate
7# Python program to illustrate
8_______58_______5
4 3 2 11
Hello Geek Hello Geek Hello Geek1
4 3 2 12
# Python program to illustrate
8_______205_______4
# while loop
5
Hello Geek Hello Geek Hello Geek7
4 3 2 14
4 3 2 15
# while loop
9Hello Geek Hello Geek Hello Geek00
Hello Geek Hello Geek Hello Geek7
Value of i : 135
4 3 2 11
Hello Geek Hello Geek Hello Geek1
4 3 2 12
đầu ra.
Current Letter : g Current Letter : k Current Letter : f Current Letter : o Current Letter : r Current Letter : g Current Letter : k
Tuyên bố phá vỡ
Câu lệnh Break Python đưa quyền kiểm soát ra khỏi vòng lặp
Thí dụ. Vòng lặp while trong Python với câu lệnh break
Python3
Hello Geek Hello Geek Hello Geek06
Hello Geek Hello Geek Hello Geek07
Value of i : 135
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek2
Hello Geek Hello Geek Hello Geek Hello Geek Hello Geek0____1_______1
1 2 3 4 No Break 10
Current Letter : g Current Letter : k Current Letter : f Current Letter : o Current Letter : r Current Letter : g Current Letter : k1
Hello Geek Hello Geek Hello Geek3
1 2 3 4 No Break 13
1 2 3 4 No Break 14
1 2 3 4 No Break 15
Hello Geek Hello Geek Hello Geek7
1 2 3 4 No Break 17
1 2 3 4 No Break 18
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek1
# Python program to illustrate
1 # Python program to illustrate
2 1 2 3 4 No Break 18
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek1
# Python program to illustrate
6# Python program to illustrate
7# Python program to illustrate
8_______58_______5
4 3 2 11
Hello Geek Hello Geek Hello Geek1
4 3 2 12
# Python program to illustrate
8_______1_______37
# while loop
5
Hello Geek Hello Geek Hello Geek7
4 3 2 14
4 3 2 15
# while loop
9Hello Geek Hello Geek Hello Geek00
Hello Geek Hello Geek Hello Geek7
Value of i : 135
4 3 2 11
Hello Geek Hello Geek Hello Geek1
4 3 2 12
đầu ra.
Current Letter : g
Tuyên bố vượt qua
Câu lệnh vượt qua Python để viết các vòng lặp trống. Pass cũng được sử dụng cho các câu lệnh, hàm và lớp điều khiển trống
Thí dụ. Vòng lặp while trong Python với câu lệnh vượt qua
Python3
Hello Geek Hello Geek Hello Geek49
Hello Geek Hello Geek Hello Geek Hello Geek Hello Geek0____1_______1
1 2 3 4 No Break 10
Value of i : 135
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek2
Current Letter : g Current Letter : k Current Letter : f Current Letter : o Current Letter : r Current Letter : g Current Letter : k1
Hello Geek Hello Geek Hello Geek3
1 2 3 4 No Break 13
1 2 3 4 No Break 14
1 2 3 4 No Break 15
Hello Geek Hello Geek Hello Geek7
Value of i : 135
4 3 2 11
Hello Geek Hello Geek Hello Geek1
4 3 2 12
Hello Geek Hello Geek Hello Geek7
Hello Geek Hello Geek Hello Geek67
Hello Geek Hello Geek Hello Geek68
4 3 2 14
4 3 2 15
Hello Geek Hello Geek Hello Geek71
Hello Geek Hello Geek Hello Geek72
đầu ra.
Value of i : 13
Vòng lặp while với other
Như đã thảo luận ở trên, vòng lặp while thực thi khối cho đến khi một điều kiện được thỏa mãn. Khi điều kiện trở thành sai, câu lệnh ngay sau vòng lặp được thực hiện. Mệnh đề khác chỉ được thực hiện khi điều kiện trong khi của bạn trở thành sai. Nếu bạn thoát ra khỏi vòng lặp hoặc nếu một ngoại lệ được đưa ra, nó sẽ không được thực thi
Ghi chú. Khối other ngay sau for/while chỉ được thực thi khi vòng lặp KHÔNG bị kết thúc bởi câu lệnh break.
Python3
Hello Geek Hello Geek Hello Geek73
Hello Geek Hello Geek Hello Geek74
Current Letter : g Current Letter : k Current Letter : f Current Letter : o Current Letter : r Current Letter : g Current Letter : k1
Value of i : 135
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek2
Hello Geek Hello Geek Hello Geek3
1 2 3 4 No Break 13
Hello Geek Hello Geek Hello Geek Hello Geek Hello Geek9
# Python program to illustrate
7Hello Geek Hello Geek Hello Geek7
Value of i : 135
4 3 2 11
Hello Geek Hello Geek Hello Geek1
4 3 2 12
Hello Geek Hello Geek Hello Geek7
4 3 2 14
Hello Geek Hello Geek Hello Geek90
Hello Geek Hello Geek Hello Geek91_______1_______92
Hello Geek Hello Geek Hello Geek93
Hello Geek Hello Geek Hello Geek7
4 3 2 14
4 3 2 15
Hello Geek Hello Geek Hello Geek97
4 3 2 17
Current Letter : g Current Letter : k Current Letter : f Current Letter : o Current Letter : r Current Letter : g Current Letter : k1
Value of i : 135
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek2
Hello Geek Hello Geek Hello Geek3
1 2 3 4 No Break 13
Hello Geek Hello Geek Hello Geek Hello Geek Hello Geek9
# Python program to illustrate
7Hello Geek Hello Geek Hello Geek7
Value of i : 135
4 3 2 11
Hello Geek Hello Geek Hello Geek1
4 3 2 12
Hello Geek Hello Geek Hello Geek7
4 3 2 14
Hello Geek Hello Geek Hello Geek90
Hello Geek Hello Geek Hello Geek7
Hello Geek Hello Geek Hello Geek37
Hello Geek Hello Geek Hello Geek91_______1_______92
4 3 2 119
Hello Geek Hello Geek Hello Geek7
4 3 2 14
4 3 2 15
4 3 2 123
4 3 2 17
đầu ra.
1 2 3 4 No Break 1
Tuyên bố kiểm soát Sentinel
Trong phần này, chúng tôi không sử dụng bất kỳ biến đếm nào vì chúng tôi không biết rằng vòng lặp sẽ thực hiện bao nhiêu lần. Ở đây người dùng quyết định rằng anh ta muốn thực hiện vòng lặp bao nhiêu lần. Đối với điều này, chúng tôi sử dụng một giá trị sentinel. Giá trị canh gác là một giá trị được sử dụng để chấm dứt một vòng lặp bất cứ khi nào người dùng nhập vào nó, thông thường, giá trị canh gác là -1