如何在 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