Python 编程B07:程序控制结构(一)

B站影视 内地电影 2025-10-29 00:03 2

摘要:程序不应只是按顺序执行的一串命令,还需要根据条件做出判断,或反复执行某段代码。这种决定程序执行路径的机制称为“控制结构”。

第六章 程序控制结构

程序不应只是按顺序执行的一串命令,还需要根据条件做出判断,或反复执行某段代码。这种决定程序执行路径的机制称为“控制结构”。

控制结构是程序逻辑的核心,使计算机具备选择和循环的能力。Python 提供了简洁直观的语法,让程序能够根据不同条件执行不同分支,或在满足条件时持续重复。

学习目标:

(1)理解程序流程控制的三种基本结构:顺序、选择与循环。

(2)掌握 if 条件语句、三元表达式与 match-case 分支结构。

(3)掌握 while 与 for 循环及循环控制语句(break、continue)。

(4)能运用控制结构编写含判断与重复逻辑的实用程序。

6.1 程序流程及控制结构

当计算机执行一个程序时,并不是一次性完成所有操作,而是按照一定的逻辑顺序逐步推进。

6.1.1 程序流程图

算法和程序逻辑可以用多种方式表示:自然语言、伪代码、传统流程图、N-S 图(结构化流程图)、PAD 图等。

传统流程图使用 ANSI(美国国家标准化协会)规定的一些标准图形符号来表示。

传统流程图常用图形符号

流程图用“图”的方式呈现程序逻辑,使复杂的控制关系更易理解。

程序的执行路径总是沿着箭头,从一个步骤流向下一个步骤。

6.1.2 三种基本控制结构

顺序结构、选择结构和循环结构是控制程序执行路径的三大基本形式,它们共同构成了所有算法的逻辑骨架。

三种基本结构示意图

(1)顺序结构

顺序结构是最基本的流程形式。

语句从上到下依次执行,每条语句仅执行一次。

(2)选择结构

程序根据条件判断执行不同的路径。

Python 使用 if、elif、else 等实现。

(3)循环结构

重复执行一段代码,直到条件不再满足。

Python 提供 while 和 for 两种循环语句。

6.1.3 程序控制结构扩展

除了三种基本结构,Python 还提供更灵活的控制机制,使程序在异常情况或复杂循环中保持稳定。

(1)异常处理控制

当程序运行中出现错误(如除零、类型不匹配、文件未找到等)时,会触发异常。若未处理,程序会中断。

异常控制结构允许程序在出错时跳转到指定的“异常处理”部分继续执行,保证健壮性。

异常处理流程示意图

异常控制使程序能够在遇到问题时“有序转移”,而非直接崩溃。

(2)循环控制语句

在循环结构中,break 与 continue 可实现更精细的流程控制。

break:立即终止当前循环,跳出循环体。

continue:跳过本次循环的剩余部分,直接进入下一次循环判断。

这些控制语句让循环更加灵活。

6.2 选择结构程序设计

程序在执行过程中,常常需要根据不同条件来决定执行不同的语句块。这种“按条件选择路径”的能力称为“选择结构”。

6.2.1 条件表达式与逻辑运算

选择结构的判断依据是“条件表达式”,其结果为布尔值 True 或 False。

6.2.1.1比较运算符

Python 的比较运算符分为三类:值比较、身份比较和成员比较。

(1)值比较

用于比较两个值的大小或相等关系。

运算符

含义

示例

结果

等于

5 == 5

True

不等于

5 != 3

True

大于

7 > 4

True

小于

3

True

大于等于

6 >= 6

True

小于等于

2

True

(2)身份比较

用于判断两个变量是否引用同一对象。

运算符

含义

示例

结果

is

是否为同一对象

a is b

True / False

is not

是否不是同一对象

a is not b

True / False

(3)成员判断

用于判断元素是否属于某个序列或集合。

运算符

含义

示例

结果

in

是否包含

'a' in 'cat'

True

not in

是否不包含

'b' not in 'cat'

True

• 三种比较运算符属同一优先级,均支持链式比较(但不推荐混写)。

• 值相等用 ==;是否为 None 用 is。

• 浮点误差会导致直观不相等。比如:

print(0.1 + 0.2 == 0.3) # False

6.2.1.2 逻辑运算符

用于组合多个条件判断。

运算符

含义

示例

结果

and

同时为真

x > 0 and y > 0

True

or

任一为真

x

True

not

取反

not True

False

• 逻辑判断依赖 Python 的。

• and、or 具有短路求值特性。

• not 始终返回布尔值。

• and、or 可能返回某个操作数本身,而非布尔值。 在 Python 中,逻辑表达式返回最后被求值的操作数,而非强制转换为 True / False。

示例:判断闰年

print(f"{year}年不是闰年。")

6.2.2 if 语句

if 语句可根据条件表达式的真假,决定是否执行某段代码。

6.2.2.1单分支结构:if

语法格式:

语句块

示例:

print("天气很热,注意防晒。")

程序只在条件为真时执行语句块,否则跳过。

6.2.2.2 二分支结构:if–else

语法格式:

语句块2

示例:

print("这是一个奇数。")

6.2.2.3多分支结构:if–elif–else

语法格式:

语句块4

示例:

print("不及格")

Python 会从上到下依次判断条件,第一个为真即执行对应语句块,其余部分将被忽略。

6.2.3 三元条件表达式

三元条件表达式(也称“条件运算表达式”)是一种简洁写法,用于根据条件返回不同结果。

语法格式:

value_if_true if condition else value_if_false

示例:

print(status)

相当于:

6.2.4 嵌套条件与层次判断

在实际应用中,判断条件可能是多层次的。if 语句可以嵌套使用,以表达更复杂的逻辑关系。

示例:

print("请继续努力。")

提示:

过多的嵌套会降低可读性,应优先使用逻辑运算符或提前返回的方式简化结构。

6.2.5 结构模式匹配 match-case

是结构模式匹配语句(Python 3.10+),用于根据表达式的取值匹配不同的模式(pattern),并执行相应的语句块。

语法格式:

默认语句块

流程说明:

(1)match 先计算“表达式”的值;

(2)程序依次尝试与各个 case 的“模式”进行匹配;

(3)第一个匹配成功的分支被执行,其余分支跳过;

(4)若所有模式都不匹配,则执行 case _:,作为默认分支。

示例:

print("无效命令。")

提示:

_ 是一个普通的变量名,只是 Python 社区约定俗成地把它当作占位符或哑变量来用,表示“这个值我不关心”。

6.3 选择结构综合示例

例 6.3.1 目标检测结果的置信度判断

当计算机视觉模型输出预测结果时,我们通常会根据置信度判断结果是否可信。

方法一:if-else 写法

print(f"识别不确定(置信度:{confidence}),建议重新检测。")

运行示例:

识别不确定(置信度:0.76),建议重新检测。

方法二:三元条件表达式写法

print(message)

例 6.3.2 求一元二次方程的根

输入一元二次方程的三个系数 a、b、c,求此方程的根。

print(message)

示例输出:

方程有两个共轭虚根:(-1+2j) 和 (-1-2j)

例 6.3.3 网贷风险提示

根据输入的贷款金额,计算出预计一年后应偿还总额以及三年后利滚利(按年复利)应偿还总额,并给出不同的风险提示。

示例输出:

三年后利滚利总额:16430.32元

小结

本次课介绍了程序的基本控制结构与选择结构的实现方式。通过 if、elif、else 与 match-case,Python 让程序能够根据不同条件灵活决策。

下一次课将学习循环结构程序设计,让程序在满足条件时能重复执行操作。

“点赞有美意,赞赏是鼓励”

来源:柯梧教育

相关推荐