4.1程序表示方法(课件)-《程序设计基础(Python)》同步教学(人民邮电版)
|
22页
|
54人阅读
|
8人下载
普通
内容正文:
第4章 流程控制
1
学习目标/Target
了解程序流程图的基本元素,能够说出每种元素的功能
熟悉程序的基本结构,能够归纳每个结构的执行流程
掌握分支结构,能够通过不同语句实现不同的分支结构
掌握循环结构,能够通过不同语句实现不同的循环结构
2
章节概述/ Summary
程序中语句默认的执行顺序是自上而下。流程控制是指在程序运行时,通过一些特定的指令更改程序中语句的执行顺序,使其产生跳跃、回溯等现象。本章将对流程控制的相关知识进行讲解。
3
目录/Contents
01
程序表示方法
分支结构
循环结构
实例:猜数字
02
03
04
4
程序表示方法
4.1
5
4.1.1 程序流程图
程序流程图是一种用图形、流程线和文字说明描述程序基本操作和控制流程的方法,它是程序分析和过程描述的最基本方式。程序流程图有7种基本元素,每种元素使用特定符号表示。
6
4.1.1 程序流程图
一个基本的程序流程图,示例如下:
7
4.1.2 程序的基本结构
顺序结构是最简单的一种基本结构。
1. 顺序结构
8
4.1.2 程序的基本结构
分支结构又称选择结构,此种结构必定包含判断条件,是一种根据判断条件的结果选择不同执行路径的结构。根据分支路径的数量,分支结构分为单分支结构、双分支结构和多分支结构。
2. 分支结构
双分支结构
单分支结构
9
4.1.2 程序的基本结构
循环结构又称重复结构,此结构同样包含判断条件,是一种根据判断条件的结果选择是否重复执行代码段的结构。根据判断条件的触发方式,循环结构可分为条件循环和遍历循环。
3. 循环结构
10
分支结构
4.2
11
4.2.1 判断条件
判断条件可以是能产生布尔值的任意元素,包括数据、变量,以及由变量或数据与运算符按照一定规则连接而成的表达式,若它的布尔值为True,表示判断条件成立;若布尔值为False,表示判断条件不成立。
Python中比较简单的判断条件是数据或保存了数据的变量,任何数据都有布尔值,其中None、任意形式为0的数据、任意空组合数据类型的数据,它们的布尔值均为False,其他数据的布尔值为True。
12
4.2.1 判断条件
print(bool(80)) # 查看整数80的布尔值
print(bool(0.0)) # 查看浮点数0.0的布尔值
print(bool('')) # 查看空字符串的布尔值
print(bool('Python')) # 查看字符串'Python'的布尔值
使用bool()函数查看部分数据的布尔值,具体示例如下:
13
4.2.1 判断条件
a, b = 10, 30
print(a >= 5) # 判断变量a的值是否大于等于5
print(b == False) # 判断变量b的值是否等于False
# 判断变量a的值是否存在于列表[1, 2, 3, 4, 5]中
print(a in [1, 2, 3, 4, 5])
# 判断变量b的值是否不存在于列表[1, 2, 3, 4, 5]中
print(b not in [1, 2, 3, 4, 5])
# 对变量a的值取反
print(not a)
# 判断变量a的值是否大于等于5并且b的值等于False
print(a >= 5 & b == False)
# 判断变量a的值是否大于等于5或者b的值等于False
print(a >= 5 or b == False)
Python还常将数据或变量与比较运算符或成员运算符构成更复杂的判断条件。
14
4.2.2 单分支结构:if语句
if语句用于形成单分支结构,其语法格式如下:
if 判断条件:
代码段
下面使用if语句实现判断当天是否为工作日的程序。
day = input("今天是工作日吗(请输入整数1~7)?")
if day in '12345':
print("今天是工作日!")
if day in '67':
print("今天非工作日!")
15
4.2.3 双分支结构:if-else语句
if-else语句用于形成双分支结构,其语法格式如下:
if 判断条件:
代码段1
else:
代码段2
day = input("今天是工作日吗(请输入整数1~7)?")
if day in '12345':
print("今天是工作日!")
else:
print("今天非工作日!")
使用if-else语句实现判断当天是否为工作日的程序。
16
4.2.3 双分支结构:if-else语句
如果if-else语句的代码段只包含简单的表达式或语句,那么该语句可浓缩为更简洁的表达方式,类似于其他编程语言中三目运算符的写法。
表达式1 if 判断条件 else 表达式2
使用if-else语句实现判断当天是否为工作日的程序。
day = input("今天是工作日吗(请输入整数1~7)?")
result = "今天是工作日!" if day in '12345' else "今天非工作日!"
print(result)
17
4.2.4 多分支结构:if-elif-else语句
if-elif-else语句用于形成多分支结构,其语法格式如下:
if 判断条件1:
代码段1
elif 判断条件2:
代码段2
……
elif 判断条件n:
代码段n
else:
代码段n+1
if-elif-else语句的执行流程图
18
4.2.4 多分支结构:if-elif-else语句
使用if-elif-else语句判断当天是否为工作日的程序。
day = input("今天是工作日吗(请输入整数1~7)?")
if day in '12345':
print("今天是工作日!")
elif day in '67':
print("今天非工作日!")
else:
print("输入有误!")
19
4.2.4 多分支结构:if-elif-else语句
多分支结构中判断条件较多,各分支为互斥关系,每个多分支结构中只有一段代码会被执行,但判断条件可能存在包含关系,此时需要注意判断条件的先后顺序。
20
4.2.5 分支嵌套
分支结构的内部可以包含分支结构,此种情况称为分支嵌套。
if 判断条件1: # 外层分支
代码段1
if 判断条件2: # 内层分支
代码段2
...
代码段3
...
分支嵌套流程图
21
4.2.5 分支嵌套
使用分支嵌套优化4.2.4节的程序,具体代码如下:
day = input("今天是工作日吗(请输入整数1~7)?")
if day in '1234567':
if day in '12345':
print("今天是工作日!")
else:
print("今天非工作日!")
else:
print("输入有误!")
22
$$