失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python流程图基本元素-python | 控制流语句-顺序结构与分支结构

python流程图基本元素-python | 控制流语句-顺序结构与分支结构

时间:2021-11-15 03:57:57

相关推荐

python流程图基本元素-python | 控制流语句-顺序结构与分支结构

1 程序流程图

程序流程图是指用一系列图形、流程线和文字说明描述程序的基本操作和控制流程,它是程序分析和过程描述的最基本方式。流程图基本元素共有7种,其中,连接点将多个流程图连接在一起,常用于将较大的流程图分隔为若干部分。

2 表达式

2.1 定义

数据和算术、关系、逻辑运算符的这一组合逻辑序列为表达式,它又可以作为下一步算术、逻辑运算的参与数据,即表达式可以组合构成更为复杂的表达式。

2.2 分类

python中的表达式,常见的有以下几种分类:

算术表达式:通过加、减、乘、除运算等符号,将数据做相应数学计算的组合序列是算术表达式

逻辑表达式:通过与(and)、或(or)、非(not)等逻辑运算符组合成的是逻辑表达式

关系表达式:表示大小关系运算符连接的表达式叫关系表达式,可以比较数据、表达式间的大小关系

条件表达式:满足特定条件才执行的表达式叫条件表达式,也称三元表达式

不同分类的表达式不是孤立存在的,而是组合构成更为复杂的表达式。

# 算术表达式

12 + 13

# 逻辑表达式

(2 > 3) and (3 > 4)

# 关系表达式

15 > 12

# 条件表达式

# 格式1:x if condition else y 判断为True返回值x,判断为False返回值y

a = eval(input('请输入一个数字'))

1 if a > 0 else 0

# 格式2:(x, y)[condition] 判断为True返回值x,判断为False返回值y

b = eval(input('请输入一个数字'))

(0, 1)[b > 0]

# 复杂表达式的组合

a=1

b=a+1

if b>10:

print(a*b)

2.3 运算符

值得特别指出的是,条件表达式中可以使用多种运算符,且运算符可以级联使用,常见的有:

算术运算符:+、-、*、/、//、%、**

关系运算符:<、>、<=、>=、==、!=

测试运算符:in、not in、is、is not

逻辑运算符:and、or、not(注意惰性原则)

位运算符:~、&、|、^、《、》

矩阵乘法运算符:@

但需要特别注意的是,条件表达式中,不能有赋值操作符(=)。

2.4 语句

通常,一个任务不能就只用一个复杂的表达式一步完成,可以将其不断的拆分,分解成若干个功能单一、清晰的小表达式,这样一个大型任务就变成若干个小任务的组合,每一次计算机执行一个功能单一的表达式,将所有的表达式都执行完毕,大任务也就完成了。我们称这细分出来的每个(小)功能单一的表达式为语句,一般情况下语句在程序文件里各自占一行,通常以某标点符号结尾,例如C语言和python语言都是以分号(;)作为语句的结尾标识符,Python程序的语句末尾的分号可写可不写。

语句是程序的基本元素,表达式和数据是语句的基本组成元素。一般情况下语句作为程序的一个语义单元,实现一定的功能,例如赋值语句实现对变量的赋值,打印语句print实现打印信息功能,if分支语句实现二选一功能选择,而for和wihle循环体语句实现重复操作功能,常见的函数则实现部分代码可重复多次使用的功能,故语句是程序的基本组成单元(元素)。

综上,语句和表达式的关系是表达式构成语句,表达式是语句的组成元素。语句代表一个细小任务或者说细小功能,几者关系如下图所示:

3 程序基本结构

程序的基本结构共有三种,「任何程序都可以由这三种基本结构组合来实现」。

顺序结构

分支结构

循环结构

3.1 顺序结构

顺序结构是程序按照线性顺序,依次执行的一种运行方式,运行过程见下图。

3.2 分支结构

分支结构又称「选择结构」,是根据条件判断结果,而选择不同向前执行路径的一种运行方式,具体的,分支结构可以细分为单分支、双分支、多分支和巢状分支。

3.2.1 单分支

单分支只有一个if,没有else:

区间:语句块在if条件表达式为True时才执行,所以又叫「真区间」

执行逻辑:if条件判断为True,执行语句块,反之不执行

# 单分支结构示例

# 任意输入两个数,按从小到大排列

a = eval(input('请输入第一个数'))

b = eval(input('请输入第二个数'))

if a > b:

a, b = b, a # 序列解包,交换两个变量的值

print(a, b)

3.2.2 双分支

双单分支有一个if、一个else:

区间:真区间(if区间)、假区间(else区间)

执行逻辑:if判断为True,执行真区间;if判断为False,执行假区间

简写格式:双分支结构可以简写为:语句块1 if 条件判断 else 语句块2(类似三元表达式)。if条件判断为True,执行语句块1;条件判断为False,执行语句块2

# 双分支结构

# 任意输入两个数,按从小到大排列

a = eval(input('请输入第一个数'))

b = eval(input('请输入第二个数'))

if a > b:

print(b, a)

else:

print(a, b)

# 双分支结构简写

# 任意输入两个数,按从小到大排列

a = eval(input('请输入第一个数'))

b = eval(input('请输入第二个数'))

print(b, a) if a > b else print(a, b)

3.2.3 多分支

多个双分支组合就组成了多分支,它有多个if、一个else:

区间:有无限多个真区间(if区间),一个假区间(else区间)

执行逻辑:多分支中可以有无限个elif分支,但只执行一个elif,一旦一个elif分支执行结束,后面的所有分支既不会判断也不会执行

# 多分支结构

# 将成绩从百分制变换到等级制

socre = eval(input('请输入你的成绩'))

if socre > 100:

print('成绩必须小于100分,请重新输入')

elif socre >= 90:

print('A')

elif socre >= 80:

print('B')

elif socre >= 70:

print('C')

elif socre >= 60:

print('D')

elif socre >= 0:

print('E')

else:

print('成绩必须大于0分,请重新输入')

3.2.4 巢状分支

​巢状分支也叫分支结构嵌套,通常由多个不同种类的分支结构嵌套而成。如上所示,就是一个典型的巢状分支,共有3层,由单分支、双分支、多分支嵌套而成。

区间:可以有多个真区间(if区间),多个假区间(else区间)

执行逻辑:从外到内,自上而下依次判断执行

# 将成绩从百分制变换到等级制

socre = eval(input('请输入你的成绩'))

if socre > 100 or socre < 0:

print('输入不正确,请重新输入')

else:

if socre >= 90:

print('A')

elif socre >= 80:

print('B')

elif socre >= 70:

print('C')

elif socre >= 60:

print('D')

else:

print('E')

如果觉得《python流程图基本元素-python | 控制流语句-顺序结构与分支结构》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。