如何在 Python 中防止迴圈進入無限迴圈模式?


在 Python 中,while 迴圈需要透過在迴圈體內部做出一些安排來控制,以將開頭提到的條件驅動為假。這通常透過計算迭代次數來完成。

如果 while 迴圈條件永遠不會評估為 False,那麼我們將得到一個無限迴圈,這是一個永遠不會自動停止的迴圈,在這種情況下,我們需要從外部中斷。

count=0
while condition:
   stmt1
   stmt2
   .
   .
   count=count+1

示例

讓我們舉個例子,看看如何防止 while 迴圈進入無限迴圈模式。

count = 0
while count < 5:
    print('Python !')
    count+=1

輸出

Python !
Python !
Python !
Python !
Python !

在迴圈中,我們將條件變數“Count”的值增加了 1,以便我們可以迭代迴圈 5 次。

手動中斷迴圈

如果我們在程式中沒有提到任何迴圈中斷語句/計數器,那麼我們可以透過按下 CTRL + C 手動中斷程式。然後它將引發如下所示的 KeyboardInterrupt 異常。

示例

迴圈一直執行到按下 CTRL + C 為止,但 Python 也有一個 break 語句,我們可以直接在程式碼中使用它來停止這種型別的迴圈。

while True:
    print('Python !')

輸出

Python !
Python !
Python !
Python !
Python !
Python !
Python !
Python !
Python !
Python !
Python !
Python !
Python !
.
.
.

---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-9-f36b31426ed4> in <module>
      1 while True:
----> 2     print('Python !')

使用 break 語句

迴圈重複也可以透過使用 break 語句提前退出迭代來控制。

語法

while True:
   stmt1
   stmt2
   if expr==True: 
   break
   stmt3
   ..

示例

讓我們以之前的例子為例,看看 break 語句是如何停止無限迴圈的。在上面的例子中,while 迴圈只執行了一次,因為 break 語句在第一次迭代中停止了迴圈。

while True:
    print('Python !')
    break

輸出

Python !

示例

我們還可以使用 **嘗試和異常** 方法來處理如下例所示的無限迴圈。

while True:
    try:
        print("Python!")
    except: 
        break

輸出

Python!

上面的程式也會一直執行到手動按下 CTRL + C 中斷為止。但它不會像前面的例子那樣引發 KeyboardInterrupt 異常。except 程式碼塊透過使用 break 語句抑制了 KeyboardInterrupt 異常。

更新於: 2023年8月23日

2K+ 閱讀量

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.