Python语言基础分支语句、循环语句ppt课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Python 基础 分支与循环
2021/3/15
Байду номын сангаас
1
目录
程序基本结构 分支结构 循环结构 布尔表达式 练习 总结
2021/3/15
2
程序设计基本结构
任何算法(程序)都可以由顺序结构、选择结构和循环结构这三种基本结 构组合来实现。
2021/3/15
3
顺序结构
顺序结构中,按语句的自然顺序一次执行。 用顺序结构描述将华氏温度F转换成摄氏 温度C的流程。 算法:
2021/3/15
48
目录
程序基本结构 分支结构 循环结构 布尔表达式 总结
2021/3/15
49
布尔表达式 条件语句和循环语句都是用布尔表达式作为条件 布尔值为真或假,以False和True表示 前面经常使用布尔表达式比较两个值, 如:while x>=0
50
布尔操作符的引入 简单条件在复杂决策情况下存在一定缺陷 例如,确定两个点是否在同一位置,即是否有相同的x坐标和y坐标,下面 是处理代码片段:
for循环所做的概括为一句话: 于… 其中的每一个元素,做…事情
2021/3/15
32
for循环
在for循环中,循环变量var遍历了队列中的每一个值,循环的语句体为每个值 执行一次。
2021/3/15
33
for循环
2021/3/15
34
for循环
为了更深入了解for循环,试着思考下面这个问题,如何打印出这样的结果? 1+1=2 2+1=3 … 10 + 1 = 11
2021/3/15
21
PM2.5指数分级例子(版本升级) 使用if-elif-else结构改进之前的程序:
2021/3/15
22
PM2.5指数分级例子(采用小于条件)
2021/3/15
23
巩固练习
如果按照分数划定结果: 90分或以上:excellent 80分或以上:good 60分或以上:passed 60分以下:failed
2021/3/15
45
for/while中的else、break用法 break 语句—跳出最内层的for/while循环
2021/3/15
46
for/while中的continue用法
continue 语句,其作用为结束本次循环、即跳出循环体中下面尚未执行 的语句,对于while循环,继续求解循环条件。而对于for循环程序流程接着 遍历循环列表。 continue和break语句的区别是:
2021/3/15
37
for循环-代码
2021/3/15
38
for循环-执行 以下是程序的执行结果:
2021/3/15
39
for循环-缺点
程序开始时必须提供输入数字总数 大规模数字求平均值需要用户首先确定个数 for循环是需要提供固定循环次数的循环方式 Python提供了另一种循环模式即无限循环,不需要提前知道循环次数,即我 们提到的当型循环也叫条件循环
2021/3/15
40
for与if相结合
如何实现这样一个程序:歌曲列表中有三首歌“Holy Diver,Thunderstruck, Rebel Rebel”,当播放到每首时,分别显示歌手名字“Dio,AC/CD,Divid Bowie”?
2021/3/15
41
嵌套循环
编程中还有一种常见的循环,被称之为嵌套循环,其实这种循环并不复杂还 非常实用。 例如:“九九乘法表”
Python使用if-elif-else描述多分支决策, 简化分支结构的嵌套问题
2021/3/15
20
多分支决策 使用if-elif-else描述多分支决策:
Python轮流评估每个条件,来寻找条件为True的分支,并执行该 分支下的语句;如果没有任何条件成立,else下面的语句被执行, else子句是可选的。
内置函数-------range()
2021/3/15
35
2021/3/15
36
for循环-求平均数
平均数计算程序的IPO如下: 输入:待输入数字个数,数字 处理:平均数算法 输出:平均数
通用设计方案: 输入数字的个数n 将sum初始化为0 循环n次: 输入数字x 将x加入sum中 将sum/n作为平均数输出出来
54
布尔操作符 使用and操作符改进之前比较两个点相同的例子
2021/3/15
55
下面哪些是港台女明星?
56
判断闰年
57
思考题
58
练习题 编程,解决猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了 一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上 都吃了前一天剩下的一半零一个。到第10天早上想吃时,只剩下一个桃子了。 求第一天共摘多少个桃子。(迭代法)
程序功能的IPO模式描述为: 输入:接受外部输入PM2.5值 处理:空气质量分级算法 输出:打印空气质量提醒
2021/3/15
12
PM2.5指数分级例子-流程图
2021/3/15
13
pm25.py
2021/3/15
14
if语句格式
语句格式如下
其中<condition> 是条件表达式, <body>是一个或多个语句序列 先判断<condition> 条件:
continue语句只结束本次循环,而不终止整个循环的执行。 break 语句结束整个循环过程,不再判断执行循环的条件是否成立
2021/3/15
47
for/while中的else用法
<for…else:…><while…else:…>语句与循环的搭配使用,else:后的表 达式在for循环列表遍历完毕后或while条件语句不满足的情况下执行,例如:
28
软件开发中循环的使用场景
跟媳妇承认错误,说一万遍“媳妇儿,我错了!” print “媳妇儿,我错了!” print “媳妇儿,我错了!” print “媳妇儿,我错了!” …(还有997遍)…
使用循环,一句话搞定
i =0 while i <10000:
print “媳妇儿,我错了!” i += 1
2021/3/15
29
循环结构
一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成 循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的 开发者都会采用循环
2021/3/15
30
循环结构回顾
2021/3/15
31
for循环
for 循环作为编程语言中最强力的特征之一 Python可以使用for语句循环遍历整个序列的值
请编写程序根据分数打印结果。
2021/3/15
24
猜拳游戏
2021/3/15
25
试一试 编写一个python程序,输入两个数,比较它们的大小并输出其中较大者。
2021/3/15
26
目录
程序基本结构 分支结构 循环结构 布尔表达式 总结
2021/3/15
27
生活中的循环
2021/3/15
2021/3/15
42
嵌套循环 例:“九九乘法表”
原理:最外层的循环依次是将数值1~9存储到变量i中,变量i每取一次值,内层 循环就要依次将1~9中存储在变量j中,最后展示当前的i,j,与i*j的结果。
2021/3/15
43
while循环 语法:while语句
只要…条件成立,就一直做,,,
while语句中<condition>是布尔表达式 <body>循环体是一条或多条语句
2021/3/15
18
二分支决策—示例
注意:冒号不能省; if和else对齐,并且前面不能有空格。
2021/3/15
19
多分支决策
多分支决策是解决复杂问题的重要手段之 一
一个三分支决策可以由两个二分支结构嵌 套实现
使用if-else描述多分支决策时,实现更 多分支需要更多嵌套,影响程序的易读性
流程图-表示算法
例:给定K值,求1到K,连加和。
Sum里保存: 1+2+3+…+K的连加和。
重复进行某种运算,运算对象有规律地变化。 采用循环结构。
2021/3/15
9
目录
程序基本结构 分支结构 循环结构 布尔表达式 总结
2021/3/15
10
生活中的判断
2021/3/15
11
PM2.5指数分级例子
51
布尔操作符
布尔操作符:and,or和not 布尔运算符and和or用于组合两个布尔表达式,并产生一个布尔结果
<expr> and <expr> <expr> or <expr> not 运算符是一个一元运算符,用来计算一个布尔表达式的反 not <expr>
2021/3/15
52
布尔操作结果—真值表
如果为奇数那么sum=1+1/3+.....+1/n 如果为偶数那么 sum=1/2+1/4+....+1/n
61
Thank You!
62
True,则执行<body>,再转向下一条语句 False,则直接跳过<body>,转向下一条 语句
2021/3/15
15
说明:比较运算符
2021/3/15
16
说明:逻辑运算符
2021/3/15
17
二分支决策 二分支语法结构如下:
Python解释器首先评估<condition> 如果<condition>是真的,if下面的语句被执行; 如果<condition>是假的,else下面的语句被执行。
当条件为真时,循环体重复执行 当条件为假时,循环终止 在while循环中,条件总是在循环顶部被判断,即在循环体执行之前,这种结 构又被称为前测循环
2021/3/15
44
while循环
下面是使用while循环完成从0到10的求和打 印平均值的例子:
如果循环体忘记累加i,条件判断一直为真, 循环体将一直执行,这就是所谓的死循环。 这时通常使用<Ctrl>+c来终止一个程序
59
本章小节
程序控制结构-----流程图 分支语句----if…elif….else 循环语句:
for while 布尔表达式 True False
60
作业: 1.编写程序找出100-1000之间的水仙花数。 提示:水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和 等于它本身。(例如:153=1^3 + 5^3+ 3^3 ) 2.编程完成输入一个整数,
2021/3/15
53
布尔操作符
使用布尔运算符,可以建立任意复杂的布尔表达式 例如: a or not b and c
Python中布尔运算符的优先级,从高到低依次是 not 、and、or
所以上面的表达式等于如下这个带括号的版本: ( a or ((not b) and c))
2021/3/15
C = 5/9*(F-32)
2021/3/15
4
选择结构
2021/3/15
5
循环结构
2021/3/15
6
流程图-表示算法
例:求给定半径R的圆面积和圆周长 这是一个数学问题。 算法:
2021/3/15
7
流程图-表示算法 例:求给定半径R的绝对值。 算法:
这是分支程序结构
2021/3/15
8
2021/3/15
Байду номын сангаас
1
目录
程序基本结构 分支结构 循环结构 布尔表达式 练习 总结
2021/3/15
2
程序设计基本结构
任何算法(程序)都可以由顺序结构、选择结构和循环结构这三种基本结 构组合来实现。
2021/3/15
3
顺序结构
顺序结构中,按语句的自然顺序一次执行。 用顺序结构描述将华氏温度F转换成摄氏 温度C的流程。 算法:
2021/3/15
48
目录
程序基本结构 分支结构 循环结构 布尔表达式 总结
2021/3/15
49
布尔表达式 条件语句和循环语句都是用布尔表达式作为条件 布尔值为真或假,以False和True表示 前面经常使用布尔表达式比较两个值, 如:while x>=0
50
布尔操作符的引入 简单条件在复杂决策情况下存在一定缺陷 例如,确定两个点是否在同一位置,即是否有相同的x坐标和y坐标,下面 是处理代码片段:
for循环所做的概括为一句话: 于… 其中的每一个元素,做…事情
2021/3/15
32
for循环
在for循环中,循环变量var遍历了队列中的每一个值,循环的语句体为每个值 执行一次。
2021/3/15
33
for循环
2021/3/15
34
for循环
为了更深入了解for循环,试着思考下面这个问题,如何打印出这样的结果? 1+1=2 2+1=3 … 10 + 1 = 11
2021/3/15
21
PM2.5指数分级例子(版本升级) 使用if-elif-else结构改进之前的程序:
2021/3/15
22
PM2.5指数分级例子(采用小于条件)
2021/3/15
23
巩固练习
如果按照分数划定结果: 90分或以上:excellent 80分或以上:good 60分或以上:passed 60分以下:failed
2021/3/15
45
for/while中的else、break用法 break 语句—跳出最内层的for/while循环
2021/3/15
46
for/while中的continue用法
continue 语句,其作用为结束本次循环、即跳出循环体中下面尚未执行 的语句,对于while循环,继续求解循环条件。而对于for循环程序流程接着 遍历循环列表。 continue和break语句的区别是:
2021/3/15
37
for循环-代码
2021/3/15
38
for循环-执行 以下是程序的执行结果:
2021/3/15
39
for循环-缺点
程序开始时必须提供输入数字总数 大规模数字求平均值需要用户首先确定个数 for循环是需要提供固定循环次数的循环方式 Python提供了另一种循环模式即无限循环,不需要提前知道循环次数,即我 们提到的当型循环也叫条件循环
2021/3/15
40
for与if相结合
如何实现这样一个程序:歌曲列表中有三首歌“Holy Diver,Thunderstruck, Rebel Rebel”,当播放到每首时,分别显示歌手名字“Dio,AC/CD,Divid Bowie”?
2021/3/15
41
嵌套循环
编程中还有一种常见的循环,被称之为嵌套循环,其实这种循环并不复杂还 非常实用。 例如:“九九乘法表”
Python使用if-elif-else描述多分支决策, 简化分支结构的嵌套问题
2021/3/15
20
多分支决策 使用if-elif-else描述多分支决策:
Python轮流评估每个条件,来寻找条件为True的分支,并执行该 分支下的语句;如果没有任何条件成立,else下面的语句被执行, else子句是可选的。
内置函数-------range()
2021/3/15
35
2021/3/15
36
for循环-求平均数
平均数计算程序的IPO如下: 输入:待输入数字个数,数字 处理:平均数算法 输出:平均数
通用设计方案: 输入数字的个数n 将sum初始化为0 循环n次: 输入数字x 将x加入sum中 将sum/n作为平均数输出出来
54
布尔操作符 使用and操作符改进之前比较两个点相同的例子
2021/3/15
55
下面哪些是港台女明星?
56
判断闰年
57
思考题
58
练习题 编程,解决猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了 一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上 都吃了前一天剩下的一半零一个。到第10天早上想吃时,只剩下一个桃子了。 求第一天共摘多少个桃子。(迭代法)
程序功能的IPO模式描述为: 输入:接受外部输入PM2.5值 处理:空气质量分级算法 输出:打印空气质量提醒
2021/3/15
12
PM2.5指数分级例子-流程图
2021/3/15
13
pm25.py
2021/3/15
14
if语句格式
语句格式如下
其中<condition> 是条件表达式, <body>是一个或多个语句序列 先判断<condition> 条件:
continue语句只结束本次循环,而不终止整个循环的执行。 break 语句结束整个循环过程,不再判断执行循环的条件是否成立
2021/3/15
47
for/while中的else用法
<for…else:…><while…else:…>语句与循环的搭配使用,else:后的表 达式在for循环列表遍历完毕后或while条件语句不满足的情况下执行,例如:
28
软件开发中循环的使用场景
跟媳妇承认错误,说一万遍“媳妇儿,我错了!” print “媳妇儿,我错了!” print “媳妇儿,我错了!” print “媳妇儿,我错了!” …(还有997遍)…
使用循环,一句话搞定
i =0 while i <10000:
print “媳妇儿,我错了!” i += 1
2021/3/15
29
循环结构
一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成 循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的 开发者都会采用循环
2021/3/15
30
循环结构回顾
2021/3/15
31
for循环
for 循环作为编程语言中最强力的特征之一 Python可以使用for语句循环遍历整个序列的值
请编写程序根据分数打印结果。
2021/3/15
24
猜拳游戏
2021/3/15
25
试一试 编写一个python程序,输入两个数,比较它们的大小并输出其中较大者。
2021/3/15
26
目录
程序基本结构 分支结构 循环结构 布尔表达式 总结
2021/3/15
27
生活中的循环
2021/3/15
2021/3/15
42
嵌套循环 例:“九九乘法表”
原理:最外层的循环依次是将数值1~9存储到变量i中,变量i每取一次值,内层 循环就要依次将1~9中存储在变量j中,最后展示当前的i,j,与i*j的结果。
2021/3/15
43
while循环 语法:while语句
只要…条件成立,就一直做,,,
while语句中<condition>是布尔表达式 <body>循环体是一条或多条语句
2021/3/15
18
二分支决策—示例
注意:冒号不能省; if和else对齐,并且前面不能有空格。
2021/3/15
19
多分支决策
多分支决策是解决复杂问题的重要手段之 一
一个三分支决策可以由两个二分支结构嵌 套实现
使用if-else描述多分支决策时,实现更 多分支需要更多嵌套,影响程序的易读性
流程图-表示算法
例:给定K值,求1到K,连加和。
Sum里保存: 1+2+3+…+K的连加和。
重复进行某种运算,运算对象有规律地变化。 采用循环结构。
2021/3/15
9
目录
程序基本结构 分支结构 循环结构 布尔表达式 总结
2021/3/15
10
生活中的判断
2021/3/15
11
PM2.5指数分级例子
51
布尔操作符
布尔操作符:and,or和not 布尔运算符and和or用于组合两个布尔表达式,并产生一个布尔结果
<expr> and <expr> <expr> or <expr> not 运算符是一个一元运算符,用来计算一个布尔表达式的反 not <expr>
2021/3/15
52
布尔操作结果—真值表
如果为奇数那么sum=1+1/3+.....+1/n 如果为偶数那么 sum=1/2+1/4+....+1/n
61
Thank You!
62
True,则执行<body>,再转向下一条语句 False,则直接跳过<body>,转向下一条 语句
2021/3/15
15
说明:比较运算符
2021/3/15
16
说明:逻辑运算符
2021/3/15
17
二分支决策 二分支语法结构如下:
Python解释器首先评估<condition> 如果<condition>是真的,if下面的语句被执行; 如果<condition>是假的,else下面的语句被执行。
当条件为真时,循环体重复执行 当条件为假时,循环终止 在while循环中,条件总是在循环顶部被判断,即在循环体执行之前,这种结 构又被称为前测循环
2021/3/15
44
while循环
下面是使用while循环完成从0到10的求和打 印平均值的例子:
如果循环体忘记累加i,条件判断一直为真, 循环体将一直执行,这就是所谓的死循环。 这时通常使用<Ctrl>+c来终止一个程序
59
本章小节
程序控制结构-----流程图 分支语句----if…elif….else 循环语句:
for while 布尔表达式 True False
60
作业: 1.编写程序找出100-1000之间的水仙花数。 提示:水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和 等于它本身。(例如:153=1^3 + 5^3+ 3^3 ) 2.编程完成输入一个整数,
2021/3/15
53
布尔操作符
使用布尔运算符,可以建立任意复杂的布尔表达式 例如: a or not b and c
Python中布尔运算符的优先级,从高到低依次是 not 、and、or
所以上面的表达式等于如下这个带括号的版本: ( a or ((not b) and c))
2021/3/15
C = 5/9*(F-32)
2021/3/15
4
选择结构
2021/3/15
5
循环结构
2021/3/15
6
流程图-表示算法
例:求给定半径R的圆面积和圆周长 这是一个数学问题。 算法:
2021/3/15
7
流程图-表示算法 例:求给定半径R的绝对值。 算法:
这是分支程序结构
2021/3/15
8