Vòng lặp while trong lập trình C lặp đi lặp lại việc thực thi một câu lệnh đích miễn là một điều kiện nhất định là đúng
cú pháp
Cú pháp của vòng lặp while trong ngôn ngữ lập trình C là -
while[condition] { statement[s]; }
Ở đây, [các] câu lệnh có thể là một câu lệnh đơn lẻ hoặc một khối các câu lệnh. Điều kiện có thể là bất kỳ biểu thức nào và true là bất kỳ giá trị khác không nào. Vòng lặp lặp khi điều kiện đúng
Khi điều kiện trở thành sai, điều khiển chương trình chuyển đến dòng ngay sau vòng lặp
sơ đồ dòng chảy
Ở đây, điểm mấu chốt cần lưu ý là vòng lặp while có thể không thực hiện được. Khi điều kiện được kiểm tra và kết quả là sai, thân vòng lặp sẽ bị bỏ qua và câu lệnh đầu tiên sau vòng lặp while sẽ được thực hiện
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
Hello Geek Hello Geek Hello Geek05
Hello Geek Hello Geek Hello Geek06
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____20____21
Hello Geek Hello Geek Hello Geek0
while expression: statement[s]31
while expression: statement[s]32
Hello Geek Hello Geek Hello Geek7____134
while expression: statement[s]35____136
while expression: statement[s]37
Đầ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
while expression: statement[s]38
while expression: statement[s]39
Hello Geek Hello Geek Hello Geek30
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek32
while expression: statement[s]32
Hello Geek Hello Geek Hello Geek34
Hello Geek Hello Geek Hello Geek35
Hello Geek Hello Geek Hello Geek34
Hello Geek Hello Geek Hello Geek5
Hello Geek Hello Geek Hello Geek34
Hello Geek Hello Geek Hello Geek39
Hello Geek Hello Geek Hello Geek30
Hello Geek Hello Geek Hello Geek31
Hello Geek Hello Geek Hello Geek3
Hello Geek Hello Geek Hello Geek33
Hello Geek Hello Geek Hello Geek7____134
Hello Geek Hello Geek Hello Geek36
Đầu ra
while expression: statement[s]3
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
Hello Geek Hello Geek Hello Geek37
Hello Geek Hello Geek Hello Geek38
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 Geek84
Hello Geek Hello Geek Hello Geek85
while expression: statement[s]31
Hello Geek Hello Geek Hello Geek1
while expression: statement[s]32
Hello Geek Hello Geek Hello Geek89
while expression: statement[s]34
while expression: statement[s]35
while expression: statement[s]36
while expression: statement[s]37
đầu ra.
Hello Geek Hello Geek Hello Geek3
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
Ví dụ. Vòng lặp while trong Python với câu lệnh continue
Python3
Hello Geek Hello Geek Hello Geek94
Hello Geek Hello Geek Hello Geek95
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek2
Hello Geek Hello Geek Hello Geek30
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek50
Hello Geek Hello Geek Hello Geek31
Hello Geek Hello Geek Hello Geek3
Hello Geek Hello Geek Hello Geek53____654
Hello Geek Hello Geek Hello Geek55
Hello Geek Hello Geek Hello Geek7_______657
Hello Geek Hello Geek Hello Geek58
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek051
Hello Geek Hello Geek Hello Geek052
Hello Geek Hello Geek Hello Geek58
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek056
Hello Geek Hello Geek Hello Geek057
Hello Geek Hello Geek Hello Geek058
Hello Geek Hello Geek Hello Geek95
while expression: statement[s]31
Hello Geek Hello Geek Hello Geek1
while expression: statement[s]32
Hello Geek Hello Geek Hello Geek058
Hello Geek Hello Geek Hello Geek064
Hello Geek Hello Geek Hello Geek065
Hello Geek Hello Geek Hello Geek7______134____135____2069
Hello Geek Hello Geek Hello Geek00
Hello Geek Hello Geek Hello Geek7____595
while expression: statement[s]31
Hello Geek Hello Geek Hello Geek1
while expression: statement[s]32
đầu ra.
Hello Geek Hello Geek Hello Geek3
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
Ví 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
Hello Geek Hello Geek Hello Geek95
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek2
Hello Geek Hello Geek Hello Geek30
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek50
Hello Geek Hello Geek Hello Geek31
Hello Geek Hello Geek Hello Geek3
Hello Geek Hello Geek Hello Geek53____654
Hello Geek Hello Geek Hello Geek55
Hello Geek Hello Geek Hello Geek7_______657
Hello Geek Hello Geek Hello Geek58
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek051
Hello Geek Hello Geek Hello Geek052
Hello Geek Hello Geek Hello Geek58
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek056
Hello Geek Hello Geek Hello Geek057
Hello Geek Hello Geek Hello Geek058
Hello Geek Hello Geek Hello Geek95
while expression: statement[s]31
Hello Geek Hello Geek Hello Geek1
while expression: statement[s]32
Hello Geek Hello Geek Hello Geek058
Hello Geek Hello Geek Hello Geek37
Hello Geek Hello Geek Hello Geek065
Hello Geek Hello Geek Hello Geek7______134____135____2069
Hello Geek Hello Geek Hello Geek00
Hello Geek Hello Geek Hello Geek7____595
while expression: statement[s]31
Hello Geek Hello Geek Hello Geek1
while expression: statement[s]32
đầu ra.
Hello Geek Hello Geek Hello Geek8
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
Ví 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 Geek30
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek50
Hello Geek Hello Geek Hello Geek95
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek2
Hello Geek Hello Geek Hello Geek31
Hello Geek Hello Geek Hello Geek3
Hello Geek Hello Geek Hello Geek53____654
Hello Geek Hello Geek Hello Geek55
Hello Geek Hello Geek Hello Geek7____595
while expression: statement[s]31
Hello Geek Hello Geek Hello Geek1
while expression: statement[s]32
Hello Geek Hello Geek Hello Geek7____267
Hello Geek Hello Geek Hello Geek68
while expression: statement[s]34
while expression: statement[s]35____271
Hello Geek Hello Geek Hello Geek72
đầu ra.
Hello Geek Hello Geek Hello Geek9
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
Hello Geek Hello Geek Hello Geek31
Hello Geek Hello Geek Hello Geek95
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek2
Hello Geek Hello Geek Hello Geek3
Hello Geek Hello Geek Hello Geek53____239
Hello Geek Hello Geek Hello Geek057
Hello Geek Hello Geek Hello Geek7____595
while expression: statement[s]31
Hello Geek Hello Geek Hello Geek1
while expression: statement[s]32
Hello Geek Hello Geek Hello Geek7____134
Hello Geek Hello Geek Hello Geek90
________ 291 ________ 292 ________ 293
_______27____134____135____297
while expression: statement[s]37
Hello Geek Hello Geek Hello Geek31
Hello Geek Hello Geek Hello Geek95
Hello Geek Hello Geek Hello Geek1
Hello Geek Hello Geek Hello Geek2
Hello Geek Hello Geek Hello Geek3
Hello Geek Hello Geek Hello Geek53____239
Hello Geek Hello Geek Hello Geek057
Hello Geek Hello Geek Hello Geek7____595
while expression: statement[s]31
Hello Geek Hello Geek Hello Geek1
while expression: statement[s]32
Hello Geek Hello Geek Hello Geek7____134
Hello Geek Hello Geek Hello Geek90
Hello Geek Hello Geek Hello Geek7____237
Hello Geek Hello Geek Hello Geek91____292____1319
Hello Geek Hello Geek Hello Geek7______134
while expression: statement[s]35____1323
while expression: statement[s]37
đầu ra.
Hello Geek Hello Geek Hello Geek5
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