如何在 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 异常。
广告