网易首页 > 网易号 > 正文 申请入驻

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

0
分享至

第六章 程序控制结构

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

控制结构是程序逻辑的核心,使计算机具备选择和循环的能力。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 < 8

True

大于等于

6 >= 6

True

小于等于

2 <= 5

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 < 0 or y < 0

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 二分支结构:ifelse

语法格式:

    语句块2

示例:

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

6.2.2.3多分支结构:ifelifelse

语法格式:

    语句块4

示例:

    print("不及格")

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

6.2.3 三元条件表达式

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

语法格式:

value_if_true if condition else value_if_false

示例:

print(status)

相当于:

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 网贷风险提示

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

print(message)

示例输出:

三年后利滚利总额:16430.32元

小结

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

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

点赞有美意,赞赏是鼓励

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
馆长公开质问郑丽文:两岸问题你站哪边?郑丽文的回答引人深思

馆长公开质问郑丽文:两岸问题你站哪边?郑丽文的回答引人深思

博览历史
2025-09-11 09:34:22
欧洲车企付荷兰总部钱却拿不到货,中国公司要求重签合同再付款

欧洲车企付荷兰总部钱却拿不到货,中国公司要求重签合同再付款

西莫的艺术宫殿
2025-11-01 15:50:54
赛季首败!文班亚马9分6失误罕见迷失,布克轰28+13打爆马刺

赛季首败!文班亚马9分6失误罕见迷失,布克轰28+13打爆马刺

体坛小李
2025-11-03 11:37:02
王艺迪击败温特夺冠,松岛辉空战胜莫雷加德夺冠,都有把握

王艺迪击败温特夺冠,松岛辉空战胜莫雷加德夺冠,都有把握

子水体娱
2025-11-02 22:40:55
固态电池被吹成“电池革命”?3大致命缺点,5年内难普及

固态电池被吹成“电池革命”?3大致命缺点,5年内难普及

沙雕小琳琳
2025-11-02 15:01:30
悬念揭晓!山东泰山核心外援瓦科去向曝光,曝江南球队或2选1

悬念揭晓!山东泰山核心外援瓦科去向曝光,曝江南球队或2选1

璞玉话体坛
2025-11-02 19:49:43
辛纳2-0击败阿利亚西姆,斩获巴黎大师赛冠军并重返世界第一

辛纳2-0击败阿利亚西姆,斩获巴黎大师赛冠军并重返世界第一

懂球帝
2025-11-03 00:14:31
算钱!法国赛国乒7人拿多少奖金?陈熠陪王艺迪,球拍胶皮引争议

算钱!法国赛国乒7人拿多少奖金?陈熠陪王艺迪,球拍胶皮引争议

体育大学僧
2025-11-03 09:21:08
认清现实!菲律宾慌了,发现美国根本靠不住

认清现实!菲律宾慌了,发现美国根本靠不住

陆弃
2025-11-03 10:53:30
“你都31岁了,还开10万的车,好意思出来相亲?”

“你都31岁了,还开10万的车,好意思出来相亲?”

吃瓜盟主
2025-11-01 23:02:24
毛主席视察天津时想见李银桥,得知他已经入狱,伟人只说了2个字

毛主席视察天津时想见李银桥,得知他已经入狱,伟人只说了2个字

南书房
2025-09-28 23:01:03
林依轮26岁儿子庆生现场曝光,自家别墅小院种菜,四代同堂太温馨

林依轮26岁儿子庆生现场曝光,自家别墅小院种菜,四代同堂太温馨

鑫鑫说说
2025-11-03 10:34:18
沈泊洋遭查后,赵少康慌了?节目言论揭真实担忧

沈泊洋遭查后,赵少康慌了?节目言论揭真实担忧

动物奇奇怪怪
2025-11-02 03:21:29
孔蒂质问小法:你们赛前就是这样准备的吗?你教队员假摔了吗

孔蒂质问小法:你们赛前就是这样准备的吗?你教队员假摔了吗

雷速体育
2025-11-02 12:47:23
“京东汽车”终于来了!续航500公里,11月9日上市,剑指比亚迪海豚!

“京东汽车”终于来了!续航500公里,11月9日上市,剑指比亚迪海豚!

隔壁说车老王
2025-11-03 08:56:58
被央视怒批、摇头晃脑、德不配位,难怪阅兵从不邀请“流量”明星

被央视怒批、摇头晃脑、德不配位,难怪阅兵从不邀请“流量”明星

书雁飞史oh
2025-09-12 16:09:35
丫蛋有三个孩子,大儿子王天琦是她与王金龙所生,于2011年出生。

丫蛋有三个孩子,大儿子王天琦是她与王金龙所生,于2011年出生。

百态人间
2025-10-31 14:43:12
意外!曼萨诺曾在国安和申花表现不俗,为何如今中超没球队邀请他

意外!曼萨诺曾在国安和申花表现不俗,为何如今中超没球队邀请他

小彭美识
2025-11-03 11:16:37
特朗普不装了,宣布全球进入“G2”时代,G7可能要单开一桌了

特朗普不装了,宣布全球进入“G2”时代,G7可能要单开一桌了

田园小归
2025-11-03 09:12:38
最强15级!新台风“海鸥”生成!广东迎冷空气,东莞未来天气……

最强15级!新台风“海鸥”生成!广东迎冷空气,东莞未来天气……

东莞好生活
2025-11-03 09:35:39
2025-11-03 12:00:49
MediaTea
MediaTea
专业的数字媒体、新媒体技术
1568文章数 63关注度
往期回顾 全部

科技要闻

马斯克为这事开骂:“他们什么都不懂”!

头条要闻

媒体:高市早苗发表涉台错误言行 中方直接"亮剑"

头条要闻

媒体:高市早苗发表涉台错误言行 中方直接"亮剑"

体育要闻

开拓者官宣召回杨瀚森 队记解析核心原因

娱乐要闻

录音彻底揭露知名导演王家卫的体面

财经要闻

马斯克:未来5-6年传统手机与App将消失

汽车要闻

超跑同款磁流变减振 深蓝L06包你开得爽

态度原创

游戏
手机
家居
公开课
军事航空

蒂法和爱丽丝谁是官配?总监:不敢回答我只关心克劳德

手机要闻

OPPO ColorOS16 正式版 11 月升级机型公布

家居要闻

吸睛艺术 富有传奇色彩

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

美总统威胁对尼日利亚动武 尼方回应

无障碍浏览 进入关怀版