Không giống như câu lệnh i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 2, truy xuất tuần tự các phần tử có thể lặp lại như i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 3, i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 1 lặp lại miễn là biểu thức điều kiện là i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 5
Bài viết này mô tả các nội dung sau
- Cách sử dụng cơ bản của câu lệnh i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 1 trong Python
- Chấm dứt vòng lặp. i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 7
- Tiếp tục chu kỳ tiếp theo. i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 8
- Thực hiện sau khi chấm dứt bình thường. i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 9
- Vòng lặp vô hạn với câu lệnh i = 0
while i < 3:
print(i)
i += 1
# 0
# 1
# 2
1
- Chấm dứt với đầu vào bàn phím
- Buộc chấm dứt
Xem bài viết sau để biết câu lệnh i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 2. Câu lệnh i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 2 phù hợp hơn khi bạn muốn lấy một phần tử chẳng hạn như i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 3 hoặc khi bạn chỉ muốn thực hiện một số lần nhất định
- vòng lặp for trong Python (với phạm vi, liệt kê, zip, v.v. )
Thay vì sử dụng câu lệnh i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 1, vòng lặp vô hạn có thể được triển khai bằng cách sử dụng câu lệnh i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 2 và các chức năng của mô-đun itertools thư viện chuẩn. Vòng lặp vô hạn với bộ đếm, v.v. thường có thể được viết dễ dàng bằng cách sử dụng các chức năng của itertools
- Trình lặp vô hạn trong Python (itertools. đếm, chu kỳ, lặp lại)
Liên kết được tài trợ
Cách sử dụng cơ bản của câu lệnh i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 1 trong Python
Câu lệnh i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 1 trong Python được viết như sau
while expression: ... <do something>
Ví dụ cụ thể như sau
i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2
nguồn.
Bạn có thể chỉ định nhiều điều kiện cho phần i = 0 while i < 3: print(i) if i == 1: print('!!BREAK!!') break i += 1 # 0 # 1 # !!BREAK!! 8 với i = 0 while i < 3: print(i) if i == 1: print('!!BREAK!!') break i += 1 # 0 # 1 # !!BREAK!! 9 hoặc while i < 3: if i == 1: print('!!CONTINUE!!') i += 1 continue print(i) i += 1 # 0 # !!CONTINUE!! # 2 0
- Toán tử Boolean trong Python (and, or, not)
Chấm dứt vòng lặp. i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 7
Sử dụng i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 7 để kết thúc vòng lặp i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 1
i = 0 while i < 3: print(i) if i == 1: print('!!BREAK!!') break i += 1 # 0 # 1 # !!BREAK!!
nguồn.
Tiếp tục chu kỳ tiếp theo. i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 8
Bạn có thể bỏ qua chu kỳ và tiếp tục chu kỳ tiếp theo trước ngày i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 8
i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 7 chấm dứt toàn bộ vòng lặp, nhưng i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 8 chỉ bỏ qua mã sau câu lệnh i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 8 trong chu trình
while i < 3: if i == 1: print('!!CONTINUE!!') i += 1 continue print(i) i += 1 # 0 # !!CONTINUE!! # 2
nguồn.
Lưu ý rằng nếu bạn viết mã cho một biến được sử dụng trong i = 0 while i < 3: print(i) if i == 1: print('!!BREAK!!') break i += 1 # 0 # 1 # !!BREAK!! 8, chẳng hạn như i = 0 while i < 3: print(i) i += 1 else: print('!!FINISH!!') # 0 # 1 # 2 # !!FINISH!! 0 sau i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 8, biến đó sẽ không được cập nhật và vòng lặp sẽ không bị kết thúc đột ngột
Việc chấm dứt bắt buộc được mô tả ở cuối
Liên kết được tài trợ
Thực hiện sau khi chấm dứt bình thường. i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 9
Sử dụng i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 9 để thực hiện một cái gì đó sau khi vòng lặp đã hoàn thành thành công
i = 0 while i < 3: print(i) i += 1 else: print('!!FINISH!!') # 0 # 1 # 2 # !!FINISH!!
nguồn.
Nếu vòng lặp kết thúc bởi i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 7, bộ trong mệnh đề i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 9 không được thực thi
i = 0 while i < 3: print(i) if i == 1: print('!!BREAK!!') break i += 1 else: print('!!FINISH!!') # 0 # 1 # !!BREAK!!
nguồn.
Trong trường hợp của i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 8, bộ trong mệnh đề i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 9 được thực thi
i = 0 while i < 3: if i == 1: print('!!SKIP!!') i += 1 continue print(i) i += 1 else: print('!!FINISH!!') # 0 # !!SKIP!! # 2 # !!FINISH!!
nguồn.
Vòng lặp vô hạn với câu lệnh i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 1
Nếu biểu thức điều kiện trong câu lệnh i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 1 luôn là i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 5, vòng lặp sẽ không bao giờ kết thúc và quá trình thực hiện được lặp lại vô tận
Trong ví dụ sau, thời gian UNIX được lấy bởi i = 0 while i < 3: print(i) if i == 1: print('!!BREAK!!') break i += 1 else: print('!!FINISH!!') # 0 # 1 # !!BREAK!! 1 và thời gian đã trôi qua được đo để đặt điều kiện cho i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 7
import time start = time.time() while True: time.sleep(1) print('processing...') if time.time() - start > 5: print('!!BREAK!!') break # processing... # processing... # processing... # processing... # processing... # !!BREAK!!
nguồn.
Ví dụ: một số khác 0 hoặc một chuỗi không trống được coi là i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 5, do đó, thậm chí là i = 0 while i < 3: print(i) if i == 1: print('!!BREAK!!') break i += 1 else: print('!!FINISH!!') # 0 # 1 # !!BREAK!! 4, v.v. sẽ dẫn đến một vòng lặp vô hạn
- Chuyển đổi bool (True, False) và các loại khác với nhau trong Python
start = time.time() while 1: time.sleep(1) print('processing...') if time.time() - start > 5: print('!!BREAK!!') break # processing... # processing... # processing... # processing... # processing... # !!BREAK!!
nguồn.
Trong mã mẫu ở trên, vòng lặp vô hạn được sử dụng để giải thích, nhưng thao tác tương tự có thể được viết mà không cần vòng lặp vô hạn như minh họa bên dưới
start = time.time() while time.time() - start <= 5: time.sleep(1) print('processing...') else: print('!!FINISH!!') # processing... # processing... # processing... # processing... # processing... # !!FINISH!!
nguồn.
Chấm dứt với đầu vào bàn phím
Để kết thúc vòng lặp vô hạn bằng cách nhập bàn phím thay vì cài đặt i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 7, hãy bắt i = 0 while i < 3: print(i) if i == 1: print('!!BREAK!!') break i += 1 else: print('!!FINISH!!') # 0 # 1 # !!BREAK!! 6 bằng cách i = 0 while i < 3: print(i) if i == 1: print('!!BREAK!!') break i += 1 else: print('!!FINISH!!') # 0 # 1 # !!BREAK!! 7
i = 0 while i < 3: print(i) i += 1 # 0 # 1 # 2 0
nguồn.
Nếu bạn nhấn i = 0 while i < 3: print(i) if i == 1: print('!!BREAK!!') break i += 1 else: print('!!FINISH!!') # 0 # 1 # !!BREAK!! 7 tại thiết bị đầu cuối đang chạy (Mac) hoặc dấu nhắc lệnh (Windows i = 0 while i < 3: print(i) if i == 1: print('!!BREAK!!') break i += 1 else: print('!!FINISH!!') # 0 # 1 # !!BREAK!! 9), vòng lặp while sẽ kết thúc và mệnh đề i = 0 while i < 3: if i == 1: print('!!SKIP!!') i += 1 continue print(i) i += 1 else: print('!!FINISH!!') # 0 # !!SKIP!! # 2 # !!FINISH!! 0 được thực thi
Xem bài viết sau để xử lý ngoại lệ
- "thử. ngoại trừ. khác. Cuối cùng. " bằng Python
Buộc chấm dứt
Nếu bạn đặt sai biểu thức điều kiện, quá trình có thể bất ngờ rơi vào một vòng lặp vô tận và không bao giờ kết thúc