Tại sao vòng lặp while của tôi không hoạt động Python?

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

Tại sao vòng lặp while của tôi không hoạt động Python?

 

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 Geek
0
Hello Geek
Hello Geek
Hello Geek
1
Hello Geek
Hello Geek
Hello Geek
2

Hello Geek
Hello Geek
Hello Geek
3
Hello Geek
Hello Geek
Hello Geek
4
Hello Geek
Hello Geek
Hello Geek
5
Hello Geek
Hello Geek
Hello Geek
6

Hello Geek
Hello Geek
Hello Geek
7
Hello Geek
Hello Geek
Hello Geek
0
Hello Geek
Hello Geek
Hello Geek
1
Hello Geek
Hello Geek
Hello Geek
0
4
3
2
1
1
4
3
2
1
2

Hello Geek
Hello Geek
Hello Geek
7
4
3
2
1
4
4
3
2
1
5
4
3
2
1
6
4
3
2
1
7

Đầ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
1
8

4
3
2
1
9

Hello Geek
Hello Geek
Hello Geek
Hello Geek
Hello Geek
0_______1_______1
Hello Geek
Hello Geek
Hello Geek
Hello Geek
Hello Geek
2
4
3
2
1
2_______22_______4
Hello Geek
Hello Geek
Hello Geek
Hello Geek
Hello Geek
5
Hello Geek
Hello Geek
Hello Geek
Hello Geek
Hello Geek
4
Hello Geek
Hello Geek
Hello Geek
5
Hello Geek
Hello Geek
Hello Geek
Hello Geek
Hello Geek
4
Hello Geek
Hello Geek
Hello Geek
Hello Geek
Hello Geek
9
Current Letter : g
Current Letter : k
Current Letter : f
Current Letter : o
Current Letter : r
Current Letter : g
Current Letter : k
0

Current Letter : g
Current Letter : k
Current Letter : f
Current Letter : o
Current Letter : r
Current Letter : g
Current Letter : k
1

Hello Geek
Hello Geek
Hello Geek
3
Current Letter : g
Current Letter : k
Current Letter : f
Current Letter : o
Current Letter : r
Current Letter : g
Current Letter : k
3

Hello Geek
Hello Geek
Hello Geek
7
4
3
2
1
4
Current Letter : g
Current Letter : k
Current Letter : f
Current Letter : o
Current Letter : r
Current Letter : g
Current Letter : k
6

Đầ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 : k
7

Current Letter : g
Current Letter : k
Current Letter : f
Current Letter : o
Current Letter : r
Current Letter : g
Current Letter : k
8

Hello Geek
Hello Geek
Hello Geek
0
Hello Geek
Hello Geek
Hello Geek
1
Hello Geek
Hello Geek
Hello Geek
2

Hello Geek
Hello Geek
Hello Geek
3
Hello Geek
Hello Geek
Hello Geek
4
Current Letter : g
4
Current Letter : g
5_______12_______1
Hello Geek
Hello Geek
Hello Geek
1
4
3
2
1
2
Current Letter : g
9
4
3
2
1
4
4
3
2
1
5
4
3
2
1
6
4
3
2
1
7

đầ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 : 13
4

Value of i : 13
5
Hello Geek
Hello Geek
Hello Geek
1
Hello Geek
Hello Geek
Hello Geek
2

Hello Geek
Hello Geek
Hello Geek
Hello Geek
Hello Geek
0____1_______1
1
2
3
4
No Break

1
0

Current Letter : g
Current Letter : k
Current Letter : f
Current Letter : o
Current Letter : r
Current Letter : g
Current Letter : k
1

Hello Geek
Hello Geek
Hello Geek
3
1
2
3
4
No Break

1
3
1
2
3
4
No Break

1
4
1
2
3
4
No Break

1
5

Hello Geek
Hello Geek
Hello Geek
7
1
2
3
4
No Break

1
7
1
2
3
4
No Break

1
8
Hello Geek
Hello Geek
Hello Geek
1
Hello Geek
Hello Geek
Hello Geek
1 # Python program to illustrate1 # Python program to illustrate2
1
2
3
4
No Break

1
8
Hello Geek
Hello Geek
Hello Geek
1
Hello Geek
Hello Geek
Hello Geek
1 # Python program to illustrate6# Python program to illustrate7

# Python program to illustrate8_______58_______5

4
3
2
1
1
Hello Geek
Hello Geek
Hello Geek
1
4
3
2
1
2

# Python program to illustrate8_______205_______4

# while loop5

Hello Geek
Hello Geek
Hello Geek
7
4
3
2
1
4
4
3
2
1
5# while loop9
Hello Geek
Hello Geek
Hello Geek
00

Hello Geek
Hello Geek
Hello Geek
7
Value of i : 13
5
4
3
2
1
1
Hello Geek
Hello Geek
Hello Geek
1
4
3
2
1
2

đầ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 Geek
06

Hello Geek
Hello Geek
Hello Geek
07

Value of i : 13
5
Hello Geek
Hello Geek
Hello Geek
1
Hello Geek
Hello Geek
Hello Geek
2

Hello Geek
Hello Geek
Hello Geek
Hello Geek
Hello Geek
0____1_______1
1
2
3
4
No Break

1
0

Current Letter : g
Current Letter : k
Current Letter : f
Current Letter : o
Current Letter : r
Current Letter : g
Current Letter : k
1

Hello Geek
Hello Geek
Hello Geek
3
1
2
3
4
No Break

1
3
1
2
3
4
No Break

1
4
1
2
3
4
No Break

1
5

Hello Geek
Hello Geek
Hello Geek
7
1
2
3
4
No Break

1
7
1
2
3
4
No Break

1
8
Hello Geek
Hello Geek
Hello Geek
1
Hello Geek
Hello Geek
Hello Geek
1 # Python program to illustrate1 # Python program to illustrate2
1
2
3
4
No Break

1
8
Hello Geek
Hello Geek
Hello Geek
1
Hello Geek
Hello Geek
Hello Geek
1 # Python program to illustrate6# Python program to illustrate7

# Python program to illustrate8_______58_______5

4
3
2
1
1
Hello Geek
Hello Geek
Hello Geek
1
4
3
2
1
2

# Python program to illustrate8_______1_______37

# while loop5

Hello Geek
Hello Geek
Hello Geek
7
4
3
2
1
4
4
3
2
1
5# while loop9
Hello Geek
Hello Geek
Hello Geek
00

Hello Geek
Hello Geek
Hello Geek
7
Value of i : 13
5
4
3
2
1
1
Hello Geek
Hello Geek
Hello Geek
1
4
3
2
1
2

đầ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 Geek
49

Hello Geek
Hello Geek
Hello Geek
Hello Geek
Hello Geek
0____1_______1
1
2
3
4
No Break

1
0

Value of i : 13
5
Hello Geek
Hello Geek
Hello Geek
1
Hello Geek
Hello Geek
Hello Geek
2

Current Letter : g
Current Letter : k
Current Letter : f
Current Letter : o
Current Letter : r
Current Letter : g
Current Letter : k
1

Hello Geek
Hello Geek
Hello Geek
3
1
2
3
4
No Break

1
3
1
2
3
4
No Break

1
4
1
2
3
4
No Break

1
5

Hello Geek
Hello Geek
Hello Geek
7
Value of i : 13
5
4
3
2
1
1
Hello Geek
Hello Geek
Hello Geek
1
4
3
2
1
2

Hello Geek
Hello Geek
Hello Geek
7
Hello Geek
Hello Geek
Hello Geek
67

Hello Geek
Hello Geek
Hello Geek
68

4
3
2
1
4
4
3
2
1
5
Hello Geek
Hello Geek
Hello Geek
71
Hello Geek
Hello Geek
Hello Geek
72

đầ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 Geek
73

Hello Geek
Hello Geek
Hello Geek
74

Current Letter : g
Current Letter : k
Current Letter : f
Current Letter : o
Current Letter : r
Current Letter : g
Current Letter : k
1

Value of i : 13
5
Hello Geek
Hello Geek
Hello Geek
1
Hello Geek
Hello Geek
Hello Geek
2

Hello Geek
Hello Geek
Hello Geek
3
1
2
3
4
No Break

1
3
Hello Geek
Hello Geek
Hello Geek
Hello Geek
Hello Geek
9# Python program to illustrate7

Hello Geek
Hello Geek
Hello Geek
7
Value of i : 13
5
4
3
2
1
1
Hello Geek
Hello Geek
Hello Geek
1
4
3
2
1
2

Hello Geek
Hello Geek
Hello Geek
7
4
3
2
1
4
Hello Geek
Hello Geek
Hello Geek
90

Hello Geek
Hello Geek
Hello Geek
91_______1_______92
Hello Geek
Hello Geek
Hello Geek
93

Hello Geek
Hello Geek
Hello Geek
7
4
3
2
1
4
4
3
2
1
5
Hello Geek
Hello Geek
Hello Geek
97
4
3
2
1
7

Current Letter : g
Current Letter : k
Current Letter : f
Current Letter : o
Current Letter : r
Current Letter : g
Current Letter : k
1

Value of i : 13
5
Hello Geek
Hello Geek
Hello Geek
1
Hello Geek
Hello Geek
Hello Geek
2

Hello Geek
Hello Geek
Hello Geek
3
1
2
3
4
No Break

1
3
Hello Geek
Hello Geek
Hello Geek
Hello Geek
Hello Geek
9# Python program to illustrate7

Hello Geek
Hello Geek
Hello Geek
7
Value of i : 13
5
4
3
2
1
1
Hello Geek
Hello Geek
Hello Geek
1
4
3
2
1
2

Hello Geek
Hello Geek
Hello Geek
7
4
3
2
1
4
Hello Geek
Hello Geek
Hello Geek
90

Hello Geek
Hello Geek
Hello Geek
7
Hello Geek
Hello Geek
Hello Geek
37

Hello Geek
Hello Geek
Hello Geek
91_______1_______92
4
3
2
1
19

Hello Geek
Hello Geek
Hello Geek
7
4
3
2
1
4
4
3
2
1
5
4
3
2
1
23
4
3
2
1
7

đầ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

Điều gì gây ra một vòng lặp trong khi dừng lại?

Vòng lặp While là cấu trúc lập trình được sử dụng để lặp lại một chuỗi các câu lệnh trong khi điều kiện là Đúng. Chúng dừng khi điều kiện đánh giá là Sai .

Tại sao vòng lặp while của tôi chỉ chạy một lần Python?

Một vòng lặp while thậm chí có thể không thực hiện được một lần nếu điều kiện không được đáp ứng . Tuy nhiên, do-while sẽ chạy một lần, sau đó kiểm tra điều kiện cho các vòng lặp tiếp theo.

Tại sao vòng lặp while của tôi là Python vô hạn?

Một vòng lặp trở thành vòng lặp vô hạn nếu một điều kiện không bao giờ là SAI . Bạn phải thận trọng khi sử dụng vòng lặp while vì có khả năng điều kiện này không bao giờ chuyển thành giá trị FALSE. Điều này dẫn đến một vòng lặp không bao giờ kết thúc. Một vòng lặp như vậy được gọi là một vòng lặp vô hạn.

Các vấn đề khi sử dụng vòng lặp while là gì?

Các lỗi thường gặp khi viết vòng lặp while .
Quên khởi tạo một biến được sử dụng trong điều kiện của vòng lặp. .
Quên cập nhật các biến xuất hiện trong điều kiện của vòng lặp. .
Giảm 1 trong số lần lặp lại