目 录CONTENT

文章目录

Python(十三) 中的中断语句和流程控制语句

Python(十三) 中的中断语句和流程控制语句

一、什么是中断语句

在 Python 中,中断语句通常指能够改变程序正常执行顺序的语句。

正常情况下,程序会从上到下一行一行执行。

但是有时候,我们希望程序:

提前结束循环
跳过本次循环
先占一个位置,以后再写代码
提前结束函数
主动抛出错误

这时就会用到一些特殊的流程控制语句。

初学阶段最常见、最重要的是下面三个:

break
continue
pass

另外,为了教学更完整,也可以简单了解:

return
raise

它们也会改变程序的执行流程,但使用场景和 breakcontinuepass 不完全一样。

二、常见语句对比

可以先用一张表帮助学生建立整体认识。

语句        主要作用
break       结束整个循环
continue    跳过本次循环,进入下一次循环
pass        什么也不做,只是占位
return      结束函数,并返回结果
raise       主动抛出异常,打断正常执行流程

简单记忆:

break:不循环了
continue:这一次不做了,继续下一次
pass:先空着,以后再写
return:函数到这里结束
raise:这里出错了,抛出异常

三、break 语句

1. break 的定义

break 的作用是立刻结束当前所在的整个循环。

只要程序执行到 break,循环就会马上停止,后面的循环次数不会再执行。

break 常用于:

找到目标后停止查找
用户输入正确后停止重复输入
满足某个条件后提前结束循环

2. break 的基本用法

示例:循环输出 1 到 5,遇到 3 时停止。

for i in range(1, 6):
    if i == 3:
        break
    print(i)

输出结果:

1
2

执行过程:

i = 1,没有遇到 break,输出 1
i = 2,没有遇到 break,输出 2
i = 3,满足 i == 3,执行 break,循环结束

注意:i 等于 3 时,print(i) 没有执行。

3. break 在 while 循环中的使用

示例:输入密码,直到密码正确为止。

while True:
    password = input("请输入密码:")

    if password == "123456":
        print("登录成功")
        break
    else:
        print("密码错误,请重新输入")

这里的 while True 表示一直循环。

如果用户输入的密码是 "123456",就输出“登录成功”,然后执行 break,结束循环。

如果密码不正确,就继续下一次输入。

4. break 只结束当前这一层循环

如果有嵌套循环,break 只会结束它所在的那一层循环,不会直接结束所有循环。

示例:

for i in range(1, 4):
    for j in range(1, 4):
        if j == 2:
            break
        print("i =", i, "j =", j)

输出结果:

i = 1 j = 1
i = 2 j = 1
i = 3 j = 1

解释:

内层循环中 j 等于 2 时,break 结束的是内层循环。
外层循环还会继续执行。

如果想结束多层循环,需要额外使用标记变量,或者把代码封装到函数中,用 return 结束函数。

四、continue 语句

1. continue 的定义

continue 的作用是跳过本次循环剩下的代码,直接进入下一次循环。

也就是说,continue 不是结束整个循环,而是结束“当前这一次”。

continue 常用于:

跳过不符合条件的数据
过滤掉不想处理的内容
遇到特殊情况时不执行本次后续代码

2. continue 的基本用法

示例:输出 1 到 5,但跳过 3。

for i in range(1, 6):
    if i == 3:
        continue
    print(i)

输出结果:

1
2
4
5

执行过程:

i = 1,输出 1
i = 2,输出 2
i = 3,执行 continue,跳过本次 print(i)
i = 4,输出 4
i = 5,输出 5

3. continue 在数据过滤中的使用

示例:只输出列表中的正数。

numbers = [3, -1, 5, 0, -2, 8]

for num in numbers:
    if num <= 0:
        continue
    print(num)

输出结果:

3
5
8

解释:

如果 num 小于等于 0,就执行 continue,跳过本次循环。
只有正数才会执行 print(num)。

4. continue 在 while 循环中要特别小心

while 循环中使用 continue 时,要特别注意变量是否已经改变。

错误示例:

i = 0

while i < 5:
    if i == 2:
        continue
    print(i)
    i = i + 1

这段代码会出现死循环。

原因是:

当 i 等于 2 时,执行 continue。
continue 会跳过后面的 print(i) 和 i = i + 1。
所以 i 一直是 2,循环永远不会结束。

正确写法:

i = 0

while i < 5:
    i = i + 1

    if i == 3:
        continue

    print(i)

输出结果:

1
2
4
5

教学提醒:

while 循环中使用 continue 前,要确保循环条件有机会改变。

五、pass 语句

1. pass 的定义

pass 的作用是什么也不做,只是占一个位置。

严格来说,pass 并不会中断程序,也不会跳过循环。

它是一个“空语句”。

Python 的语法要求某些地方必须写代码块,例如:

if 后面
for 后面
while 后面
函数体中
类的内部
except 后面

如果暂时没有代码可写,就可以先写 pass,表示“这里先空着”。

2. pass 的基本用法

示例:

age = 18

if age >= 18:
    pass
else:
    print("未成年")

这里的意思是:

如果 age >= 18,暂时什么也不做。
否则,输出“未成年”。

3. pass 用在函数中

当我们先写好函数结构,但暂时还没想好函数内容时,可以使用 pass

def login():
    pass

如果不写 pass,函数体为空,程序会报错。

错误写法:

def login():

正确写法:

def login():
    pass

4. pass 用在类中

示例:

class Student:
    pass

这表示先定义一个 Student 类,类里面暂时不写具体内容。

5. pass 用在异常处理中

示例:

try:
    num = int(input("请输入一个数字:"))
except ValueError:
    pass

这段代码表示:

如果用户输入的内容不能转换成整数,暂时什么也不做。

不过教学时要提醒学生:不要随便用 pass 忽略错误。

更推荐的写法是给出提示:

try:
    num = int(input("请输入一个数字:"))
except ValueError:
    print("输入错误,请输入整数")

6. pass 和 continue 的区别

passcontinue 很容易混淆。

看下面的例子:

for i in range(1, 4):
    if i == 2:
        pass
    print(i)

输出结果:

1
2
3

因为 pass 什么也不做,程序会继续执行后面的 print(i)

再看 continue

for i in range(1, 4):
    if i == 2:
        continue
    print(i)

输出结果:

1
3

因为 continue 会跳过本次循环后面的代码,所以 i 等于 2 时不会输出。

简单对比:

pass:什么也不做,然后继续往下执行
continue:跳过本次循环后面的代码,直接进入下一次循环

六、return 语句

1. return 的定义

return 的作用是结束函数,并把结果返回给调用函数的位置。

return 主要用在函数中。

严格来说,return 不属于循环中的中断语句,但它会中断函数的继续执行。

如果 return 写在循环里面,那么函数会直接结束,循环也会跟着结束。

2. return 的基本用法

示例:

def add(a, b):
    return a + b

result = add(3, 5)
print(result)

输出结果:

8

解释:

return a + b 表示把 a + b 的结果返回出去。

3. return 会结束函数

示例:

def test():
    print("第一行")
    return
    print("第二行")

test()

输出结果:

第一行

return 后面的 print("第二行") 不会执行。

4. return 可以用于提前结束查找

示例:判断列表中是否有目标数字。

def has_number(numbers, target):
    for num in numbers:
        if num == target:
            return True
    return False

result = has_number([1, 2, 3, 4], 3)
print(result)

输出结果:

True

解释:

一旦找到 target,就 return True,函数马上结束。
如果循环结束还没找到,就 return False。

七、raise 语句

1. raise 的定义

raise 的作用是主动抛出异常。

异常可以理解为程序运行中出现的问题。

当执行到 raise 时,程序的正常流程会被打断。

初学阶段不需要深入掌握所有异常机制,但要知道 raise 是用来主动报告错误的。

2. raise 的基本用法

示例:年龄不能为负数。

age = -1

if age < 0:
    raise ValueError("年龄不能是负数")

程序运行到这里会抛出错误:

ValueError: 年龄不能是负数

3. raise 常用于检查参数

示例:

def set_age(age):
    if age < 0:
        raise ValueError("年龄不能是负数")
    print("年龄是:", age)

set_age(18)

如果传入 18,程序正常执行。

如果传入 -1,程序会主动抛出异常。

教学时可以这样解释:

raise 就像程序主动说:“这里的数据不合理,我不能继续按正常方式执行。”

八、循环中的 else 和 break

Python 的循环可以和 else 搭配使用。

循环中的 else 表示:循环正常结束时执行。

如果循环被 break 提前结束,else 不会执行。

示例 1:循环正常结束。

for i in range(3):
    print(i)
else:
    print("循环正常结束")

输出结果:

0
1
2
循环正常结束

示例 2:循环被 break 打断。

for i in range(5):
    if i == 3:
        break
    print(i)
else:
    print("循环正常结束")

输出结果:

0
1
2

因为循环遇到了 break,所以 else 不会执行。

教学提醒:

循环中的 else 不常用,初学者了解即可。
重点掌握 break、continue、pass。

九、常见注意事项

1. break 和 continue 只能写在循环中

breakcontinue 必须写在 forwhile 循环里面。

错误写法:

if True:
    break

这会报错,因为 break 不在循环中。

错误写法:

if True:
    continue

这也会报错,因为 continue 不在循环中。

2. pass 可以用在需要代码块但暂时不写内容的地方

例如:

if True:
    pass

def func():
    pass

class Student:
    pass

pass 不会报错,也不会做任何事情。

3. break 只结束当前循环

如果是嵌套循环,break 只结束当前所在的那一层循环。

示例:

for i in range(3):
    for j in range(3):
        if j == 1:
            break
        print(i, j)

这里的 break 结束的是内层 for j in range(3),外层循环还会继续。

4. continue 会跳过本次循环后面的代码

示例:

for i in range(1, 4):
    if i == 2:
        continue
    print("当前数字是:", i)

i 等于 2 时,print() 被跳过。

5. while 循环中使用 continue 要防止死循环

错误示例:

i = 0

while i < 5:
    if i == 2:
        continue
    print(i)
    i = i + 1

这段代码的问题是:

i 等于 2 时,continue 会跳过 i = i + 1。
所以 i 永远是 2,循环不会结束。

正确思路:

在 continue 之前,先让循环变量发生变化。

6. 不要用 pass 随便忽略问题

pass 虽然方便,但不能乱用。

不推荐:

try:
    num = int(input("请输入数字:"))
except ValueError:
    pass

这样会让错误悄悄消失,用户不知道发生了什么。

更推荐:

try:
    num = int(input("请输入数字:"))
except ValueError:
    print("输入错误,请输入数字")

7. break 和 continue 常常配合 if 使用

单独写 breakcontinue 虽然可以,但通常没有意义。

常见写法是:

for i in range(10):
    if i == 5:
        break
    print(i)

或者:

for i in range(10):
    if i % 2 == 0:
        continue
    print(i)

也就是说,通常是先判断某个条件,再决定是否中断或跳过。

8. 代码要清楚,不要为了炫技而复杂

中断语句可以让代码更灵活,但使用太多也会让代码难懂。

教学时可以提醒学生:

能不用复杂中断就不用复杂中断。
条件清楚、逻辑清楚,比写得花哨更重要。

十、课堂示例

示例 1:找到第一个偶数后停止

numbers = [1, 3, 5, 8, 10]

for num in numbers:
    if num % 2 == 0:
        print("找到第一个偶数:", num)
        break

讲解:

循环依次检查每个数字。
找到第一个偶数后,使用 break 结束循环。

示例 2:跳过所有负数

numbers = [3, -2, 5, -1, 8]

for num in numbers:
    if num < 0:
        continue
    print(num)

输出结果:

3
5
8

讲解:

遇到负数时,使用 continue 跳过本次循环。
只输出非负数。

示例 3:先写结构,暂时不写功能

def register():
    pass

def login():
    pass

def logout():
    pass

讲解:

pass 可以先占位置。
等以后想清楚具体功能后,再把 pass 换成真正的代码。

示例 4:用户输入 q 时退出

while True:
    text = input("请输入内容,输入 q 退出:")

    if text == "q":
        print("程序结束")
        break

    print("你输入的是:", text)

讲解:

while True 表示一直循环。
当用户输入 q 时,用 break 结束循环。

示例 5:函数中提前返回

def check_score(score):
    if score < 0 or score > 100:
        return "成绩不合法"

    if score >= 60:
        return "及格"
    else:
        return "不及格"

result = check_score(85)
print(result)

讲解:

return 会结束函数。
一旦遇到 return,函数后面的代码就不会继续执行。

十一、课堂练习

练习 1:遇到 6 停止

要求:输出 1 到 10,遇到 6 时停止。

参考代码:

for i in range(1, 11):
    if i == 6:
        break
    print(i)

练习 2:跳过 3 的倍数

要求:输出 1 到 10,但跳过 3 的倍数。

参考代码:

for i in range(1, 11):
    if i % 3 == 0:
        continue
    print(i)

练习 3:完善函数结构

要求:先定义三个函数,函数内容暂时不写。

参考代码:

def add_student():
    pass

def delete_student():
    pass

def search_student():
    pass

练习 4:输入密码,最多尝试 3 次

参考代码:

for i in range(3):
    password = input("请输入密码:")

    if password == "123456":
        print("登录成功")
        break
    else:
        print("密码错误")
else:
    print("尝试次数已用完")

讲解重点:

密码正确时,break 结束循环。
如果 3 次都没有 break,循环正常结束,执行 else。

十二、教学建议

讲解这部分内容时,可以按下面顺序进行:

1. 先复习 for 循环和 while 循环
2. 引出“有时候不想完整执行循环”
3. 先讲 break:直接结束循环
4. 再讲 continue:跳过本次循环
5. 然后讲 pass:占位,什么也不做
6. 最后简单补充 return 和 raise

可以用下面的问题引导学生思考:

如果已经找到了想要的数据,还需要继续找吗?
如果这一次的数据不符合要求,能不能跳过它?
如果函数还没想好怎么写,能不能先把结构写出来?
如果输入的数据明显不合理,程序应该怎么办?

这样学生更容易理解这些语句的实际用途。

十三、总结

Python 中常见的中断和流程控制语句有:

break:
    结束当前循环。

continue:
    跳过本次循环,进入下一次循环。

pass:
    什么也不做,只是占位。

return:
    结束函数,并返回结果。

raise:
    主动抛出异常,打断正常执行流程。

初学阶段重点掌握:

break
continue
pass

最容易混淆的是:

break 和 continue
pass 和 continue

可以这样记:

break:循环到此结束
continue:本次到此结束
pass:这里先空着
return:函数到此结束
raise:程序发现问题,主动报错

一句话总结:

中断语句和流程控制语句可以让程序不再只是机械地从上到下执行,而是能根据情况提前结束、跳过、占位或报告错误。
0
博主关闭了当前页面的评论