Lặp đi lặp lại có nghĩa là thực thi lặp đi lặp lại cùng một khối mã, có khả năng là nhiều lần. Cấu trúc lập trình thực hiện phép lặp được gọi là vòng lặp
Trong lập trình, có hai loại lặp, không xác định và xác định
Với phép lặp vô thời hạn, số lần vòng lặp được thực thi không được chỉ định rõ ràng trước. Thay vào đó, khối được chỉ định được thực thi lặp đi lặp lại miễn là một số điều kiện được đáp ứng
Với phép lặp xác định, số lần khối được chỉ định sẽ được thực thi được chỉ định rõ ràng tại thời điểm vòng lặp bắt đầu
Trong hướng dẫn này, bạn sẽ
- Tìm hiểu về vòng lặp
6, cấu trúc điều khiển Python được sử dụng cho phép lặp vô thời hạn>>> n = 0 >>> while n > 0: .. n -= 1 .. print[n] ...
- Xem cách thoát ra khỏi vòng lặp hoặc vòng lặp sớm
- Khám phá vòng lặp vô tận
Khi hoàn thành, bạn nên nắm rõ cách sử dụng phép lặp vô thời hạn trong Python
Tiền thưởng miễn phí. Nhấp vào đây để nhận Bảng cheat Python miễn phí của chúng tôi, trang này cho bạn biết kiến thức cơ bản về Python 3, như làm việc với các kiểu dữ liệu, từ điển, danh sách và hàm Python
Lấy bài kiểm tra. Kiểm tra kiến thức của bạn với bài kiểm tra tương tác “Vòng lặp "trong khi" của Python". Sau khi hoàn thành, bạn sẽ nhận được điểm số để có thể theo dõi quá trình học tập của mình theo thời gian
Lấy bài kiểm tra "
Vòng lặp >>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6
>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
Hãy xem cách câu lệnh
>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6 của Python được sử dụng để xây dựng các vòng lặp. Chúng tôi sẽ bắt đầu đơn giản và tô điểm khi chúng tôi điĐịnh dạng của vòng lặp
>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6 thô sơ được hiển thị bên dướiwhile :
>>> a = ['foo', 'bar', 'baz']
>>> while a:
.. print[a.pop[-1]]
...
baz
bar
foo
0 đại diện cho khối được thực thi lặp đi lặp lại, thường được gọi là phần thân của vòng lặp. Điều này được biểu thị bằng thụt đầu dòng, giống như trong câu lệnh >>> a = ['foo', 'bar', 'baz']
>>> while a:
.. print[a.pop[-1]]
...
baz
bar
foo
1Nhớ. Tất cả các cấu trúc điều khiển trong Python đều sử dụng thụt đầu dòng để xác định các khối. Xem phần thảo luận trong hướng dẫn trước để xem lại
Biểu thức điều khiển,
>>> a = ['foo', 'bar', 'baz']
>>> while a:
.. print[a.pop[-1]]
...
baz
bar
foo
2, thường bao gồm một hoặc nhiều biến được khởi tạo trước khi bắt đầu vòng lặp và sau đó được sửa đổi ở đâu đó trong thân vòng lặpKhi gặp phải vòng lặp
>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6, đầu tiên >>> a = ['foo', 'bar', 'baz']
>>> while a:
.. print[a.pop[-1]]
...
baz
bar
foo
2 được đánh giá trong. Nếu đúng, thân vòng lặp được thực thi. Sau đó, >>> a = ['foo', 'bar', 'baz']
>>> while a:
.. print[a.pop[-1]]
...
baz
bar
foo
2 được kiểm tra lại và nếu vẫn đúng, phần thân được thực hiện lại. Điều này tiếp tục cho đến khi >>> a = ['foo', 'bar', 'baz']
>>> while a:
.. print[a.pop[-1]]
...
baz
bar
foo
2 trở thành sai, tại thời điểm đó, việc thực thi chương trình sẽ chuyển sang câu lệnh đầu tiên bên ngoài thân vòng lặpHãy xem xét vòng lặp này
>>>
1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
Đây là những gì đang xảy ra trong ví dụ này
7 ban đầu là>>> a = ['foo', 'bar', 'baz'] >>> while a: .. print[a.pop[-1]] ... baz bar foo
8. Biểu thức trong tiêu đề câu lệnh>>> a = ['foo', 'bar', 'baz'] >>> while a: .. print[a.pop[-1]] ... baz bar foo
6 ở dòng 2 là>>> n = 0 >>> while n > 0: .. n -= 1 .. print[n] ...
0, giá trị này đúng, vì vậy phần thân vòng lặp sẽ thực thi. Bên trong phần thân vòng lặp ở dòng 3,1n = 5 2while n > 0: 3 n -= 1 4 if n == 2: 5 break 6 print[n] 7print['Loop ended.']
7 được giảm đi từ>>> a = ['foo', 'bar', 'baz'] >>> while a: .. print[a.pop[-1]] ... baz bar foo
2 thành1n = 5 2while n > 0: 3 n -= 1 4 if n == 2: 5 break 6 print[n] 7print['Loop ended.']
3, sau đó được in ra1n = 5 2while n > 0: 3 n -= 1 4 if n == 2: 5 break 6 print[n] 7print['Loop ended.']
Khi phần thân của vòng lặp kết thúc, việc thực thi chương trình quay trở lại đầu vòng lặp ở dòng 2 và biểu thức được đánh giá lại. Nó vẫn đúng, vì vậy phần thân thực thi lại và
4 được in ra1n = 5 2while n > 0: 3 n -= 1 4 if n == 2: 5 break 6 print[n] 7print['Loop ended.']
Điều này tiếp tục cho đến khi
7 trở thành>>> a = ['foo', 'bar', 'baz'] >>> while a: .. print[a.pop[-1]] ... baz bar foo
6. Tại thời điểm đó, khi biểu thức được kiểm tra, nó sai và vòng lặp kết thúc. Quá trình thực thi sẽ tiếp tục ở câu lệnh đầu tiên sau thân vòng lặp, nhưng không có câu lệnh nào trong trường hợp này1n = 5 2while n > 0: 3 n -= 1 4 if n == 2: 5 break 6 print[n] 7print['Loop ended.']
Lưu ý rằng biểu thức điều khiển của vòng lặp
>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6 được kiểm tra trước, trước khi bất kỳ điều gì khác xảy ra. Nếu bắt đầu là false, thân vòng lặp sẽ không bao giờ được thực thi>>>
>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
Trong ví dụ trên, khi gặp vòng lặp,
>>> a = ['foo', 'bar', 'baz']
>>> while a:
.. print[a.pop[-1]]
...
baz
bar
foo
7 là 1n = 5
2while n > 0:
3 n -= 1
4 if n == 2:
5 break
6 print[n]
7print['Loop ended.']
6. Biểu thức điều khiển 1n = 5
2while n > 0:
3 n -= 1
4 if n == 2:
5 break
6 print[n]
7print['Loop ended.']
0 đã là false nên thân vòng lặp không bao giờ thực thiĐây là một vòng lặp
>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6 khác liên quan đến một danh sách, thay vì so sánh số>>>
>>> a = ['foo', 'bar', 'baz']
>>> while a:
.. print[a.pop[-1]]
...
baz
bar
foo
Khi a , nó là thật nếu nó có các phần tử trong đó và sai nếu nó trống. Trong ví dụ này,
C:\Users\john\Documents>python break.py
4
3
Loop ended.
2 là đúng miễn là nó có các phần tử trong đó. Sau khi tất cả các mục đã bị xóa bằng phương thức C:\Users\john\Documents>python break.py
4
3
Loop ended.
3 và danh sách trống, thì ______30_______2 là sai và vòng lặp kết thúcLoại bỏ các quảng cáoCâu lệnh C:\Users\john\Documents>python break.py
4
3
Loop ended.
5 và C:\Users\john\Documents>python break.py
4
3
Loop ended.
6 của Python
C:\Users\john\Documents>python break.py
4
3
Loop ended.
C:\Users\john\Documents>python break.py
4
3
Loop ended.
Trong mỗi ví dụ mà bạn đã thấy cho đến nay, toàn bộ phần thân của vòng lặp
>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6 được thực thi trên mỗi lần lặp. Python cung cấp hai từ khóa kết thúc sớm vòng lặpCâu lệnh Python
5 ngay lập tức chấm dứt hoàn toàn một vòng lặp. Việc thực thi chương trình tiếp tục với câu lệnh đầu tiên sau thân vòng lặpC:\Users\john\Documents>python break.py 4 3 Loop ended.
Câu lệnh Python
6 ngay lập tức chấm dứt vòng lặp hiện tại. Việc thực thi nhảy lên đầu vòng lặp và biểu thức điều khiển được đánh giá lại để xác định liệu vòng lặp sẽ thực hiện lại hay chấm dứtC:\Users\john\Documents>python break.py 4 3 Loop ended.
Sự khác biệt giữa
C:\Users\john\Documents>python break.py
4
3
Loop ended.
5 và C:\Users\john\Documents>python break.py
4
3
Loop ended.
6 được thể hiện trong sơ đồ sauĐây là một tệp kịch bản có tên là
1n = 5
2while n > 0:
3 n -= 1
4 if n == 2:
5 continue
6 print[n]
7print['Loop ended.']
2 thể hiện câu lệnh C:\Users\john\Documents>python break.py
4
3
Loop ended.
5 1n = 5
2while n > 0:
3 n -= 1
4 if n == 2:
5 break
6 print[n]
7print['Loop ended.']
Chạy
1n = 5
2while n > 0:
3 n -= 1
4 if n == 2:
5 continue
6 print[n]
7print['Loop ended.']
2 từ trình thông dịch dòng lệnh tạo ra kết quả sauC:\Users\john\Documents>python break.py
4
3
Loop ended.
Khi
>>> a = ['foo', 'bar', 'baz']
>>> while a:
.. print[a.pop[-1]]
...
baz
bar
foo
7 trở thành 1n = 5
2while n > 0:
3 n -= 1
4 if n == 2:
5 continue
6 print[n]
7print['Loop ended.']
6, câu lệnh C:\Users\john\Documents>python break.py
4
3
Loop ended.
5 được thực thi. Vòng lặp kết thúc hoàn toàn và quá trình thực thi chương trình chuyển sang câu lệnh 1n = 5
2while n > 0:
3 n -= 1
4 if n == 2:
5 continue
6 print[n]
7print['Loop ended.']
8 trên dòng 7Ghi chú. Nếu nền tảng lập trình của bạn là C, C++, Java hoặc JavaScript, thì bạn có thể tự hỏi vòng lặp do-while của Python ở đâu. Chà, tin xấu là Python không có cấu trúc do-while. Nhưng tin tốt là bạn có thể sử dụng vòng lặp
>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6 với câu lệnh C:\Users\john\Documents>python break.py
4
3
Loop ended.
5 để mô phỏng nóChữ viết tiếp theo,
C:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
1, giống hệt ngoại trừ câu lệnh C:\Users\john\Documents>python break.py
4
3
Loop ended.
6 thay cho câu lệnh C:\Users\john\Documents>python break.py
4
3
Loop ended.
5 1n = 5
2while n > 0:
3 n -= 1
4 if n == 2:
5 continue
6 print[n]
7print['Loop ended.']
Đầu ra của
C:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
1 trông như thế nàyC:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
Lần này, khi
>>> a = ['foo', 'bar', 'baz']
>>> while a:
.. print[a.pop[-1]]
...
baz
bar
foo
7 là 1n = 5
2while n > 0:
3 n -= 1
4 if n == 2:
5 continue
6 print[n]
7print['Loop ended.']
6, câu lệnh C:\Users\john\Documents>python break.py
4
3
Loop ended.
6 gây ra sự chấm dứt của phép lặp đó. Do đó, 1n = 5
2while n > 0:
3 n -= 1
4 if n == 2:
5 continue
6 print[n]
7print['Loop ended.']
6 không được in. Thực thi trở lại đầu vòng lặp, điều kiện được đánh giá lại và nó vẫn đúng. Vòng lặp tiếp tục, kết thúc khi >>> a = ['foo', 'bar', 'baz']
>>> while a:
.. print[a.pop[-1]]
...
baz
bar
foo
7 trở thành 1n = 5
2while n > 0:
3 n -= 1
4 if n == 2:
5 break
6 print[n]
7print['Loop ended.']
6, như trước đâyĐiều khoản while :
else:
1
while :
else:
Python cho phép một mệnh đề
while :
else:
1 tùy chọn ở cuối vòng lặp >>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6. Đây là một tính năng độc đáo của Python, không có trong hầu hết các ngôn ngữ lập trình khác. Cú pháp được hiển thị bên dướiwhile :
else:
while :
else:
4 được chỉ định trong mệnh đề while :
else:
1 sẽ được thực thi khi vòng lặp >>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6 kết thúcHiện tại, bạn có thể đang nghĩ, “Điều đó hữu ích như thế nào?”
while :
Có gì khác biệt?
Trong trường hợp sau, nếu không có mệnh đề
while :
else:
1, thì while :
else:
4 sẽ được thực hiện sau khi vòng lặp >>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6 kết thúc, bất kể điều gì xảy raKhi
while :
else:
4 được đặt trong mệnh đề while :
else:
1, chúng sẽ chỉ được thực thi nếu vòng lặp kết thúc “do hết”—nghĩa là, nếu vòng lặp lặp lại cho đến khi điều kiện kiểm soát trở thành sai. Nếu vòng lặp bị thoát bởi câu lệnh C:\Users\john\Documents>python break.py
4
3
Loop ended.
5, thì mệnh đề while :
else:
1 sẽ không được thực thiXem xét ví dụ sau
>>>
1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
0Trong trường hợp này, vòng lặp lặp lại cho đến khi hết điều kiện.
>>> a = ['foo', 'bar', 'baz']
>>> while a:
.. print[a.pop[-1]]
...
baz
bar
foo
7 trở thành 1n = 5
2while n > 0:
3 n -= 1
4 if n == 2:
5 break
6 print[n]
7print['Loop ended.']
6, vì vậy 1n = 5
2while n > 0:
3 n -= 1
4 if n == 2:
5 break
6 print[n]
7print['Loop ended.']
0 trở thành sai. Bởi vì vòng lặp tồn tại trong cuộc sống tự nhiên của nó, nên có thể nói, mệnh đề while :
else:
1 đã được thực thi. Bây giờ hãy quan sát sự khác biệt ở đây>>>
1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
1Vòng lặp này kết thúc sớm với
C:\Users\john\Documents>python break.py
4
3
Loop ended.
5, vì vậy mệnh đề while :
else:
1 không được thực thiCó vẻ như ý nghĩa của từ
while :
else:
1 không hoàn toàn phù hợp với vòng lặp >>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6 cũng như với câu lệnh >>> a = ['foo', 'bar', 'baz']
>>> while a:
.. print[a.pop[-1]]
...
baz
bar
foo
1. Guido van Rossum, người tạo ra Python, đã thực sự nói rằng, nếu anh ấy phải làm lại từ đầu, anh ấy sẽ bỏ mệnh đề while :
else:
1 của vòng lặp >>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6 ra khỏi ngôn ngữMột trong những cách giải thích sau đây có thể giúp làm cho nó trực quan hơn
Hãy nghĩ về tiêu đề của vòng lặp [
07] như một câu lệnh1>>> n = 5 2>>> while n > 0: 3.. n -= 1 4.. print[n] 5... 64 73 82 91 100
1 [>>> a = ['foo', 'bar', 'baz'] >>> while a: .. print[a.pop[-1]] ... baz bar foo
09] được thực hiện lặp đi lặp lại, với mệnh đề1>>> n = 5 2>>> while n > 0: 3.. n -= 1 4.. print[n] 5... 64 73 82 91 100
1 cuối cùng được thực hiện khi điều kiện trở thành saiwhile : else:
Hãy nghĩ về
1 như thể nó làwhile : else:
12, trong đó khối tiếp theo sẽ được thực thi nếu không có1>>> n = 5 2>>> while n > 0: 3.. n -= 1 4.. print[n] 5... 64 73 82 91 100
5C:\Users\john\Documents>python break.py 4 3 Loop ended.
Nếu bạn không thấy một trong những cách giải thích này hữu ích, thì vui lòng bỏ qua chúng
Khi nào mệnh đề
while :
else:
1 trên vòng lặp >>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6 có thể hữu ích? . Bạn có thể sử dụng C:\Users\john\Documents>python break.py
4
3
Loop ended.
5 để thoát khỏi vòng lặp nếu vật phẩm được tìm thấy và mệnh đề while :
else:
1 có thể chứa mã có nghĩa là sẽ được thực thi nếu vật phẩm không được tìm thấy>>>
1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
2Ghi chú. Mã được hiển thị ở trên rất hữu ích để minh họa khái niệm này, nhưng thực tế bạn sẽ rất khó tìm kiếm danh sách theo cách đó
Trước hết, danh sách thường được xử lý với phép lặp xác định, không phải vòng lặp
>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6. Phép lặp xác định được trình bày trong hướng dẫn tiếp theo của loạt bài nàyThứ hai, Python cung cấp các cách tích hợp để tìm kiếm một mục trong danh sách. Bạn có thể sử dụng toán tử
1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
19>>>
1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
3Phương pháp
1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
20 cũng sẽ hoạt động. Phương pháp này đưa ra một ngoại lệ 1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
21 nếu mục không được tìm thấy trong danh sách, vì vậy bạn cần hiểu cách xử lý ngoại lệ để sử dụng nó. Trong Python, bạn sử dụng câu lệnh 1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
22 để xử lý một ngoại lệ. Một ví dụ được đưa ra dưới đây>>>
1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
4Bạn sẽ tìm hiểu về xử lý ngoại lệ ở phần sau của loạt bài này
Mệnh đề
while :
else:
1 với vòng lặp >>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6 hơi lạ, không thường thấy. Nhưng đừng né tránh nó nếu bạn tìm thấy một tình huống mà bạn cảm thấy nó mang lại sự rõ ràng cho mã của bạnLoại bỏ các quảng cáoVòng lặp vô hạn
Giả sử bạn viết một vòng lặp
>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6 mà theo lý thuyết sẽ không bao giờ kết thúc. Nghe có vẻ kỳ lạ, phải không?Hãy xem xét ví dụ này
>>>
1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
5Mã này đã bị kết thúc bởi Ctrl + C , . Nếu không, nó sẽ tiếp tục vô tận. Nhiều dòng đầu ra
1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
26 đã bị xóa và thay thế bằng dấu chấm lửng dọc trong đầu ra được hiển thị. Rõ ràng,
1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
27 sẽ không bao giờ sai, nếu không tất cả chúng ta sẽ gặp rắc rối lớn. Do đó, 1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
28 bắt đầu một vòng lặp vô hạn về mặt lý thuyết sẽ chạy mãi mãiCó thể đó không phải là điều bạn muốn làm, nhưng mô hình này thực sự khá phổ biến. Ví dụ: bạn có thể viết mã cho một dịch vụ khởi động và chạy mãi mãi chấp nhận các yêu cầu dịch vụ. “Mãi mãi” trong ngữ cảnh này có nghĩa là cho đến khi bạn tắt nó hoặc cho đến khi vũ trụ chết vì nhiệt, tùy theo điều kiện nào đến trước
Thông thường hơn, hãy nhớ rằng các vòng lặp có thể được tách ra bằng câu lệnh
C:\Users\john\Documents>python break.py
4
3
Loop ended.
5. Việc kết thúc một vòng lặp có thể đơn giản hơn dựa trên các điều kiện được ghi nhận trong thân vòng lặp, thay vì dựa trên một điều kiện được đánh giá ở trên cùngĐây là một biến thể khác của vòng lặp được hiển thị ở trên, loại bỏ liên tiếp các mục khỏi danh sách bằng cách sử dụng
C:\Users\john\Documents>python break.py
4
3
Loop ended.
3 cho đến khi nó trống>>>
1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
6Khi
C:\Users\john\Documents>python break.py
4
3
Loop ended.
2 trở thành trống, 1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
32 trở thành true và câu lệnh C:\Users\john\Documents>python break.py
4
3
Loop ended.
5 thoát khỏi vòng lặpBạn cũng có thể chỉ định nhiều câu lệnh
C:\Users\john\Documents>python break.py
4
3
Loop ended.
5 trong một vòng lặp 1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
7Trong những trường hợp như thế này, khi có nhiều lý do để kết thúc vòng lặp, thì việc
C:\Users\john\Documents>python break.py
4
3
Loop ended.
5 từ một số vị trí khác nhau sẽ dễ dàng hơn thay vì cố gắng chỉ định tất cả các điều kiện kết thúc trong tiêu đề vòng lặpVòng lặp vô hạn có thể rất hữu ích. Chỉ cần nhớ rằng bạn phải đảm bảo rằng vòng lặp sẽ bị phá vỡ vào một thời điểm nào đó, để nó không thực sự trở thành vô hạn
Vòng lặp >>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6 lồng nhau
>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
Nói chung, các cấu trúc điều khiển Python có thể được lồng vào nhau. Ví dụ:
>>> a = ['foo', 'bar', 'baz']
>>> while a:
.. print[a.pop[-1]]
...
baz
bar
foo
1/ 1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
38/while :
else:
1 có thể lồng vào nhau 1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
8Tương tự, một vòng lặp
>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6 có thể được chứa bên trong một vòng lặp >>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6 khác, như được hiển thị ở đây>>>
1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
9Một câu lệnh
C:\Users\john\Documents>python break.py
4
3
Loop ended.
5 hoặc C:\Users\john\Documents>python break.py
4
3
Loop ended.
6 được tìm thấy trong các vòng lặp lồng nhau áp dụng cho vòng lặp kèm theo gần nhất>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
0Ngoài ra, các vòng lặp
>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6 có thể được lồng bên trong các câu lệnh >>> a = ['foo', 'bar', 'baz']
>>> while a:
.. print[a.pop[-1]]
...
baz
bar
foo
1/ 1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
38/while :
else:
1 và ngược lại>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
1>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
2Trên thực tế, tất cả các cấu trúc điều khiển Python có thể được trộn lẫn với nhau ở bất kỳ mức độ nào bạn cần. Đó là như nó phải được. Hãy tưởng tượng sẽ bực bội như thế nào nếu có những hạn chế bất ngờ như “Không thể chứa vòng lặp
>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6 trong câu lệnh >>> a = ['foo', 'bar', 'baz']
>>> while a:
.. print[a.pop[-1]]
...
baz
bar
foo
1” hoặc “vòng lặp ______0_______6 chỉ có thể được lồng vào nhau tối đa bốn vòng sâu. ” Bạn sẽ rất khó nhớ hết chúngCác giới hạn logic hoặc số dường như tùy ý được coi là dấu hiệu của thiết kế ngôn ngữ chương trình kém. May mắn thay, bạn sẽ không tìm thấy nhiều trong Python
Loại bỏ các quảng cáoVòng lặp một dòng >>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6
>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
Như với câu lệnh
>>> a = ['foo', 'bar', 'baz']
>>> while a:
.. print[a.pop[-1]]
...
baz
bar
foo
1, vòng lặp >>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6 có thể được chỉ định trên 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 [ 1>>> n = 5
2>>> while n > 0:
3.. n -= 1
4.. print[n]
5...
64
73
82
91
100
54]>>>
>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
3Điều này chỉ hoạt động với các câu lệnh đơn giản. Bạn không thể kết hợp hai câu lệnh ghép thành một dòng. Do đó, bạn có thể chỉ định tất cả vòng lặp
>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6 trên một dòng như trên và bạn viết câu lệnh >>> a = ['foo', 'bar', 'baz']
>>> while a:
.. print[a.pop[-1]]
...
baz
bar
foo
1 trên một dòng>>>
>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
4Nhưng bạn không thể làm điều này
>>>
>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
5Hãy nhớ rằng không khuyến khích nhiều câu lệnh trên một dòng. Vì vậy, dù sao đi nữa, có lẽ bạn không nên làm bất kỳ điều gì trong số này thường xuyên
Phần kết luận
Trong hướng dẫn này, bạn đã học về phép lặp vô thời hạn bằng cách sử dụng vòng lặp
>>> n = 0
>>> while n > 0:
.. n -= 1
.. print[n]
...
6 của Python. Bây giờ bạn có thể- Xây dựng các vòng lặp
6 cơ bản và phức tạp>>> n = 0 >>> while n > 0: .. n -= 1 .. print[n] ...
- Thực hiện vòng lặp ngắt với
5 vàC:\Users\john\Documents>python break.py 4 3 Loop ended.
6C:\Users\john\Documents>python break.py 4 3 Loop ended.
- Sử dụng mệnh đề
1 với vòng lặpwhile : else:
6>>> n = 0 >>> while n > 0: .. n -= 1 .. print[n] ...
- Xử lý các vòng lặp vô hạn
Bây giờ bạn đã nắm rõ cách thực thi lặp đi lặp lại một đoạn mã
Lấy bài kiểm tra. Kiểm tra kiến thức của bạn với bài kiểm tra tương tác “Vòng lặp "trong khi" của Python". Sau khi hoàn thành, bạn sẽ nhận được điểm số để có thể theo dõi quá trình học tập của mình theo thời gian
Lấy bài kiểm tra "
Hướng dẫn tiếp theo trong loạt bài này đề cập đến phép lặp xác định với ____12_______63 vòng lặp—thực hiện lặp lại trong đó số lần lặp lại được chỉ định rõ ràng
« Câu lệnh có điều kiện trong Python
Vòng lặp "cho" Python »
Đánh dấu là đã hoàn thành
Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Làm chủ vòng lặp While
🐍 Thủ thuật Python 💌
Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python
Gửi cho tôi thủ thuật Python »
Giới thiệu về John Sturtz
John là một Pythonista cuồng nhiệt và là thành viên của nhóm hướng dẫn Real Python
» Thông tin thêm về JohnMỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là
Aldren
Joanna
Kyle
Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực
Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia
Nâng cao kỹ năng Python của bạn »
Chuyên gia Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực
Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia
Nâng cao kỹ năng Python của bạn »
Bạn nghĩ sao?
Đánh giá bài viết này
Tweet Chia sẻ Chia sẻ EmailBài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?
Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi