Hướng dẫn infinite loop and break in python - vòng lặp vô hạn và ngắt trong python

Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: Làm chủ trong khi các vòng lặp This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Mastering While Loops

Show

Lặp đi lặp lại có nghĩa là thực thi cùng một khối mã nhiều lần, có khả năng nhiều lần. Một cấu trúc lập trình thực hiện lặp lại được gọi là một vòng lặp. means executing the same block of code over and over, potentially many times. A programming structure that implements iteration is called a loop.

Trong lập trình, có hai loại lặp, không xác định và xác định:

  • Với lần lặp không xác định, số lần vòng lặp được thực thi được chỉ định trước một cách rõ ràng. Thay vào đó, khối được chỉ định được thực hiện nhiều lần miễn là một số điều kiện được đáp ứng.indefinite iteration, the number of times the loop is executed isn’t specified explicitly in advance. Rather, the designated block is executed repeatedly as long as some condition is met.

  • Với lần 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.definite iteration, the number of times the designated block will be executed is specified explicitly at the time the loop starts.

Trong hướng dẫn này, bạn sẽ:

  • Tìm hiểu về vòng lặp
    >>> n = 0
    >>> while n > 0:
    ...     n -= 1
    ...     print(n)
    ...
    
    4, cấu trúc điều khiển Python được sử dụng để lặp lại không xác định
  • Xem cách thoát ra khỏi vòng lặp hoặc vòng lặp lặp lại sớm
  • Khám phá vòng lặp vô hạn

Khi bạn hoàn thành, bạn nên nắm bắt tốt cách sử dụng phép lặp không xác định trong Python.

Vòng lặp >>> n = 0 >>> while n > 0: ... n -= 1 ... print(n) ... 4

Hãy cùng xem cách mà câu lệnh Python từ

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 đượ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)
...
4 thô sơ được hiển thị bên dưới:

while <expr>:
    <statement(s)>

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
8 đại diện cho khối được thực hiện nhiều lần, thường được gọi là thân của vòng lặp. Điều này được biểu thị bằng vết lõm, giống như trong một tuyên bố
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
9.

Biểu thức kiểm soát,

>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
0, thường liên quan đến 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.

Khi gặp một vòng

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4,
>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
0 lần đầu tiên được đánh giá trong bối cảnh Boolean. Nếu đó là sự thật, cơ thể vòng lặp được thực thi. Sau đó,
>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
0 được kiểm tra lại và nếu vẫn đúng, cơ thể được thực thi 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
0 trở thành sai, tại thời điểm thực hiện chương trình tiến hành tuyên bố đầu tiên ngoài thân vòng lặp.

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, những gì mà xảy ra trong ví dụ này:

  • >>> a = ['foo', 'bar', 'baz']
    >>> while a:
    ...     print(a.pop(-1))
    ...
    baz
    bar
    foo
    
    5 ban đầu là
    >>> a = ['foo', 'bar', 'baz']
    >>> while a:
    ...     print(a.pop(-1))
    ...
    baz
    bar
    foo
    
    6. Biểu thức trong tiêu đề câu lệnh
    >>> n = 0
    >>> while n > 0:
    ...     n -= 1
    ...     print(n)
    ...
    
    4 trên dòng 2 là
    >>> a = ['foo', 'bar', 'baz']
    >>> while a:
    ...     print(a.pop(-1))
    ...
    baz
    bar
    foo
    
    8, điều này là đúng, do đó, cơ thể vòng lặp thực thi. Bên trong thân vòng trên dòng 3,
    >>> a = ['foo', 'bar', 'baz']
    >>> while a:
    ...     print(a.pop(-1))
    ...
    baz
    bar
    foo
    
    5 bị giảm bởi
     1n = 5
     2while n > 0:
     3    n -= 1
     4    if n == 2:
     5        break
     6    print(n)
     7print('Loop ended.')
    
    0 xuống
     1n = 5
     2while n > 0:
     3    n -= 1
     4    if n == 2:
     5        break
     6    print(n)
     7print('Loop ended.')
    
    1, sau đó được in.

  • Khi phần thân của vòng lặp kết thúc, việc thực thi chương trình sẽ trở lại đầu vòng lặp ở dòng 2 và biểu thức được đánh giá lại. Nó vẫn còn đúng, vì vậy cơ thể thực hiện một lần nữa và

     1n = 5
     2while n > 0:
     3    n -= 1
     4    if n == 2:
     5        break
     6    print(n)
     7print('Loop ended.')
    
    2 được in.

  • Điều này tiếp tục cho đến khi

    >>> a = ['foo', 'bar', 'baz']
    >>> while a:
    ...     print(a.pop(-1))
    ...
    baz
    bar
    foo
    
    5 trở thành
     1n = 5
     2while n > 0:
     3    n -= 1
     4    if n == 2:
     5        break
     6    print(n)
     7print('Loop ended.')
    
    4. Tại thời điểm đó, khi biểu thức được kiểm tra, nó là sai và vòng lặp chấm dứt. Việc thực hiện sẽ tiếp tục tại câu lệnh đầu tiên theo cơ thể vòng lặp, nhưng có một trong trường hợp này.

Lưu ý rằng biểu thức kiểm soát của vòng

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 được kiểm tra trước, trước khi bất cứ điều gì khác xảy ra. Nếu nó sai khi bắt đầu, cơ thể vòng lặp sẽ không bao giờ được thực thi:

>>>

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...

Ở đây, những gì mà xảy ra trong ví dụ này:

>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
5 ban đầu là
>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
6. Biểu thức trong tiêu đề câu lệnh
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 trên dòng 2 là
>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
8, điều này là đúng, do đó, cơ thể vòng lặp thực thi. Bên trong thân vòng trên dòng 3,
>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
5 bị giảm bởi
 1n = 5
 2while n > 0:
 3    n -= 1
 4    if n == 2:
 5        break
 6    print(n)
 7print('Loop ended.')
0 xuống
 1n = 5
 2while n > 0:
 3    n -= 1
 4    if n == 2:
 5        break
 6    print(n)
 7print('Loop ended.')
1, sau đó được in.

>>>

>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo

Ở đây, những gì mà xảy ra trong ví dụ này:

>>> a = ['foo', 'bar', 'baz'] >>> while a: ... print(a.pop(-1)) ... baz bar foo 5 ban đầu là >>> a = ['foo', 'bar', 'baz'] >>> while a: ... print(a.pop(-1)) ... baz bar foo 6. Biểu thức trong tiêu đề câu lệnh >>> n = 0 >>> while n > 0: ... n -= 1 ... print(n) ... 4 trên dòng 2 là >>> a = ['foo', 'bar', 'baz'] >>> while a: ... print(a.pop(-1)) ... baz bar foo 8, điều này là đúng, do đó, cơ thể vòng lặp thực thi. Bên trong thân vòng trên dòng 3, >>> a = ['foo', 'bar', 'baz'] >>> while a: ... print(a.pop(-1)) ... baz bar foo 5 bị giảm bởi 1n = 5 2while n > 0: 3 n -= 1 4 if n == 2: 5 break 6 print(n) 7print('Loop ended.') 0 xuống 1n = 5 2while n > 0: 3 n -= 1 4 if n == 2: 5 break 6 print(n) 7print('Loop ended.') 1, sau đó được in.

Khi phần thân của vòng lặp kết thúc, việc thực thi chương trình sẽ trở lại đầu vòng lặp ở dòng 2 và biểu thức được đánh giá lại. Nó vẫn còn đúng, vì vậy cơ thể thực hiện một lần nữa và

 1n = 5
 2while n > 0:
 3    n -= 1
 4    if n == 2:
 5        break
 6    print(n)
 7print('Loop ended.')
2 được in.

  • Điều này tiếp tục cho đến khi

    >>> a = ['foo', 'bar', 'baz']
    >>> while a:
    ...     print(a.pop(-1))
    ...
    baz
    bar
    foo
    
    5 trở thành
     1n = 5
     2while n > 0:
     3    n -= 1
     4    if n == 2:
     5        break
     6    print(n)
     7print('Loop ended.')
    
    4. Tại thời điểm đó, khi biểu thức được kiểm tra, nó là sai và vòng lặp chấm dứt. Việc thực hiện sẽ tiếp tục tại câu lệnh đầu tiên theo cơ thể vòng lặp, nhưng có một trong trường hợp này.
    C:\Users\john\Documents>python break.py
    4
    3
    Loop ended.
    
    3
    statement immediately terminates a loop entirely. Program execution proceeds to the first statement following the loop body.

  • Lưu ý rằng biểu thức kiểm soát của vòng

    >>> n = 0
    >>> while n > 0:
    ...     n -= 1
    ...     print(n)
    ...
    
    4 được kiểm tra trước, trước khi bất cứ điều gì khác xảy ra. Nếu nó sai khi bắt đầu, cơ thể vòng lặp sẽ không bao giờ được thực thi:
    C:\Users\john\Documents>python break.py
    4
    3
    Loop ended.
    
    4
    statement immediately terminates the current loop iteration. Execution jumps to the top of the loop, and the controlling expression is re-evaluated to determine whether the loop will execute again or terminate.

Trong ví dụ trên, khi gặp phải vòng lặp,

>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
5 là
 1n = 5
 2while n > 0:
 3    n -= 1
 4    if n == 2:
 5        break
 6    print(n)
 7print('Loop ended.')
4. Biểu thức kiểm soát
>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
8 đã sai, vì vậy cơ thể vòng lặp không bao giờ thực thi.

Hướng dẫn infinite loop and break in python - vòng lặp vô hạn và ngắt trong python
Ở đây, một vòng lặp
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 khác liên quan đến một danh sách, thay vì so sánh số:

Khi một danh sách được đánh giá trong bối cảnh Boolean, đó là sự thật nếu nó có các yếu tố trong đó và giả nếu nó trống rỗng. Trong ví dụ này,

C:\Users\john\Documents>python break.py
4
3
Loop ended.
0 là đúng miễn là nó có các yếu tố trong đó. Khi tất cả các mục đã được xóa bằng phương thức
C:\Users\john\Documents>python break.py
4
3
Loop ended.
1 và danh sách trống,
C:\Users\john\Documents>python break.py
4
3
Loop ended.
0 là sai và vòng lặp chấm dứt.

 1n = 5
 2while n > 0:
 3    n -= 1
 4    if n == 2:
 5        break
 6    print(n)
 7print('Loop ended.')

Các câu lệnh Python

C:\Users\john\Documents>python break.py
4
3
Loop ended.
3 và
C:\Users\john\Documents>python break.py
4
3
Loop ended.
4

C:\Users\john\Documents>python break.py
4
3
Loop ended.

Trong mỗi ví dụ bạn đã thấy cho đến nay, toàn bộ phần thân của vòng

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 được thực hiện trên mỗi lần lặp. Python cung cấp hai từ khóa chấm dứt lặp lại vòng lặp sớm:

Kịch bản tiếp theo,

 1n = 5
 2while n > 0:
 3    n -= 1
 4    if n == 2:
 5        continue
 6    print(n)
 7print('Loop ended.')
7, giống hệt nhau ngoại trừ câu lệnh
C:\Users\john\Documents>python break.py
4
3
Loop ended.
4 thay cho
C:\Users\john\Documents>python break.py
4
3
Loop ended.
3:

 1n = 5
 2while n > 0:
 3    n -= 1
 4    if n == 2:
 5        continue
 6    print(n)
 7print('Loop ended.')

Đầu ra của

 1n = 5
 2while n > 0:
 3    n -= 1
 4    if n == 2:
 5        continue
 6    print(n)
 7print('Loop ended.')
7 trông như thế này:

C:\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
5 là
 1n = 5
 2while n > 0:
 3    n -= 1
 4    if n == 2:
 5        continue
 6    print(n)
 7print('Loop ended.')
4, tuyên bố
C:\Users\john\Documents>python break.py
4
3
Loop ended.
4 gây ra việc chấm dứt lần lặp đó. Do đó,
 1n = 5
 2while n > 0:
 3    n -= 1
 4    if n == 2:
 5        continue
 6    print(n)
 7print('Loop ended.')
4 được in. Việc thực thi trở về đầ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, chấm dứt khi
>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
5 trở thành
 1n = 5
 2while n > 0:
 3    n -= 1
 4    if n == 2:
 5        break
 6    print(n)
 7print('Loop ended.')
4, như trước đây.

Điều khoản C:\Users\john\Documents>python continue.py 4 3 1 0 Loop ended. 7

Python cho phép một mệnh đề

C:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
7 tùy chọn ở cuối vòng
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4. Đây là một tính năng độc đáo của Python, không được tìm thấy 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ưới:

while <expr>:
    <statement(s)>
else:
    <additional_statement(s)>

while <expr>:
    <statement(s)>
else:
    <additional_statement(s)>
0 được chỉ định trong mệnh đề
C:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
7 sẽ được thực thi khi vòng lặp
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 chấm dứt.

Hướng dẫn infinite loop and break in python - vòng lặp vô hạn và ngắt trong python

Về bây giờ, bạn có thể đang nghĩ, "Điều đó hữu ích như thế nào?" Bạn có thể hoàn thành điều tương tự bằng cách đặt những câu lệnh đó ngay sau vòng lặp

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4, mà không cần
C:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
7:

while <expr>:
    <statement(s)>
<additional_statement(s)>

Có gì khác biệt?

Trong trường hợp sau, không có điều khoản

C:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
7,
while <expr>:
    <statement(s)>
else:
    <additional_statement(s)>
0 sẽ được thực thi sau khi vòng lặp
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 chấm dứt, bất kể điều gì.

Khi

while <expr>:
    <statement(s)>
else:
    <additional_statement(s)>
0 được đặt trong một điều khoản
C:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
7, chúng sẽ chỉ được thực thi nếu vòng lặp chấm dứt bởi sự kiệt sức, đó là, nếu vòng lặp lặp lại cho đến khi điều kiện kiểm soát trở nên sai. Nếu vòng lặp được thoát ra bởi một tuyên bố
C:\Users\john\Documents>python break.py
4
3
Loop ended.
3, mệnh đề
C:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
7 won won sẽ được thực thi.

Xem xét ví dụ sau:

>>>

 1>>> n = 5
 2>>> while n > 0:
 3...     n -= 1
 4...     print(n)
 5...
 64
 73
 82
 91
100
0

Trong trường hợp này, vòng lặp lặp lại cho đến khi điều kiện cạn kiệt:

>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
5 đã trở thành
 1n = 5
 2while n > 0:
 3    n -= 1
 4    if n == 2:
 5        break
 6    print(n)
 7print('Loop ended.')
4, do đó
>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
8 đã trở nên sai. Bởi vì vòng lặp sống cuộc sống tự nhiên của nó, có thể nói, điều khoản
C:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
7 đã được thực hiện. Bây giờ 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
1

Trong trường hợp này, vòng lặp lặp lại cho đến khi điều kiện cạn kiệt:

>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
5 đã trở thành
 1n = 5
 2while n > 0:
 3    n -= 1
 4    if n == 2:
 5        break
 6    print(n)
 7print('Loop ended.')
4, do đó
>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
8 đã trở nên sai. Bởi vì vòng lặp sống cuộc sống tự nhiên của nó, có thể nói, điều khoản
C:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
7 đã được thực hiện. Bây giờ quan sát sự khác biệt ở đây:

Vòng lặp này được chấm dứt sớm với

C:\Users\john\Documents>python break.py
4
3
Loop ended.
3, do đó mệnh đề
C:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
7 không được thực hiện.

Có vẻ như ý nghĩa của từ

C:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
7 không phù hợp với vòng lặp
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 cũng như câu lệnh
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
9. Guido Van Rossum, người tạo ra Python, thực sự đã nói rằng, nếu anh ta phải làm lại từ đầu, anh ta đã rời khỏi điều khoản
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 ____ ____77 của 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 (

     1>>> n = 5
     2>>> while n > 0:
     3...     n -= 1
     4...     print(n)
     5...
     64
     73
     82
     91
    100
    
    03) như một câu lệnh
    >>> n = 0
    >>> while n > 0:
    ...     n -= 1
    ...     print(n)
    ...
    
    9 (
     1>>> n = 5
     2>>> while n > 0:
     3...     n -= 1
     4...     print(n)
     5...
     64
     73
     82
     91
    100
    
    05) được thực thi nhiều lần, với mệnh đề
    C:\Users\john\Documents>python continue.py
    4
    3
    1
    0
    Loop ended.
    
    7 cuối cùng đã được thực thi khi điều kiện trở nên sai.

Hãy nghĩ về

C:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
7 như thể đó là
 1>>> n = 5
 2>>> while n > 0:
 3...     n -= 1
 4...     print(n)
 5...
 64
 73
 82
 91
100
08, trong đó khối sau đó được thực thi nếu có một
C:\Users\john\Documents>python break.py
4
3
Loop ended.
3.

Nếu bạn không tìm thấy một trong hai cách giải thích này hữu ích, thì hãy bỏ qua chúng.

>>>

 1>>> n = 5
 2>>> while n > 0:
 3...     n -= 1
 4...     print(n)
 5...
 64
 73
 82
 91
100
2

Trong trường hợp này, vòng lặp lặp lại cho đến khi điều kiện cạn kiệt:

>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
5 đã trở thành
 1n = 5
 2while n > 0:
 3    n -= 1
 4    if n == 2:
 5        break
 6    print(n)
 7print('Loop ended.')
4, do đó
>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
8 đã trở nên sai. Bởi vì vòng lặp sống cuộc sống tự nhiên của nó, có thể nói, điều khoản
C:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
7 đã được thực hiện. Bây giờ quan sát sự khác biệt ở đây:

Vòng lặp này được chấm dứt sớm với C:\Users\john\Documents>python break.py 4 3 Loop ended. 3, do đó mệnh đề C:\Users\john\Documents>python continue.py 4 3 1 0 Loop ended. 7 không được thực hiện.

Có vẻ như ý nghĩa của từ

C:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
7 không phù hợp với vòng lặp
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 cũng như câu lệnh
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
9. Guido Van Rossum, người tạo ra Python, thực sự đã nói rằng, nếu anh ta phải làm lại từ đầu, anh ta đã rời khỏi điều khoản
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 ____ ____77 của 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:

>>>

 1>>> n = 5
 2>>> while n > 0:
 3...     n -= 1
 4...     print(n)
 5...
 64
 73
 82
 91
100
3

Trong trường hợp này, vòng lặp lặp lại cho đến khi điều kiện cạn kiệt:

>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
5 đã trở thành
 1n = 5
 2while n > 0:
 3    n -= 1
 4    if n == 2:
 5        break
 6    print(n)
 7print('Loop ended.')
4, do đó
>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
8 đã trở nên sai. Bởi vì vòng lặp sống cuộc sống tự nhiên của nó, có thể nói, điều khoản
C:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
7 đã được thực hiện. Bây giờ quan sát sự khác biệt ở đây:Ctrl+C, which generates an interrupt from the keyboard. Otherwise, it would have gone on unendingly. Many
 1>>> n = 5
 2>>> while n > 0:
 3...     n -= 1
 4...     print(n)
 5...
 64
 73
 82
 91
100
17 output lines have been removed and replaced by the vertical ellipsis in the output shown.

Vòng lặp này được chấm dứt sớm với

C:\Users\john\Documents>python break.py
4
3
Loop ended.
3, do đó mệnh đề
C:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
7 không được thực hiện.

Có vẻ như ý nghĩa của từ

C:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
7 không phù hợp với vòng lặp
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 cũng như câu lệnh
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
9. Guido Van Rossum, người tạo ra Python, thực sự đã nói rằng, nếu anh ta phải làm lại từ đầu, anh ta đã rời khỏi điều khoản
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 ____ ____77 của 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 (

 1>>> n = 5
 2>>> while n > 0:
 3...     n -= 1
 4...     print(n)
 5...
 64
 73
 82
 91
100
03) như một câu lệnh
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
9 (
 1>>> n = 5
 2>>> while n > 0:
 3...     n -= 1
 4...     print(n)
 5...
 64
 73
 82
 91
100
05) được thực thi nhiều lần, với mệnh đề
C:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
7 cuối cùng đã được thực thi khi điều kiện trở nên sai.

>>>

 1>>> n = 5
 2>>> while n > 0:
 3...     n -= 1
 4...     print(n)
 5...
 64
 73
 82
 91
100
4

Trong trường hợp này, vòng lặp lặp lại cho đến khi điều kiện cạn kiệt:

>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
5 đã trở thành
 1n = 5
 2while n > 0:
 3    n -= 1
 4    if n == 2:
 5        break
 6    print(n)
 7print('Loop ended.')
4, do đó
>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
8 đã trở nên sai. Bởi vì vòng lặp sống cuộc sống tự nhiên của nó, có thể nói, điều khoản
C:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
7 đã được thực hiện. Bây giờ quan sát sự khác biệt ở đây:

Vòng lặp này được chấm dứt sớm với

C:\Users\john\Documents>python break.py
4
3
Loop ended.
3, do đó mệnh đề
C:\Users\john\Documents>python continue.py
4
3
1
0
Loop ended.
7 không được thực hiện.

 1>>> n = 5
 2>>> while n > 0:
 3...     n -= 1
 4...     print(n)
 5...
 64
 73
 82
 91
100
5

Trong các trường hợp như thế này, nơi có nhiều lý do để kết thúc vòng lặp, nó thường sạch hơn để ____53 ra khỏi một số vị trí khác nhau, thay vì cố gắng chỉ định tất cả các điều kiện chấm dứt trong tiêu đề vòng lặp.

Vò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 vòng lặp bị hỏng vào một lúc nào đó, vì vậy nó không thực sự trở thành vô hạn.

Lồng nhau >>> n = 0 >>> while n > 0: ... n -= 1 ... print(n) ... 4 vòng

Nói chung, các cấu trúc kiểm soát Python có thể được lồng trong nhau. Ví dụ: ________ 29/________ 129/________ 77 Báo cáo có điều kiện có thể được lồng:

 1>>> n = 5
 2>>> while n > 0:
 3...     n -= 1
 4...     print(n)
 5...
 64
 73
 82
 91
100
6

Tương tự, một vòng

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 có thể được chứa trong vòng lặp
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 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
7

Một câu lệnh

C:\Users\john\Documents>python break.py
4
3
Loop ended.
3 hoặc
C:\Users\john\Documents>python break.py
4
3
Loop ended.
4 được tìm thấy trong các vòng lặp lồng nhau áp dụng cho vòng lặp bao quanh gần nhất:

 1>>> n = 5
 2>>> while n > 0:
 3...     n -= 1
 4...     print(n)
 5...
 64
 73
 82
 91
100
8

Ngoài ra, các vòng lặp

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 có thể được lồng bên trong ________ 29/________ 129/________ 77 Câu lệnh và ngược lại:

 1>>> n = 5
 2>>> while n > 0:
 3...     n -= 1
 4...     print(n)
 5...
 64
 73
 82
 91
100
9

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
0

Trên thực tế, tất cả các cấu trúc điều khiển Python có thể được xen kẽ với nhau đến bất kỳ mức độ nào bạn cần. Đó là như vậy. Hãy tưởng tượng sẽ bực bội đến mức nào nếu có những hạn chế bất ngờ như vòng lặp

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 có thể được chứa trong một câu lệnh
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
9, hoặc ____ ____24 Loops chỉ có thể được lồng vào nhau nhiều nhất là sâu nhất. Bạn có một thời gian rất khó nhớ tất cả.

Dường như các giới hạn số hoặc logic tùy ý được coi là dấu hiệu của thiết kế ngôn ngữ chương trình kém. Hạnh phúc thay, bạn đã thắng được nhiều người trong Python.

Vòng lặp >>> n = 0 >>> while n > 0: ... n -= 1 ... print(n) ... 4 một dòng

Như với một câu lệnh

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
9, một vòng
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 có thể được chỉ định trên một dòng. Nếu có nhiều câu trong khối tạo nên thân vòng, 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
45):

>>>

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
1

Một câu lệnh

C:\Users\john\Documents>python break.py
4
3
Loop ended.
3 hoặc
C:\Users\john\Documents>python break.py
4
3
Loop ended.
4 được tìm thấy trong các vòng lặp lồng nhau áp dụng cho vòng lặp bao quanh gần nhất:

>>>

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
2

Một câu lệnh

C:\Users\john\Documents>python break.py
4
3
Loop ended.
3 hoặc
C:\Users\john\Documents>python break.py
4
3
Loop ended.
4 được tìm thấy trong các vòng lặp lồng nhau áp dụng cho vòng lặp bao quanh gần nhất:

>>>

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
3

Một câu lệnh

C:\Users\john\Documents>python break.py
4
3
Loop ended.
3 hoặc
C:\Users\john\Documents>python break.py
4
3
Loop ended.
4 được tìm thấy trong các vòng lặp lồng nhau áp dụng cho vòng lặp bao quanh gần nhất:

Ngoài ra, các vòng lặp >>> n = 0 >>> while n > 0: ... n -= 1 ... print(n) ... 4 có thể được lồng bên trong ________ 29/________ 129/________ 77 Câu lệnh và ngược lại:

Trên thực tế, tất cả các cấu trúc điều khiển Python có thể được xen kẽ với nhau đến bất kỳ mức độ nào bạn cần. Đó là như vậy. Hãy tưởng tượng sẽ bực bội đến mức nào nếu có những hạn chế bất ngờ như vòng lặp

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 có thể được chứa trong một câu lệnh
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
9, hoặc ____ ____24 Loops chỉ có thể được lồng vào nhau nhiều nhất là sâu nhất. Bạn có một thời gian rất khó nhớ tất cả.indefinite iteration using the Python
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 loop. You’re now able to:

  • Dường như các giới hạn số hoặc logic tùy ý được coi là dấu hiệu của thiết kế ngôn ngữ chương trình kém. Hạnh phúc thay, bạn đã thắng được nhiều người trong Python.
  • Vòng lặp
    >>> n = 0
    >>> while n > 0:
    ...     n -= 1
    ...     print(n)
    ...
    
    4 một dòng
  • Như với một câu lệnh
    >>> n = 0
    >>> while n > 0:
    ...     n -= 1
    ...     print(n)
    ...
    
    9, một vòng
    >>> n = 0
    >>> while n > 0:
    ...     n -= 1
    ...     print(n)
    ...
    
    4 có thể được chỉ định trên một dòng. Nếu có nhiều câu trong khối tạo nên thân vòng, 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
    
    45):
  • Điều này chỉ hoạt động với các tuyên bố đơn giản mặc dù. Bạn có 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 một vòng lặp
    >>> n = 0
    >>> while n > 0:
    ...     n -= 1
    ...     print(n)
    ...
    
    4 trên một dòng như trên và bạn viết một câu lệnh
    >>> n = 0
    >>> while n > 0:
    ...     n -= 1
    ...     print(n)
    ...
    
    9 trên một dòng:

Nhưng bạn có thể làm điều này:

Hãy nhớ rằng PEP 8 không khuyến khích nhiều tuyên bố trên một dòng. Vì vậy, có lẽ bạn không nên làm bất cứ điều gì rất thường xuyên.definite iteration with

 1>>> n = 5
 2>>> while n > 0:
 3...     n -= 1
 4...     print(n)
 5...
 64
 73
 82
 91
100
54 loops—recurrent execution where the number of repetitions is specified explicitly.

Sự kết luận This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Mastering While Loops

Vòng lặp vô hạn trong Python là gì?

Vòng lặp vô hạn trong Python là một vòng điều kiện lặp đi lặp lại liên tục được thực thi cho đến khi một yếu tố bên ngoài can thiệp vào luồng thực thi, như không đủ bộ nhớ CPU, một tính năng/ mã lỗi không thành công dừng thực thi hoặc một tính năng mới trong các hệ thống di sản khác khác mà Cần tích hợp mã.a continuous repetitive conditional loop that gets executed until an external factor interferes in the execution flow, like insufficient CPU memory, a failed feature/ error code that stopped the execution, or a new feature in the other legacy systems that needs code integration.

Vòng lặp và phá vỡ trong Python là gì?

'Break' trong Python là một câu lệnh điều khiển vòng lặp. Nó được sử dụng để kiểm soát chuỗi của vòng lặp.Giả sử bạn muốn chấm dứt một vòng lặp và bỏ qua mã tiếp theo sau vòng lặp;Phá vỡ sẽ giúp bạn làm điều đó.Một kịch bản điển hình của việc sử dụng sự phá vỡ trong Python là khi một điều kiện bên ngoài kích hoạt sự chấm dứt của vòng lặp. It is used to control the sequence of the loop. Suppose you want to terminate a loop and skip to the next code after the loop; break will help you do that. A typical scenario of using the Break in Python is when an external condition triggers the loop's termination.

Vòng lặp vô hạn là gì nó có thể bị phá vỡ là gì?

Vòng lặp vô hạn là một chuỗi các hướng dẫn trong một chương trình máy tính không vòng lặp vô tận, do vòng lặp không có điều kiện chấm dứt, có một điều không bao giờ có thể được đáp ứng, hoặc một điều khiến vòng lặp bắt đầu lại.

3 loại vòng lặp trong Python là gì?

Loại vòng lặp..
Cho vòng lặp.Một vòng lặp trong Python được sử dụng để lặp lại theo một chuỗi (List, Tuple, Set, Dictionary và String).Sơ đồ: ... .
Trong khi lặp lại.Vòng lặp trong khi được sử dụng để thực thi một tập hợp các câu lệnh miễn là điều kiện là đúng.....
Vòng lặp lồng nhau.Nếu một vòng lặp tồn tại bên trong thân của một vòng lặp khác, nó được gọi là một vòng lặp lồng nhau ..