Hướng dẫn is for loop infinite in python? - vòng lặp for là vô hạn trong python?

Mặc dù đã có nhiều câu trả lời với các ví dụ hay về cách một vòng lặp vô hạn cho vòng lặp có thể được thực hiện, nhưng không ai đã trả lời tại sao (mặc dù không được hỏi, nhưng vẫn ...)

A cho vòng lặp trong Python là đường cú pháp để xử lý đối tượng iterator của một phương pháp của nó. Ví dụ, đây là điển hình của bạn cho vòng lặp:

for element in iterable:
    foo(element)

Và đây là những gì sắp xếp xảy ra đằng sau hậu trường:

iterator = iterable.__iter__()
try:
    while True:
        element = iterator.next()
        foo(element)
except StopIteration:
    pass

Một đối tượng Iterator phải có, như có thể thấy, AnextMethod trả về một phần tử và tiến bộ một lần (nếu nó có thể, nếu không nó sẽ làm tăng ngoại lệ ngăn chặn).

Vì vậy, mọi đối tượng có thể lặp lại mà ____ 4method của Iterator không bao giờ nâng cao ngoại lệ đều có vô hạn cho vòng lặp. Ví dụ:

class InfLoopIter(object):
    def __iter__(self):
        return self # an iterator object must always have this
    def next(self):
        return None

class InfLoop(object):
    def __iter__(self):
        return InfLoopIter()

for i in InfLoop():
    print "Hello World!" # infinite loop yay!

Hướng dẫn is for loop infinite in python? - vòng lặp for là vô hạn trong python?

Giới thiệu về Vòng lặp Python Infinite

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ã. Một vài loại vòng lặp vô hạn trong Python bao gồm câu lệnh WHR, câu lệnh IF, câu lệnh tiếp tục và câu lệnh break.

Khi nào các vòng vô hạn cần thiết?

Vòng lặp vô hạn có thể hữu ích trong lập trình máy khách/máy chủ khi máy chủ cần chạy với tính liên tục để các chương trình máy khách có thể giao tiếp với chương trình máy chủ bất cứ khi nào cần thiết. Nó cũng có thể hữu ích nếu một kết nối mới cần được tạo. Có tiện ích của một vòng lặp trong một ứng dụng chơi game hoặc một ứng dụng trong đó chúng tôi nhập một số vòng lặp sự kiện chính, tiếp tục chạy cho đến khi người dùng chọn một hành động để phá vỡ vòng lặp vô hạn đó. Ngoài ra, nếu người ta phải chơi một trò chơi và mong muốn trò chơi được đặt lại sau mỗi phiên. Lặp lại là quá trình thực hiện một nhiệm vụ lặp đi lặp lại và các chương trình máy tính luôn thành thạo nghệ thuật này.

Làm thế nào chúng ta sẽ chạy một vòng lặp vô hạn do nhầm lẫn?

Đây là một chương trình rất đơn giản, nhưng Noobs chắc chắn có thể bỏ lỡ các bước cơ bản này và có một vòng lặp vô hạn chạy trong chương trình của họ.

Code:

Hướng dẫn is for loop infinite in python? - vòng lặp for là vô hạn trong python?

Vì không có mã để tăng giá trị của số nguyên, nó sẽ tiếp tục in nó cho đến khi chúng tôi chấm dứt chương trình.

Output:

Hướng dẫn is for loop infinite in python? - vòng lặp for là vô hạn trong python?

Vì vậy, để tránh vòng lặp không chủ ý, chúng tôi thêm dòng sau vào mã.

Code:

Hướng dẫn is for loop infinite in python? - vòng lặp for là vô hạn trong python?

Và sau đó, số lượng các dòng xác định được in như dưới đây trong đầu ra.

Code:

Hướng dẫn is for loop infinite in python? - vòng lặp for là vô hạn trong python?

Các loại tuyên bố trong & nbsp; Python Infinite Loop

Dưới đây là các loại tuyên bố khác nhau trong vòng lặp Python Infinity:

1. Trong khi tuyên bố trong & nbsp; Python Infinite Loop

Các vòng lặp cực kỳ mạnh mẽ, và chúng thực sự rất cần thiết, nhưng Vòng lặp vô hạn sôi sục như là cạm bẫy duy nhất. Python chỉ có hai loại vòng lặp ‘trong khi vòng lặp và‘ cho vòng lặp. Mặc dù Loop hoạt động chính xác như câu lệnh IF nhưng trong câu lệnh IF, chúng tôi chạy khối mã chỉ một lần, trong khi, trong một thời gian, chúng tôi nhảy trở lại cùng điểm từ nơi mã bắt đầu. Do đó lặp lại cho đến khi một điều kiện được thực hiện. Như chúng ta biết rằng các vòng là vô hạn hoặc có điều kiện. Python trong khi vòng lặp tiếp tục nhắc lại một khối mã được xác định bên trong nó cho đến khi một mong muốn cụ thể được đáp ứng. Vòng lặp trong khi có biểu thức boolean và mã bên trong vòng lặp được tiếp tục miễn là biểu thức boolean đúng.

Cú pháp của & nbsp; Trong khi tuyên bố::

while(expression)
statement(s)

Code:

Hướng dẫn is for loop infinite in python? - vòng lặp for là vô hạn trong python?

Output:

Hướng dẫn is for loop infinite in python? - vòng lặp for là vô hạn trong python?

Như chúng ta có thể thấy ở trên, vòng lặp trong khi sẽ tiếp tục chạy cho đến khi biểu thức boolean là đúng. Cần lưu ý rằng các câu lệnh được thực thi sau khi vòng lặp có thể là một dòng hoặc thậm chí một khối mã chứa nhiều dòng. Có một điều phải được hiểu rõ ràng. Rằng trong khi vòng lặp được kiểm soát nhập cảnh, có nghĩa là nó sẽ không bao giờ chạy nếu thử nghiệm ban đầu là sai.

Code:

Hướng dẫn is for loop infinite in python? - vòng lặp for là vô hạn trong python?

Biểu thức trên là sai; Do đó không có gì sẽ được thực hiện trong đầu ra.

2. Sử dụng câu lệnh IF với vòng lặp trong khi

Chúng ta có thể áp đặt một tuyên bố khác trong vòng một thời gian và thoát ra khỏi vòng lặp. Chúng ta có thể sử dụng các câu lệnh điều khiển Python như ‘break và‘ tiếp tục. Việc phá vỡ được sử dụng như một tuyên bố điều khiển Python và ngay khi nó gặp phải, nó bỏ qua toàn bộ thực thi khối. Chúng ta có thể sử dụng câu lệnh IF-Else và sử dụng từ khóa Break để thoát ra khỏi vòng lặp trong khi trước khi hoàn thành điều kiện của vòng lặp trong khi.

3. Sử dụng tuyên bố phá vỡ

Dưới đây là một ví dụ sẽ minh họa những điều trên:

Code:

Hướng dẫn is for loop infinite in python? - vòng lặp for là vô hạn trong python?

Output:

Hướng dẫn is for loop infinite in python? - vòng lặp for là vô hạn trong python?

Do đó, chúng ta thấy ở đây rằng luồng của chương trình nhảy ra khỏi vòng lặp trước khi hoàn thành lần lặp thứ 10 và trong khi vòng lặp được chấm dứt và in trong bảng điều khiển.

4. Sử dụng tuyên bố tiếp tục

Tiếp tục được sử dụng như một tuyên bố kiểm soát. Ngay khi gặp phải tiếp tục, lần lặp hiện tại sẽ bị bỏ qua.

Code:

Hướng dẫn is for loop infinite in python? - vòng lặp for là vô hạn trong python?

Output:

Hướng dẫn is for loop infinite in python? - vòng lặp for là vô hạn trong python?

Chúng ta thấy trong đầu ra rằng các số được in từ 1 đến 9 ngoại trừ 4 vì đây là điều kiện cần phải bỏ qua trong chương trình. Vì vậy, việc lặp lại được bỏ qua và chúng tôi thấy chương trình tiếp tục cho đến khi điều kiện tiếp tục.

Trò chơi đầu hoặc đuôi

Dưới đây là một ví dụ về một trò chơi Toss bằng đồng xu ở Python, được tạo ra với sự giúp đỡ của Loop Loop. Đây là A & NBSP; Trò chơi dựa trên văn bản hoặc một ví dụ khác về cách sử dụng vòng lặp thời gian. Chúng tôi đang nhập lớp ngẫu nhiên ở đây và cũng sử dụng hàm input () để người dùng đọc đầu vào. Nó chỉ là một mô phỏng đơn giản của việc lật các đồng tiền. Chúng tôi sẽ yêu cầu người dùng nhập ‘đầu, hoặc‘ đuôi. Một số liệu thống kê trò chơi đơn giản sẽ được áp dụng ở đây bằng cách tổng hợp số lượng đầu và đuôi xảy ra.

Code:

Hướng dẫn is for loop infinite in python? - vòng lặp for là vô hạn trong python?

Hướng dẫn is for loop infinite in python? - vòng lặp for là vô hạn trong python?

Output:

Hướng dẫn is for loop infinite in python? - vòng lặp for là vô hạn trong python?

Đầu ra cuối cùng mà chúng tôi nhận được sau khi chúng tôi nhập các giá trị I, E ‘Heads, hoặc‘ Tails, như dưới đây:

Code:

Hướng dẫn is for loop infinite in python? - vòng lặp for là vô hạn trong python?

Trong đoạn mã, chúng ta thấy rằng lớp ngẫu nhiên tạo ra các giá trị ngẫu nhiên hoặc ‘đầu, hoặc’ đuôi, vì chúng ta đã cung cấp các tùy chọn ở trên và lưu trữ chúng trong biến lật. Do đó, khi đầu vào của người dùng khớp với giá trị trong lật, thì một người thắng; nếu không một người thua, và trong khi vòng lặp tiếp tục chạy cho đến lúc đó. Một điều kiện thoát chỉ là khi ‘X, hoặc‘ X, được đưa ra làm đầu vào. Trong trường hợp đó, giá trị tính toán của lần lặp được in ra. Đây chỉ là một minh họa đơn giản của một trò chơi dựa trên văn bản được thực hiện bằng cách sử dụng một vòng lặp trong thời gian.

Sự kết luận

Khi con người thấy các nhiệm vụ lặp đi lặp lại nhàm chán, nó làm cho những nhiệm vụ đó khá dễ bị lỗi của con người. Do đó, các chương trình lặp lại có các tiện ích của chúng và phục vụ như một sự trợ giúp tuyệt vời trong nhiều ứng dụng cần thiết cho một vòng lặp để chạy vô hạn cho đến khi nó bị gián đoạn. Nhiều trò chơi dựa trên văn bản đơn giản có thể được tạo bằng cách sử dụng vòng lặp thời gian.

Bài viết đề xuất

Đây là một hướng dẫn cho Python Infinite Loop. Ở đây chúng tôi thảo luận về phần giới thiệu và các loại tuyên bố khác nhau cùng với việc thực hiện mã. Bạn cũng có thể & nbsp; xem qua các bài viết được đề xuất khác của chúng tôi để tìm hiểu thêm -

  1. Tuyên bố phá vỡ Python
  2. Python lồng nhau
  3. Bộ Python
  4. Các tính năng Python

Là cho vòng lặp vô hạn?

Ba phần của vòng lặp: khởi tạo thay đổi, điều kiện và cập nhật biến là tùy chọn.Nếu điều kiện vắng mặt, nó được đánh giá là đúng.Vòng lặp tiếp tục cho đến khi một cái gì đó khác trong khối vòng dừng dừng nó.Vì trong ví dụ của bạn cho vòng lặp trống, nó là một vòng lặp vô hạn.Since in your example for loop is empty, it is an infinite loop.

Là cho vòng lặp hữu hạn hay vô hạn?

Trường hợp đơn giản nhất của một vòng lặp hữu hạn là vòng lặp trong một phạm vi, như trong ví dụ xuất hiện ở đây.finite loop is the for loop within a range, as in the example appearing here.

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

Vòng lặp vô hạn Nếu điều kiện trong khi vòng lặp luôn đúng, chúng ta sẽ có một vòng lặp vô hạn.while loop is always True , we get an infinite loop.

Làm thế nào để bạn kiểm tra các vòng lặp vô hạn trong Python?

Nếu chương trình Python xuất dữ liệu, nhưng bạn không bao giờ thấy đầu ra đó, đó là một chỉ số tốt mà bạn có một vòng lặp vô hạn.Bạn có thể kiểm tra tất cả các chức năng của mình trong bản phát hành và chức năng "không quay lại" [với dấu nhắc lệnh] là một nghi ngờ có khả năng., that's a good indicator you have an infinite loop. You can test all your functions in the repl, and the function that does "not come back" [to the command prompt] is a likely suspect.