Python break contine语句用法(跳出循环)

< 上一页Python for循环 Python异常初探下一页 >
我们之前学过,while 循环可以持续判断,直到用户输入正确。但如果用户没有输入正确的内容,循环将一直进行,在实际编写程序的过程中,我们要避免这种无限循环的情况发生。

break 语句

如果像上一小节那样,程序进入到无止尽的循环中,我们有一种捷径,可以让 while 循环立即中断。这就是 break 语句。

还是以刚才的代码为例,我们对它稍作修改,代码如下。
name=""
while name!="Johnson":
    print("Please input a name. Enter 'q' to quit: ")
    name=input()
    if name == "q":
       break
这次我们留了个“后门”,如果用户不能正确输入名称,可以输入字母“q ”来退出循环,如图 1 所示。

break跳出循环
图 1

我们可以在程序中的某个位置添加一条 break 语句,以确保用户不会陷入一个永不退出的程序中。例如,在 Python 中,我们经常会用到 while True 这样一个看上去像是永久的循环语句,但是同时会在代码中加入 break 条件判断,用以在循环内部的某个条件达成时终止循环。

我们来看一个示例,假设了一个保险柜的密码是“338822”,程序要求用户输入正确的密码后,才能够打开保险柜,代码如下。
password = "338822"
while True:
    userInput = input("请输入6位密码:")
    if userInput == password:
        print("打开保险柜")
        break
    else:
        print("您输入的密码不正确,请重新输入")
因为 while 后面跟着是 True,那么意味着整个循环会一直执行,直到输入的数字等于设定的密码后,才会跳出循环,如图 2 所示。

输入正确 跳出循环
图 2

continue 语句

在 while 循环中,如果我们只是想要返回到循环开头处,然后根据条件来决定是否继续执行循环,而不是直接退出循环,可以使用 continue 语句。例如,我们要打印出 1 到 10 的数字,但是不打印 3 的倍数,代码如下。
number=0
while number<10:
    number=number+1
    if number %3 ==0:       
        continue
    print ("The current number is :"+str(number))
我们首先创建了一个名为 number 的变量,并且把它的初始值设置为 0。当开始while循环的时候,先查看 number 是否小于 10。因为 number 现在的值是 0,小于 10,所以执行代码块(循环的主体)中的语句,首先语句 number=number+1 会把 number 的值加 1。

接下来,语句 number %3 ==0 会判断 number 是否能够被 3 整除。如果这个条件为 True,则执行 continue 语句跳出本次循环,直接进入下一次循环;否则,打印当前 number 的数值。程序运行的结果如图 3 所示。

打印nunber数值
图 3

< 上一页Python for循环 Python异常初探下一页 >