Hướng dẫn definite loop in python - vòng lặp xác định trong python

Hướng dẫn definite loop in python - vòng lặp xác định trong python

Show


Tiếp theo: The While Loop Up: Bài 06 Trước: Lặp lại các câu lệnh The while loop Up: Unit 06 Previous: Repetition of statements The while loop Up: Unit 06 Previous: Repetition of statements

Về mặt khái niệm, chúng tôi phân biệt hai loại vòng lặp, khác nhau theo cách mà số lần lặp (nghĩa là, sự lặp lại của cơ thể của vòng lặp) được xác định:

Nội dung chính

  • Vòng lặp >>> n = 0 >>> while n > 0: ... n -= 1 ... print(n) ... 4
  • >>> 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 1 n = 5 2 while n > 0: 3 n -= 1 4 if n == 2: 5 break 6 print(n) 7 print('Loop ended.') 0 xuống 1 n = 5 2 while n > 0: 3 n -= 1 4 if n == 2: 5 break 6 print(n) 7 print('Loop ended.') 1, sau đó được in.
  • Điều khoản C:UsersjohnDocuments>python continue.py 4 3 1 0 Loop ended. 5
  • Vòng lặp này được chấm dứt sớm với C:UsersjohnDocuments>python break.py 4 3 Loop ended. 4, do đó mệnh đề C:UsersjohnDocuments>python continue.py 4 3 1 0 Loop ended. 5 được thực hiện.
  • Lồng nhau >>> n = 0 >>> while n > 0: ... n -= 1 ... print(n) ... 4 vòng
  • Lồng nhau >>> n = 0 >>> while n > 0: ... n -= 1 ... print(n) ... 4 vòng
  • 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 để C:UsersjohnDocuments>python break.py 4 3 Loop ended. 4 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 >>> n = 0 >>> while n > 0: ... n -= 1 ... print(n) ... 4 một dòng
  • >>> n = 0 >>> while n > 0: ... n -= 1 ... print(n) ... 1
  • Nhưng bạn có thể làm điều này:
  • Sự kết luận

  • Trong các vòng lặp xác định, số lần lặp được biết đến trước khi chúng ta bắt đầu thực hiện cơ thể của vòng lặp.definite loops, the number of iterations is known before we start the execution of the body of the loop. definite loops, the number of iterations is known before we start the execution of the body of the loop.

    Ví dụ: Lặp lại trong 10 lần in ra *.

  • Trong các vòng lặp không xác định, số lần lặp không được biết trước khi chúng ta bắt đầu thực hiện thân xe của vòng lặp, nhưng phụ thuộc vào khi nào một điều kiện nhất định trở thành đúng (và điều này phụ thuộc vào những gì xảy ra trong phần thân của vòng lặp)indefinite loops, the number of iterations is not known before we start to execute the body of the loop, but depends on when a certain condition becomes true (and this depends on what happens in the body of the loop) indefinite loops, the number of iterations is not known before we start to execute the body of the loop, but depends on when a certain condition becomes true (and this depends on what happens in the body of the loop)

    Ví dụ: Mặc dù người dùng không quyết định đã đến lúc dừng lại, hãy in ra * và hỏi người dùng liệu anh ta có muốn dừng lại không.

Trong Java, giống như trong các ngôn ngữ lập trình khác, cả hai loại vòng lặp đều có thể được thực hiện thông qua một câu lệnh.



Tiếp theo: The While Loop Up: Bài 06 Trước: Lặp lại các câu lệnh The while loop Up: Unit 06 Previous: Repetition of statements The while loop Up: Unit 06 Previous: Repetition of statements

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. 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.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.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

>>> 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 1 n = 5 2 while n > 0: 3 n -= 1 4 if n == 2: 5 break 6 print(n) 7 print('Loop ended.') 0 xuống 1 n = 5 2 while n > 0: 3 n -= 1 4 if n == 2: 5 break 6 print(n) 7 print('Loop ended.') 1, sau đó được in.

Điều khoản C:UsersjohnDocuments>python continue.py 4 3 1 0 Loop ended. 5

Đị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:

>>>

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

Ở đâ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
    >>> n = 0
    >>> while n > 0:
    ...     n -= 1
    ...     print(n)
    ...
    
    70 xuống
    >>> n = 0
    >>> while n > 0:
    ...     n -= 1
    ...     print(n)
    ...
    
    71, 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à

    >>> n = 0
    >>> while n > 0:
    ...     n -= 1
    ...     print(n)
    ...
    
    72 đượ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
    >>> n = 0
    >>> while n > 0:
    ...     n -= 1
    ...     print(n)
    ...
    
    74. 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
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
70 xuống
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
71, 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 >>> n = 0 >>> while n > 0: ... n -= 1 ... print(n) ... 70 xuống >>> n = 0 >>> while n > 0: ... n -= 1 ... print(n) ... 71, 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à

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
72 đượ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
    >>> n = 0
    >>> while n > 0:
    ...     n -= 1
    ...     print(n)
    ...
    
    74. 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.5 trở thành
    >>> n = 0
    >>> while n > 0:
    ...     n -= 1
    ...     print(n)
    ...
    
    74. 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.
    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 5 ngay lập tức chấm dứt lặp lại vòng lặp hiện tại. Việc thực thi nhảy lên đỉnh của vòng lặp và biểu thức kiểm soát được đánh giá lại để xác định xem vòng lặp sẽ thực thi lại hay chấm dứt. 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.

>>> 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:

>>> 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 1 n = 5 2 while n > 0: 3 n -= 1 4 if n == 2: 5 break 6 print(n) 7 print('Loop ended.') 0 xuống 1 n = 5 2 while n > 0: 3 n -= 1 4 if n == 2: 5 break 6 print(n) 7 print('Loop ended.') 1, sau đó được in.

while <expr>:
    <statement(s)>
35 trở thành
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
74. 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. immediately terminates a loop entirely. Program execution proceeds to the first statement following the loop body.

while <expr>:
    <statement(s)>
55 ngay lập tức chấm dứt lặp lại vòng lặp hiện tại. Việc thực thi nhảy lên đỉnh của vòng lặp và biểu thức kiểm soát được đánh giá lại để xác định xem vòng lặp sẽ thực thi lại hay chấm dứt. 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.

Sự khác biệt giữa

while <expr>:
    <statement(s)>
64 và
while <expr>:
    <statement(s)>
65 được thể hiện trong sơ đồ sau:

phá vỡ và tiếp tục

Ở đây, một tệp tập lệnh có tên

while <expr>:
    <statement(s)>
68 thể hiện câu lệnh
while <expr>:
    <statement(s)>
64:
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
7

Chạy

while <expr>:
    <statement(s)>
68 từ trình thông dịch dòng lệnh tạo ra đầu ra sau:
while <expr>:
    <statement(s)>
6

Khi

>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
5 trở thành
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
42, câu lệnh
while <expr>:
    <statement(s)>
64 được thực thi. Vòng lặp bị chấm dứt hoàn toàn và thực thi chương trình nhảy vào câu lệnh
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
44 trên dòng 7.

Kịch bản tiếp theo,

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
45, giống hệt nhau ngoại trừ câu lệnh
while <expr>:
    <statement(s)>
65 thay cho
while <expr>:
    <statement(s)>
64:
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4

Điều khoản C:UsersjohnDocuments>python continue.py 4 3 1 0 Loop ended. 5

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

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
25 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:
>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
1
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
28 được chỉ định trong mệnh đề
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
25 sẽ được thực thi khi vòng lặp
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 chấm dứt.

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
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
25:
>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print(a.pop(-1))
...
baz
bar
foo
7

Có gì khác biệt?

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

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
25,
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
28 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

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
28 được đặt trong một điều khoản
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
25, chúng sẽ chỉ được thực thi nếu vòng lặp chấm dứt bởi vì kiệt sức, thì đó 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ố
while <expr>:
    <statement(s)>
64, mệnh đề
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
25 won won sẽ được thực thi.

Xem xét ví dụ sau:

>>>

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

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
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
74, 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
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
25 đã được thực hiện. Bây giờ quan sát sự khác biệt ở đây:

>>>

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

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
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
74, 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
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
25 đã đượ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

while <expr>:
    <statement(s)>
64, do đó mệnh đề
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
25 được thực hiện.

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

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
25 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 ấy đã rời khỏi điều khoản
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 ____ ____75 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 (

    >>> n = 0
    >>> while n > 0:
    ...     n -= 1
    ...     print(n)
    ...
    
    101) như một câu lệnh
    >>> n = 0
    >>> while n > 0:
    ...     n -= 1
    ...     print(n)
    ...
    
    9 (
    >>> n = 0
    >>> while n > 0:
    ...     n -= 1
    ...     print(n)
    ...
    
    103) được thực thi nhiều lần, với mệnh đề
    >>> n = 0
    >>> while n > 0:
    ...     n -= 1
    ...     print(n)
    ...
    
    25 cuối cùng đã được thực thi khi điều kiện trở nên sai.

Hãy nghĩ về

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
25 như thể nó là
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
106, trong đó khối sau đó được thực thi nếu có một
while <expr>:
    <statement(s)>
64.

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.

>>>

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

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
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
74, 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
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
25 đã đượ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ó vẻ như ý nghĩa của từ

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
25 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 ấy đã rời khỏi điều khoản
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 ____ ____75 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:

>>>

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

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
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
74, 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
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
25 đã đượ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
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
115 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

while <expr>:
    <statement(s)>
64, do đó mệnh đề
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
25 được thực hiện.

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

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
25 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 ấy đã rời khỏi điều khoản
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 ____ ____75 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 (

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
101) như một câu lệnh
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
9 (
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
103) được thực thi nhiều lần, với mệnh đề
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
25 cuối cùng đã được thực thi khi điều kiện trở nên sai.

while <expr>:
    <statement(s)>
61 cho đến khi nó trống:

>>>

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

Khi

while <expr>:
    <statement(s)>
60 trở nên trống rỗng,
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
121 trở thành đúng và câu lệnh
while <expr>:
    <statement(s)>
64 thoát ra khỏi vòng lặp.

Bạn cũng có thể chỉ định nhiều câu lệnh

while <expr>:
    <statement(s)>
64 trong một vòng lặp:
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
15

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

while <expr>:
    <statement(s)>
64 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/________ 127/________ 75 Các câu lệnh có điều kiện có thể được lồng:

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

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:

>>>

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

Khi

while <expr>:
    <statement(s)>
60 trở nên trống rỗng,
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
121 trở thành đúng và câu lệnh
while <expr>:
    <statement(s)>
64 thoát ra khỏi vòng lặp.

Bạn cũng có thể chỉ định nhiều câu lệnh

while <expr>:
    <statement(s)>
64 trong một vòng lặp:
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
15

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

while <expr>:
    <statement(s)>
64 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/________ 127/________ 75 Các câu lệnh có điều kiện có thể được lồng:

>>>

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

Bạn cũng có thể chỉ định nhiều câu lệnh

while <expr>:
    <statement(s)>
64 trong một vòng lặp:
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
15

>>>

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

Khi

while <expr>:
    <statement(s)>
60 trở nên trống rỗng,
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
121 trở thành đúng và câu lệnh
while <expr>:
    <statement(s)>
64 thoát ra khỏi vòng lặp.

>>>

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

Bạn cũng có thể chỉ định nhiều câu lệnh

while <expr>:
    <statement(s)>
64 trong một vòng lặp:
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
15

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

while <expr>:
    <statement(s)>
64 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.indefinite iteration using the Python

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/________ 127/________ 75 Các câu lệnh có điều kiện có thể được lồng:
  • 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:

while <expr>:
    <statement(s)>
60 trở nên trống rỗng,
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
121 trở thành đúng và câu lệnh
while <expr>:
    <statement(s)>
64 thoát ra khỏi vòng lặp.
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
18

while <expr>:
    <statement(s)>
64 trong một vòng lặp:
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
19
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
0

Khi

while <expr>:
    <statement(s)>
60 trở nên trống rỗng,
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
121 trở thành đúng và câu lệnh
while <expr>:
    <statement(s)>
64 thoát ra khỏi vòng lặp.

while <expr>:
    <statement(s)>
64 trong một vòng lặp:definite iteration with
>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
152 loops—recurrent execution where the number of repetitions is specified explicitly.

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 để C:UsersjohnDocuments>python break.py 4 3 Loop ended. 4 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.indefinite iteration using the Python

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print(n)
...
4 loop. You’re now able to:

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

Lồng nhau

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

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

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:

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

Một câu lệnh

while <expr>:
    <statement(s)>
64 hoặc
while <expr>:
    <statement(s)>
65 đượ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:a loop which is executed a set number of times. The best example that can be thought of a definite loop is a for loop.

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/________ 127/________ 75 Câu lệnh và ngược lại:

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

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)
...

9 trên một dòng:a loop that waits for some condition to become true. In general, it's not obvious how many iterations it takes. For example, you might be looking for the first number that is divisible by 2, 3, 5, 7, and 11. You could compute this ahead of time, but it's not easy.a loop that waits for some condition to become true. In general, it's not obvious how many iterations it takes. For example, you might be looking for the first number that is divisible by 2, 3, 5, 7, and 11. You could compute this ahead of time, but it's not easy.

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.a loop that will continue to run infinite number of times until and unless it is asked to stop. In order to execute an indefinite loop, we use the while statement.a loop that will continue to run infinite number of times until and unless it is asked to stop. In order to execute an indefinite loop, we use the while statement.

Sự kết luận

Trong hướng dẫn này, bạn đã tìm hiểu về việc lặp lại không xác định bằng cách sử dụng vòng lặp Python

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

4. Bây giờ bạn có thể: