首页
搜索 搜索
当前位置:快讯 > 正文

【python基础】循环语句-break关键字

2023-06-08 13:15:49 博客园


(相关资料图)

1.break关键字

break关键字,其作用是在循环中的代码块遇到此关键字,立刻跳出整个循环,执行循环外的下一条语句。其在while和for循环中的作用示意图如下:

1.1break在while循环中的使用1.1.1不加else语句

比如我们通过键盘输入单词,输出刚才的单词,编写程序如下所示:我们发现当我们输入除了quit和break这两个单词之外,输出结果上都会在输入单词之后,输出一条"您输入的单词是:xxxxx"这样的语句,当我们输入break之后,输出的是"循环将通过break关键字退出"和"程序已退出",我们知道"程序已退出"是while循环外print输出的语句,这里没有输出"您输入的单词是:xxxxx",但是程序结构上break是在print("您输入的单词是:"+string)之前的,这只能说明程序执行break之后,后面的代码不会被执行,直接跳出循环,执行循环外的代码。

1.1.2加入else语句

我们知道如果while的条件测试为False,在有else语句的条件下,将会先去执行else语句,再去执行循环外语句,编写程序如下所示:当输入quit之后,因为string == "break"这个条件测试为False,所以执行if语句外的print("您输入的单词是:"+string)这条语句,所以输出结果上显示:"您输入的单词是:quit",当这条语句执行完之后,再去进行while循环的条件测试,此时string是quit,显然条件测试string != "quit"为False,所以跳出while循环,因为有else存在,所以执行else语句中的print("程序通过输入quit方式退出"),所以在输出结果上会显示"程序通过输入quit方式退出",执行完else语句之后,再去执行while循环外的语句print("程序已退出"),所以输出结果上会显示"程序已退出"。那么,当我们输入break,会是什么结果?测试结果如下:我们发现输出结果后半段和没有else语句的程序相同,因此break关键字不但跳出了while循环,而且还跳过else语句执行的代码,直接执行循环外代码。

1.2break在for循环中的使用1.2.1不加else语句

比如我们有一个签到的名单,要查询特定的学员"刘柏宏"来没来上课,只要查询到该学员来上课了就不再继续往下查,编写程序如下所示

1.2.2加入else语句

那么如果签到名单中,一直没有查到学员"刘柏宏"来上课,该如何实现?我们可以结合else来实现编写程序如下所示:因为签到名单中没有"刘柏宏"所以for循环结束后,执行else语句,输出"查询名单结束,签到名单中没有刘柏宏",再执行循环外的print("查询结束"),输出"查询结束"同样的程序逻辑,我们把签到名单中含有"刘柏宏"的测试下,看是否影响含有的情况,编写程序如下所示:发现可以正常查询到"刘柏宏"在签到名单中。当"刘柏宏"在签到名单中时,sign_name== "刘柏宏"在查询到sign_name为"刘柏宏"时条件测试为True,执行if语句下的代码块,print("刘柏宏已经来上课了"),输出结果上显示"刘柏宏已经来上课了",接下来执行break关键字,输出结果上只显示"查询结束",说明break不但跳出了for循环,而且还跳过了else语句,直接执行循环外的代码。总而言之,不管是while循环还是for循环,当break关键字执行后,都会直接跳出循环,即使在else语句存在的条件下,也会跳过else语句,直接执行循环外的代码。