48.break语句-终止循环
文章目录
- 48.break语句-终止循环
- 1.循环控制
- 2.break的作用
- 3. 语法
- 4. 实操练习
- 5. 知识扩展:print的位置
- 6. break语句循环图
1.循环控制
在循环的过程中如果要退出循环,我们可以用break语句和continue语句。
2.break的作用
break [breɪk]:打破;中止。
break单词的中文意思是打破,中止。
【作用】
终止循环。
【使用方法】
当循环代码中的某个条件被满足后,执行该条件下面的break语句。
这时,循环终止。
【break与continue的区别】
continue语句作用是跳出本轮循环,继续下一次循环。
break语句作用是终止循环。
3. 语法
if 条件表达式 :
break
【语法解析】
关键词if
后面跟一个条件表达式。
条件表达式后面跟一个英文冒号:
。
回车后输入break
语句。
特别注意break语句前有4个空格
的缩进。
【温馨提示】
break语句和continue语句只能写在循环里面。
4. 实操练习
【前景提要】
盘子里有5个鸡腿,啃完第1个,啃第2个,这里“啃鸡腿”的动作是重复执行的。
情况1:我啃完第3个发现自己已经饱了,不需要在啃第4个,第5个。这时“啃鸡腿”动作停止,停止用break语句来终止循环。
情况2:我啃到第3个鸡腿的时候,发现第3个鸡腿里有虫子,我把第3个鸡腿扔垃圾桶,继续啃第4个、第5个。这里用continue语句跳出第3次循环,继续执行后面的循环。
【情况1编写思路】
5个鸡腿,需要循环5次,我们用range(1, 6)来控制循环次数。
设定一个变量i
存储我啃的鸡腿数。
当i=3
的时候我饱了。
用break语句结束循环。
【体验代码】
# range(1,6)可以返回1到5的序列
# for 循环依次从range(1,6)中取值并赋值给i
for i in range(1,6) :
# 如果i等于3
if i == 3:
# 执行break语句,终止循环
break
# 输出我吃了?个鸡腿
print("我吃了%s个鸡腿。" % i)
【终端输出】
我吃了1个鸡腿。
我吃了2个鸡腿。
【代码解析】
range(1,6)
返回一个1到5的序列。
for in
是for循环语句的固定用法。
i
是循环变量。
for i in range(1,6) :
表示从1到5的序列中依次取值并赋值给变量i。
注意for循环语句后面必须跟一个英文冒号:
。
【第1次循环】
-
for i in range(1, 6) :
表示从1到5的序列中依次取值并赋值给变量i
;第1次取值i=1
。 -
if i == 3:
if 条件判断语句。判断i是否等于3。此时i=1,不等于3。 -
条件不成立,不执行break语句。
-
程序往下走,执行
print("我吃了%s个鸡腿。" % i)
。
这里的输出用的是%
占位符格式化输出。
"我吃了%s个鸡腿。"
是我要输出的内容,%s
是给后面需要替换的数字占位。
%
是格式化的固定语法。
i
是要格式化即要替换的变量。
注意两两之间用空格,不用逗号。
因此,第1次循环输出我吃了1个鸡腿。
【第2次循环】
-
for i in range(1, 6) :
第2次取值i=2
。 -
if i == 3:
此时i=2,不等于3。 -
条件不成立,不执行break语句。
-
程序往下走,执行
print("我吃了%s个鸡腿。" % i)
。 -
第2次循环输出
我吃了2个鸡腿。
【第3次循环】
-
for i in range(1, 6) :
第3次取值i=3
。 -
if i == 3:
此时i=3。 -
条件成立,执行break语句。
-
终止循环,所有的循环到此结束。
5. 知识扩展:print的位置
观察下面的2段代码,注意print的位置。
【代码1】
# range(1,6)可以返回1到5的序列
for i in range(1,6) :
# 如果i等于3
if i == 3:
# 执行break语句,终止循环
break
# 输出我吃了?个鸡腿
print("我吃了%s个鸡腿。" % i)
【终端输出】
我吃了1个鸡腿。
我吃了2个鸡腿。
代码1print
的位置相对于for循环语句有4个空格
的缩进。
【代码2】
# range(1,6)可以返回1到5的序列
for i in range(1,6) :
# 如果i等于3
if i == 3:
# 执行break语句,终止循环
break
# 输出我吃了?个鸡腿
print("我吃了%s个鸡腿。" % i)
【终端输出】
我吃了3个鸡腿。
代码2print
的位置与for循环语句是对齐的。
print
的位置不同,输出的结果是不同的。
代码1输出的是:
我吃了1个鸡腿。
我吃了2个鸡腿。
代码2输出的是:
我吃了3个鸡腿。
【代码2解析】
【第1次循环】
-
for i in range(1, 6) :
第1次取值i=1
。 -
if i == 3:
此时i=1,不等于3。 -
条件不成立,不执行break语句。
-
注意break语句后面的print语句与for循环语句对齐,它不是循环体中的代码,不属于循环的部分。
-
因此,此时不执行print语句。
-
程序返回for语句,继续执行循环。
【第2次循环】
-
for i in range(1, 6) :
第2次取值i=2
。 -
if i == 3:
此时i=2,不等于3。 -
条件不成立,不执行break语句。
-
程序返回for语句,继续执行循环。
【第3次循环】
-
for i in range(1, 6) :
第3次取值i=3
。 -
if i == 3:
此时i=3,等于3。 -
条件成立,执行break语句。
-
执行break语句则终止循环。
循环终止后,程序往下走,执行print语句。
此时i=3,因此终端输出我吃了3个鸡腿。
6. break语句循环图
备注:图片来源于书籍《看漫画学Python》。