Hướng dẫn definite and indefinite loops in python - vòng lặp xác định và không xác định trong python


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

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:

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

    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]

    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

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 :
    

>>> 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 ...
 6 4
 7 3
 8 2
 9 1
10 0

Ở đâ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
     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.

  • 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à

     1 n = 5
     2 while n > 0:
     3     n -= 1
     4     if n == 2:
     5         break
     6     print[n]
     7 print['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
     1 n = 5
     2 while n > 0:
     3     n -= 1
     4     if n == 2:
     5         break
     6     print[n]
     7 print['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
 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.

>>>

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

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à

 1 n = 5
 2 while n > 0:
 3     n -= 1
 4     if n == 2:
 5         break
 6     print[n]
 7 print['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
     1 n = 5
     2 while n > 0:
     3     n -= 1
     4     if n == 2:
     5         break
     6     print[n]
     7 print['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.
    immediately terminates a loop entirely. Program execution proceeds to the first statement following the loop body.

  • C:UsersjohnDocuments>python break.py
    4
    3
    Loop ended.
    
    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.

Sự khác biệt giữa

C:UsersjohnDocuments>python break.py
4
3
Loop ended.
4 và
C:UsersjohnDocuments>python break.py
4
3
Loop ended.
5 đượ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

C:UsersjohnDocuments>python break.py
4
3
Loop ended.
8 thể hiện câu lệnh
C:UsersjohnDocuments>python break.py
4
3
Loop ended.
4:

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

Chạy

C:UsersjohnDocuments>python break.py
4
3
Loop ended.
8 từ trình thông dịch dòng lệnh tạo ra đầu ra sau:

C:UsersjohnDocuments>python break.py
4
3
Loop ended.

Khi

>>> a = ['foo', 'bar', 'baz']
>>> while a:
...     print[a.pop[-1]]
...
baz
bar
foo
5 trở thành
 1 n = 5
 2 while n > 0:
 3     n -= 1
 4     if n == 2:
 5         continue
 6     print[n]
 7 print['Loop ended.']
2, câu lệnh
C:UsersjohnDocuments>python break.py
4
3
Loop ended.
4 đượ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
 1 n = 5
 2 while n > 0:
 3     n -= 1
 4     if n == 2:
 5         continue
 6     print[n]
 7 print['Loop ended.']
4 trên dòng 7.

Kịch bản tiếp theo,

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

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

Đầu ra của

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

C:UsersjohnDocuments>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à
 1 n = 5
 2 while n > 0:
 3     n -= 1
 4     if n == 2:
 5         continue
 6     print[n]
 7 print['Loop ended.']
2, tuyên bố
C:UsersjohnDocuments>python break.py
4
3
Loop ended.
5 gây ra việc chấm dứt lần lặp đó. Do đó,
 1 n = 5
 2 while n > 0:
 3     n -= 1
 4     if n == 2:
 5         continue
 6     print[n]
 7 print['Loop ended.']
2 đượ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
 1 n = 5
 2 while n > 0:
 3     n -= 1
 4     if n == 2:
 5         break
 6     print[n]
 7 print['Loop ended.']
4, như trước đây.

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

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

C:UsersjohnDocuments>python continue.py
4
3
1
0
Loop ended.
5 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 :
    
else:
    

C:UsersjohnDocuments>python continue.py
4
3
1
0
Loop ended.
8 được chỉ định trong mệnh đề
C:UsersjohnDocuments>python continue.py
4
3
1
0
Loop ended.
5 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
C:UsersjohnDocuments>python continue.py
4
3
1
0
Loop ended.
5:

while :
    

Có gì khác biệt?

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

C:UsersjohnDocuments>python continue.py
4
3
1
0
Loop ended.
5,
C:UsersjohnDocuments>python continue.py
4
3
1
0
Loop ended.
8 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

C:UsersjohnDocuments>python continue.py
4
3
1
0
Loop ended.
8 được đặt trong một điều khoản
C:UsersjohnDocuments>python continue.py
4
3
1
0
Loop ended.
5, 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ố
C:UsersjohnDocuments>python break.py
4
3
Loop ended.
4, mệnh đề
C:UsersjohnDocuments>python continue.py
4
3
1
0
Loop ended.
5 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 ...
 6 4
 7 3
 8 2
 9 1
10 0
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
 1 n = 5
 2 while n > 0:
 3     n -= 1
 4     if n == 2:
 5         break
 6     print[n]
 7 print['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:UsersjohnDocuments>python continue.py
4
3
1
0
Loop ended.
5 đã đượ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 ...
 6 4
 7 3
 8 2
 9 1
10 0
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
 1 n = 5
 2 while n > 0:
 3     n -= 1
 4     if n == 2:
 5         break
 6     print[n]
 7 print['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:UsersjohnDocuments>python continue.py
4
3
1
0
Loop ended.
5 đã đượ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: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.

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

C:UsersjohnDocuments>python continue.py
4
3
1
0
Loop ended.
5 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 [

     1 >>> n = 5
     2 >>> while n > 0:
     3 ...     n -= 1
     4 ...     print[n]
     5 ...
     6 4
     7 3
     8 2
     9 1
    10 0
    
    01] 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 ...
     6 4
     7 3
     8 2
     9 1
    10 0
    
    03] được thực thi nhiều lần, với mệnh đề
    C:UsersjohnDocuments>python continue.py
    4
    3
    1
    0
    Loop ended.
    
    5 cuối cùng đã được thực thi khi điều kiện trở nên sai.

Hãy nghĩ về

C:UsersjohnDocuments>python continue.py
4
3
1
0
Loop ended.
5 như thể nó là
 1 >>> n = 5
 2 >>> while n > 0:
 3 ...     n -= 1
 4 ...     print[n]
 5 ...
 6 4
 7 3
 8 2
 9 1
10 0
06, trong đó khối sau đó được thực thi nếu có một
C:UsersjohnDocuments>python break.py
4
3
Loop ended.
4.

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 ...
 6 4
 7 3
 8 2
 9 1
10 0
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
 1 n = 5
 2 while n > 0:
 3     n -= 1
 4     if n == 2:
 5         break
 6     print[n]
 7 print['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:UsersjohnDocuments>python continue.py
4
3
1
0
Loop ended.
5 đã đượ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: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.

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

C:UsersjohnDocuments>python continue.py
4
3
1
0
Loop ended.
5 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:

>>>

 1 >>> n = 5
 2 >>> while n > 0:
 3 ...     n -= 1
 4 ...     print[n]
 5 ...
 6 4
 7 3
 8 2
 9 1
10 0
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
 1 n = 5
 2 while n > 0:
 3     n -= 1
 4     if n == 2:
 5         break
 6     print[n]
 7 print['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:UsersjohnDocuments>python continue.py
4
3
1
0
Loop ended.
5 đã đượ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 ...
 6 4
 7 3
 8 2
 9 1
10 0
15 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: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.

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

C:UsersjohnDocuments>python continue.py
4
3
1
0
Loop ended.
5 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ữ.

Về mặt chính, hãy nhớ rằng các vòng lặp có thể bị hỏng với tuyên bố

C:UsersjohnDocuments>python break.py
4
3
Loop ended.
4. Có thể đơn giản hơn khi chấm dứt một vòng lặp dựa trên các điều kiện được nhận ra trong thân vòng, thay vì trên một điều kiện được đánh giá ở phía trên.

Ở đây, một biến thể khác của vòng lặp được hiển thị ở trên rằng liên tiếp loại bỏ các mục khỏi danh sách bằng cách sử dụng

C:UsersjohnDocuments>python break.py
4
3
Loop ended.
1 cho đến khi nó trống:

>>>

 1 >>> n = 5
 2 >>> while n > 0:
 3 ...     n -= 1
 4 ...     print[n]
 5 ...
 6 4
 7 3
 8 2
 9 1
10 0
4

Khi

C:UsersjohnDocuments>python break.py
4
3
Loop ended.
0 trở nên trống rỗng,
 1 >>> n = 5
 2 >>> while n > 0:
 3 ...     n -= 1
 4 ...     print[n]
 5 ...
 6 4
 7 3
 8 2
 9 1
10 0
21 trở thành đúng và câu lệnh
C:UsersjohnDocuments>python break.py
4
3
Loop ended.
4 thoát ra khỏi vòng lặp.

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

C:UsersjohnDocuments>python break.py
4
3
Loop ended.
4 trong một vòng lặp:

 1 >>> n = 5
 2 >>> while n > 0:
 3 ...     n -= 1
 4 ...     print[n]
 5 ...
 6 4
 7 3
 8 2
 9 1
10 0
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 để

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.

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:

 1 >>> n = 5
 2 >>> while n > 0:
 3 ...     n -= 1
 4 ...     print[n]
 5 ...
 6 4
 7 3
 8 2
 9 1
10 0
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 ...
 6 4
 7 3
 8 2
 9 1
10 0
7

Khi

C:UsersjohnDocuments>python break.py
4
3
Loop ended.
0 trở nên trống rỗng,
 1 >>> n = 5
 2 >>> while n > 0:
 3 ...     n -= 1
 4 ...     print[n]
 5 ...
 6 4
 7 3
 8 2
 9 1
10 0
21 trở thành đúng và câu lệnh
C:UsersjohnDocuments>python break.py
4
3
Loop ended.
4 thoát ra khỏi vòng lặp.

 1 >>> n = 5
 2 >>> while n > 0:
 3 ...     n -= 1
 4 ...     print[n]
 5 ...
 6 4
 7 3
 8 2
 9 1
10 0
8

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

C:UsersjohnDocuments>python break.py
4
3
Loop ended.
4 trong một vòng lặp:

 1 >>> n = 5
 2 >>> while n > 0:
 3 ...     n -= 1
 4 ...     print[n]
 5 ...
 6 4
 7 3
 8 2
 9 1
10 0
9

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print[n]
...
0

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.

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:

>>>

Khi
C:UsersjohnDocuments>python break.py
4
3
Loop ended.
0 trở nên trống rỗng,
 1 >>> n = 5
 2 >>> while n > 0:
 3 ...     n -= 1
 4 ...     print[n]
 5 ...
 6 4
 7 3
 8 2
 9 1
10 0
21 trở thành đúng và câu lệnh
C:UsersjohnDocuments>python break.py
4
3
Loop ended.
4 thoát ra khỏi vòng lặp.

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

C:UsersjohnDocuments>python break.py
4
3
Loop ended.
4 trong một vòng lặp:

>>>

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print[n]
...
2

Khi

C:UsersjohnDocuments>python break.py
4
3
Loop ended.
0 trở nên trống rỗng,
 1 >>> n = 5
 2 >>> while n > 0:
 3 ...     n -= 1
 4 ...     print[n]
 5 ...
 6 4
 7 3
 8 2
 9 1
10 0
21 trở thành đúng và câu lệnh
C:UsersjohnDocuments>python break.py
4
3
Loop ended.
4 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

C:UsersjohnDocuments>python break.py
4
3
Loop ended.
4 trong một vòng lặp:

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:

  • 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:
  • Một câu lệnh
    C:UsersjohnDocuments>python break.py
    4
    3
    Loop ended.
    
    4 hoặc
    C:UsersjohnDocuments>python break.py
    4
    3
    Loop ended.
    
    5 đượ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/________ 127/________ 75 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ả.definite iteration with
 1 >>> n = 5
 2 >>> while n > 0:
 3 ...     n -= 1
 4 ...     print[n]
 5 ...
 6 4
 7 3
 8 2
 9 1
10 0
52 loops—recurrent execution where the number of repetitions is specified explicitly.

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 ...
 6 4
 7 3
 8 2
 9 1
10 0
43]: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.

>>> n = 0
>>> while n > 0:
...     n -= 1
...     print[n]
...
1

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

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

Bài Viết Liên Quan

Chủ Đề