如何在 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 異常。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP