Python 如何防止循环进入无限模式
在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
..
示例1
让我们以前面的例子来看看break语句如何停止无限循环。在上面的例子中,while循环只执行了一次,因为break语句在第一次迭代中停止了循环。
while True:
print('Python !')
break
输出
Python !
示例2
我们也可以使用尝试和捕获 的方法来处理无限循环,如下面的示例所示。
while True:
try:
print("Python!")
except:
break
输出
Python!
上述程序也会一直执行,直到通过点击CTRL + C手动中断。但它不会像前一个例子那样引发KeyboardInterrupt异常。except块通过使用break语句来抑制KeyboardInterrupt异常。