安迪Python

V1

2022/12/15阅读:28主题:默认主题

48.break语句-终止当前循环

48.python 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次循环】

  1. for i in range(1, 6) :表示从1到5的序列中依次取值并赋值给变量i;第1次取值i=1

  2. if i == 3:if 条件判断语句。判断i是否等于3。此时i=1,不等于3。

  3. 条件不成立,不执行break语句。

  4. 程序往下走,执行print("我吃了%s个鸡腿。" % i)

这里的输出用的是%占位符格式化输出。

"我吃了%s个鸡腿。"是我要输出的内容,%s是给后面需要替换的数字占位。

%是格式化的固定语法。

i是要格式化即要替换的变量。

注意两两之间用空格,不用逗号。

因此,第1次循环输出我吃了1个鸡腿。

【第2次循环】

  1. for i in range(1, 6) :第2次取值i=2

  2. if i == 3:此时i=2,不等于3。

  3. 条件不成立,不执行break语句。

  4. 程序往下走,执行print("我吃了%s个鸡腿。" % i)

  5. 第2次循环输出我吃了2个鸡腿。

【第3次循环】

  1. for i in range(1, 6) :第3次取值i=3

  2. if i == 3:此时i=3。

  3. 条件成立,执行break语句。

  4. 终止循环,所有的循环到此结束。

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次循环】

  1. for i in range(1, 6) :第1次取值i=1

  2. if i == 3:此时i=1,不等于3。

  3. 条件不成立,不执行break语句。

  4. 注意break语句后面的print语句与for循环语句对齐,它不是循环体中的代码,不属于循环的部分。

  5. 因此,此时不执行print语句。

  6. 程序返回for语句,继续执行循环。

【第2次循环】

  1. for i in range(1, 6) :第2次取值i=2

  2. if i == 3:此时i=2,不等于3。

  3. 条件不成立,不执行break语句。

  4. 程序返回for语句,继续执行循环。

【第3次循环】

  1. for i in range(1, 6) :第3次取值i=3

  2. if i == 3:此时i=3,等于3。

  3. 条件成立,执行break语句。

  4. 执行break语句则终止循环。

循环终止后,程序往下走,执行print语句。

此时i=3,因此终端输出我吃了3个鸡腿。

6. break语句循环图

48_break 循环
48_break 循环

备注:图片来源于书籍《看漫画学Python》。

分类:

后端

标签:

Python

作者介绍

安迪Python
V1