模块二 学生“画像”系统的流程控制模块ppt课件.pptx
《模块二 学生“画像”系统的流程控制模块ppt课件.pptx》由会员分享,可在线阅读,更多相关《模块二 学生“画像”系统的流程控制模块ppt课件.pptx(94页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、模块二模块二 学生学生“画像画像”系统的流程控制模系统的流程控制模块块主讲:啊是大主讲:啊是大主讲主讲模块二模块二 学生学生“画像画像”系统的流程控系统的流程控制模块制模块Python 程序设计项目化教程向春枝 张滨燕 丁爱萍 主编2主讲:张三主讲:张三模块导读 本项目主要介绍Python的流程控制语句,包括判断语句、循环语句等内容,以及Python的异常处理机制。在Python开发中,程序员使用判断语句、循环语句的频率非常高,并且通常需要辨别事件的异常情况。希望读者能结合案例多加以理解和练习,熟练掌握它们的使用。3模块目标 知识知识目标目标掌握if、else和elif语句的基本结构与语法掌握
2、for循环、while循环语句的基本结构与用法掌握循环语句中常用的break、continue、pass语句理解异常的概念和产生原理 技能技能目标目标能够进行选择结构程序设计能够进行循环结构程序设计掌握处理异常的几种方式4本章节目录本章节目录 任务一:使用条件判断 任务二:使用循环 任务三:处理异常情况 任务四:识别学生“画像”系统中的数据5任务一:使用条件判断 任务描述运用Python流程控制语句编写程序,对学生的考试成绩进行等级划分:分数90,等级为A;80分数90,等级为B;70分数80,等级为C;60分数70,等级为D;分数60,等级为E。6小小李同学李同学:什么是流程控制语句?师傅说
3、师傅说:一般情况下,程序都是一条一条语句顺序执行的。如果想要改变语句的执行顺序,让程序根据不同的情况执行不同的语句,该怎么实现呢?这是通过流程控制语句实现的。我们接下来要学习的判断语句就是一种流程控制语句。7PythonPython判断语句判断语句所谓的判断,是指如果条件满足,才能做某件事情;相反,如果条件不满足,就做另外一件事情,或者什么也不做。生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择。计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。比如,根据用户年龄,判断用户是否是成年人,根据判断结果打印不同的内容。在Python中,判断语句又被称为“分支语句”,实现Pyth
4、on的选择结构。8thwas was string example.wow! thwas was really stringthwas was string example.wow! thwas is really string(1)if语句在Python提供的多种条件判断语句中,if语句是最简单的判断语句。if语句实现单分支结构,使用可以返回一个布尔值的布尔表达式作为分支条件来进行控制,格式如下。9注意,布尔表达式后面要使用冒号(:),分支表示接下来满足条件时要执行的代码块。在Python中,通过将块中的代码行缩进以构成代码块,相同缩进的语句组成一个语句块。程序会先计算布尔表达式,如果结果为
5、True,则执行分支中的所有语句,然后执行判断语句后续代码;相反的,如果结果为False,则分支不执行,直接执行判断语句后续代码。用流程图表示if语句的执行过程,如下图所示。1011上述实例中,age的值大于18,布尔表达式的值为True,执行if后面的分支语句。以上实例运行结果如下所示:age = 30print(判断开始)if age = 18: print(年龄为, age) print(这是一个成年人)print(判断结束)如下实例利用if语句实现对年龄的判断:判断开始年龄为 30这是一个成年人判断结束12上述实例中,age的值小于18,布尔表达式的值为False,因此,if后面的分支
6、语句不执行。实例运行结果如下所示:age = 3print(判断开始)if age = 18: print(年龄为, age) print(这是一个成年人)print(判断结束)改变age的值:判断开始判断结束13if后的布尔表达式还可以用简写的判断条件来代替,如:由上述两个实例可以看出,根据Python的缩进规则,如果if语句判断为True,就把缩进的两行print语句执行了,否则,什么都不做。我们可以总结出if判断语句的作用:当满足一定条件时,执行指定代码,否则就不执行。x = 2if x: print(判断为true)其中,只要x是非零数值、非空字符串、非空list等,就判断为True,
7、否则为False。以上实例运行结果如下所示:判断为true(2)if-else语句使用if语句能够实现单分支选择结构。else语句可以与if语句组合,使用if-else语句能够实现双分支,格式如下。14上述格式中,程序会先计算布尔表达式,如果结果为True,则执行第1个分支中的所有语句;如果为False,则执行第2个分支中的所有语句。通过else语句,程序可以选择执行。用流程图表示if-else语句的执行过程,如下图所示。1516age = 3print(判断开始)if age = 18: print(年龄为, age) print(这是一个成年人)if age 18: print(年龄为,
8、age) print(这是一个未成年人)print(判断结束)如果想要在age= 18: print(年龄为, age) print(这是一个成年人)else: print(年龄为, age) print(这是一个未成年人) print(判断结束)if-else双分支语句提供了更简洁的途径,实例如下所示:运行结果:判断开始年龄为 3这是一个未成年人判断结束18利用if-else双分支语句,实现对数字奇偶的判断,如下所示:运行结果:判断开始3 是奇数判断结束a = 3print(判断开始)if a % 2 = 0: print(a, 是偶数)else: print(a, 是奇数)print(判断
9、结束)(3)if-elif语句在需要判断的情况大于两种的情况下,if和if-else语句显然是无法完成判断的。要实现多路分支,可以使用if-elif语句,格式如下。19其中,elif是else if的缩写。为了实现多分支结构,程序中可以有多个elif。上述格式的运行步骤如下:(1)程序计算第1个布尔表达式,如果结果为True,则执行第1个分支。判断结束;(2)如果为False,则计算第2个布尔表达式。如果第2个表达式为True,则执行第2个分支。判断结束;(3)如果为False,则继续计算第3个布尔表达式。如果第3个表达式为True,则执行第3个分支。判断结束;(4)如果为False,则计算下
10、一个布尔表达式以此类推,直至结束。20在if-elif语句中,程序从上往下判断,根据布尔表达式的结果来决定沿哪个分支执行。如果某个布尔表达式为True,把该表达式对应的分支执行后,就忽略剩下的elif语句,判断结束。if-elif语句的使用如下所示。运行结果:5 是一个正数 a = 5 if a 0: print(a, 是一个正数) elif a = 0: print(a, 为0) elif a = 18: print(年龄为, age) print(这是一个成年人)elif age = 6: print(年龄为, age) print(这是一个青少年)elif age = 3: print(
11、年龄为, age) print(这是一个儿童)print(判断结束)(4)if-elif-else语句多分支结构还可以使用if-elif-else语句来实现,格式如下。22上述格式中,条件判断从上往下匹配,当某个布尔表达式为True时,执行对应的分支语句,后续的elif和else都不再执行。23以下实例可以实现对年龄更精确的判断。运行结果:判断开始年龄为 2这是一个婴幼儿判断结束age = 2print(判断开始)if age = 18: print(年龄为, age) print(这是一个成年人)elif age = 6: print(年龄为, age) print(这是一个青少年)elif
12、 age = 3: print(年龄为, age) print(这是一个儿童)else: print(年龄为, age) print(这是一个婴幼儿)print(判断结束)24下面是多分支选择结构的另一个典型应用。假设一家商场在促销降价,如果消费者购买金额不低于10000元,会得到25%的折扣;如果购买金额不低于8000元,会得到20%的折扣;如果购买金额不低于5000元,会得到15%的折扣;如果购买金额不低于2000元,会得到10%的折扣;低于2000的购买金额不享有折扣。利用多分支选择结构,根据购买金额,计算消费者实际应付金额,代码如下所示。#discount1, discoun2, di
13、scount3, discount4分别表示不同的折扣discount1 = 0.25discount2 = 0.2discount3 = 0.15discount4 = 0.1#price_pre 表示折扣前购买金额, price 表示应付的金额#input()返回的数据类型是str,int函数用于将一个字符串型数字转换为整型price_pre = int(input(请输入购买金额:)price = 025if price_pre = 10000: price = price_pre * (1-discount1)elif price_pre = 8000: price = price_p
14、re * (1 - discount2)elif price_pre = 5000: price = price_pre * (1 - discount3)elif price_pre = 2000: price = price_pre * (1 - discount4)else: price = price_preprint(购买金额为:, price_pre)print(应付金额为:, price)运行结果:请输入购买金额:9000购买金额为: 9000应付金额为: 7200.0(5)if嵌套使用if进行条件判断,如果希望在条件成立的执行语句中增加条件判断,则可以使用if嵌套,也就是说,整
15、个if可以放在另一个if语句中。if嵌套的使用如下所示。26上述实例中,外层if-else语句实现了对有效月份输入的判断,内层if-elif-else语句实现了多分支判断,嵌套到外层if语句的内部。运行结果如下所示:m = int(input(请输入月份112:)if 1 = m = 12: if m = 3: print(春季) elif m = 6: print(夏季) elif m = 2: print(钱够,可以乘坐公交车) # 输入座位数量 seatCount = int(input(请输入当前空座位的数量:) # 判断数量是否0 if seatCount 0: print(有空位可
16、以坐下) else: print(没有空位,只能站着)else: print(钱不够,不能乘坐公交车)运行结果:输入公交卡当前的金额:5钱够,可以乘坐公交车请输入当前空座位的数量:3有空位可以坐下任务实现任务实现编写程序,实现对学生的考试成绩进行等级划分:分数90,等级为A;80分数90,等级为B;70分数80,等级为C;60分数70,等级为D;分数60,等级为E。根据任务要求,本任务的具体实现过程可以参考如下操作。(1)创建score变量存放成绩数据;(2)利用if-elif-else语句设置多分支判断,并实现打印操作。参考代码如下所示。29score = int(input(请输入成绩:)
17、if score = 90: print(成绩等级为A)elif score = 80: print(成绩等级为B)elif score = 70: print(成绩等级为C)elif score = 60: print(成绩等级为D)else: print(成绩等级为E)运行结果:请输入成绩:78成绩等级为C任务二:使用循环 任务描述一般情况下,Python忠实地按照语句的顺序执行。有时候需要让程序重复地做一件事情,比如,在学生“画像”系统中,对同一个序列中的所有学生数据进行处理。为了避免重复地写相同的代码,就需要用到循环语句。30小小李同学李同学:什么是循环?师傅说师傅说:计算机程序周而复
18、始地重复同样的步骤,这称为循环。Python循环有两种类型:(1)重复一定次数的循环;(2)重复直至发生某种情况时结束的循环。31PythonPython循环循环语句语句循环语句是一种流程控制语句。Python提供两种循环语句,分别是for循环和while循环。32thwas was string example.wow! thwas was really stringthwas was string example.wow! thwas is really string(1)for循环在Python中,for循环是一个序列迭代器,可以遍历任何有序的序列,如字符串、列表、元组和字典等。我们会在
19、后面的章节中更加详细地学习这几种数据类型。for循环的基本格式如下。33在上述格式中,循环变量的值受for循环控制,该变量会在每次循环开始时依次被赋值为序列中的每个元素,因此循环体中不能对该变量赋值。序列中有几个元素,for循环的循环体就执行几次,元素的个数决定循环次数。在下面的实例中,使用for循环遍历列表。34print(循环开始)for i in 1, 2, 3, 4, 5: print(i)print(循环结束)执行这段代码,会依次打印列表中的每一个元素。在每次循环中,i依次对应列表中的每一个元素,循环体的语句要完成一次。以上实例运行结果如下所示:循环开始12345循环结束同样的,使用
20、for循环遍历列表。35print(循环开始)for i in hello, Python, WWW, rabbit, computer: print(i) print(循环结束)运行结果如下所示:循环开始helloPythonWWWrabbitcomputer循环结束使用for循环遍历字符串,打印字符串的每个元素,代码如下所示。36print(循环开始)for letter in Python: print(当前字母:, letter)print(循环结束)运行结果如下所示:循环开始当前字母: P当前字母: y当前字母: t当前字母: h当前字母: o当前字母: n循环结束(2)range函
21、数Python提供了一个内置range函数,它能返回一系列连续增加的整数,经常和for循环一起用于遍历整个序列。range函数经常使用的格式为: range(start,end),用于创建整数序列start,start+1,end-1。用Python程序实现计算1+2+3+1000,代码如下所示。37上述实例中,range(1,1001)产生从1至1000的整数序列,for循环结束后,sum即为从1至1000的整数序列的和。程序运行结果如下所示。sum = 0for i in range(1, 1001): sum += iprint(1+2+3+.+1000=, sum )1+2+3+.+1
22、000= 500500如下实例中,用for循环和range函数来计算指定整数的阶乘。38m = int(input(请输入想计算的整数阶乘:)result = 1for i in range(1, m + 1): result *= iprint(阶乘为:, result)上述实例中,m为输入整数,result为计算后得出的阶乘。假如用户输入7,程序会构建一个range(1,8)对象(不包含8),在每次循环开始时,i都会被依次自动赋值为range所包含的每个元素,for循环将会自动循环7次。运行以上实例,如果输入7,将会看到如下运行结果:请输入想计算的整数阶乘:7阶乘为: 5040如下实例中,
23、输入一个自然数n,利用for循环计算并输出前n个自然数的阶乘之和,即1!+2!+3!+n!的值,代码如下所示。39n = int(input(请输入一个自然数:)#使用result保存最终结果,t表示每一项result = 1t = 1for i in range(2, n+1): #在前一项的基础上得到当前项 t *= i #把当前项加到最终结果上 result += tprint(1!+2!+3!+.+n!=, result)运行以上实例,如果输入4,将会看到如下运行结果:请输入一个自然数:41!+2!+3!+.+n!= 33此外,采用range(start,end,step)的格式,还可
24、以指定创建整数序列时的步长,如下实例。40print(循环开始)for i in range(0, 6, 2): print(i) print(循环结束)以上实例运行结果:循环开始024循环结束在下面的实例中,使用for循环打印所有水仙花数,并计算水仙花数的个数。水仙花数是指一个 3 位数,它的每个数位上的数字的 3次幂之和等于它本身(例如:13 + 53+ 33 = 153)。41# count 表示水仙花数的个数count = 0for num in range(100, 1000): a = num % 10 # 个位数 b = num / 10 % 10 # 十位数 c = num /
25、 100 # 百位数 if a * 3 + b * 3 + c * 3 = num: # 判断条件 count += 1 print(num, end= ) print() print(水仙花数的个数为:, count)以上实例运行结果:153 370 371 407 水仙花数的个数为: 4(3)while循环While循环也是最常用的循环之一,基本格式如下。42上述格式中,只要布尔表达式为True,循环体就会被执行。循环体执行完毕后再次计算布尔表达式,如果结果依然为True,再次执行循环体,直至布尔表达式为False,循环结束。用流程图表示while循环的执行过程,如下图所示。使用while
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模块二 学生“画像”系统的流程控制模块ppt课件 模块 学生 画像 系统 流程 控制 ppt 课件
限制150内