如何防止 Python 中的循环进入无限模式?
pythonserver side programmingprogramming
在 Python 中,需要通过在循环主体内部进行一些设置来控制 while 循环,以使开头提到的条件变为 false。这通常通过保持迭代次数来实现。
如果 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 !
示例
我们还可以使用 Try and except 方法来处理无限循环,如下例所示。
while True: try: print("Python!") except: break
输出
Python!
上述程序也会一直执行,直到通过单击 CTRL + C 手动中断。但它不会像上一个示例一样引发 KeyboardInterrupt 异常。except 块通过使用 break 语句来抑制 KeyboardInterrupt 异常。