Python程序设计-教案-单元三 流程控制_第1页
Python程序设计-教案-单元三 流程控制_第2页
Python程序设计-教案-单元三 流程控制_第3页
Python程序设计-教案-单元三 流程控制_第4页
Python程序设计-教案-单元三 流程控制_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《Python程序设计》教案单元三流程控制

教学内容描述“猜数字”游戏流程教学目标素质目标:培养学生分析问题,提前规划的良好习惯。 知识目标:了解Python的流程控制。能力目标:能够通过程序代码画出对应流程图,通过流程图写出相应代码。教学重难点教学重点:程序流程图的基本符号教学难点:程序流程图的画法教学方法案例分析法、问答法、讨论法、讲授法、实训法教学用具电脑、投影仪、多媒体课件、教材教学设计教学过程主要教学内容及步骤设计意图课前任务【教师】布置课前任务,提醒同学通过学习软件,完成课前任务请大家搜集信息,了解“猜数字”游戏的规则是什么,预习本任务需要的相关知识点。【学生】完成课前任务通过课前任务,使学生了解本次课的重要性,增加学生的学习兴趣考勤

(2min)【教师】清点上课人数,记录好考勤【学生】班干部交假条培养学生的组织纪律性,掌握学生的出勤情况新课预热

(10min)【教师】与学生简单互动,复习回顾上次课的内容等【学生】聆听、互动通过老师与学生的互动,并让学生了解这次课的知识点大致要求问题导入(5min)【教师】提出以下问题:(1)大家知道什么是流程图吗?(2)程序流程图的基本符号都有哪些?【学生】思考、举手回答【教师】通过学生的回答引入要讲的知识通过问题导入的方法,引导学生主动思考,激发学生的学习兴趣传授新知

(30min)一、流程图【教师】讲解流程图流程图是对某一个问题的定义、分析或解法的图形表示,图中用各种符号来表示操作、数据、流向及装置等。程序流程图则表示程序的运行顺序,是一种常用的表示算法的图形化工具。换言之,程序流程图就是通过画图的方法表达程序运行的所有路径,通过使用箭头和框图把程序运行的方向与步骤展示出来。【学生】聆听、记录、理解二、程序流程图的基本符号【教师】讲解程序流程图的基本符号程序流程图的基本符号如图3-1所示。1)起止符表示算法的起始或结束。2)判断符用于对给定的条件进行判断,根据判断的结果来选择流程方向。它只有一个入口,可以有若干个出口,但有且仅有一个出口被激活。3)处理符表示算法中的具体处理步骤。4)流线符表示数据流,箭头指示流向。5)连接符用于连接因页面写不下而断开的流程线,对应的连接符应有同一标记。6)数据符表示未指定媒体的数据,可用于输入和输出,比较通用。图3-1流程图基本符号在进行程序开发时,无论是简单的算法还是复杂的算法,都可以由顺序结构、选择结构、循环结构这三种基本结构组合而成。顺序结构:程序从上到下顺序地执行代码,中间没有任何判断和跳转,直到程序结束。分支结构:程序根据判断条件的布尔值选择性地执行部分代码。明确的让程序知道在什么条件下,该执行什么。常用的如if-else语句。循环结构:程序反复的运行某一段代码,直到不满足循环条件才终止循环。常用的如while循环,for循环。图3-23种基本结构【学生】聆听、记录、理解通过教师的讲解和演示,使学生了解流程图任务实施(15min)【教师】带领学生完成任务一✈【教师】提出任务我们做任何事情之前,都需要先对问题进行分析,然后制定好计划,最后付诸行动,不然就很容易会陷入混乱。同理,在我们编写程序前,也应该先分析程序的功能和流程;然后进行重要步骤规划,即画流程图;最后根据流程图逐步编程实现。本任务将带领大家使用流程图描述“猜数字”游戏流程。【学生】思考、讨论一、进行任务分析:“猜数字”游戏要求用户输入一个数据,然后和预设好的“幸运数字”进行比较,如果相同,则输出“这竟然都被你猜到了!”,否则输出“猜错喽,再接再厉!”,最后输出“游戏结束。”根据任务要求画出“猜数字”游戏对应流程图。【教师】讲解分析任务【学生】聆听、记录、理解通过任务实施环节,让学生将所学知识与实践相结合,培养学生的实操能力实操练习(15min)【教师】布置任务绘制出流程图【教师】巡堂辅导,及时解决学生遇到的问题;安排每组做得最快、最好的学生辅导其他学生进行操作,并解答其遇到的问题【学生】对比自己的绘制结果,若绘制有误,查找并记录原因通过实操练习使学生巩固所学知识,并以学生为主体,针对学生接受能力的差异性,让优秀学生带动其他学生掌握知识课堂小结

(3min)【教师】简要总结本节课的要点利用所学流程图知识点画出“猜数字”游戏流程图。【学生】总结回顾知识点总结知识点,巩固学生对流程图相关知识的印象作业布置

(2min)【教师】布置课后作业利用本节课所学知识点自己绘制出“猜数字”游戏流程图。【学生】完成课后任务通过课后作业复习巩固学到的知识,提高实际操作能力教学反思本次课讲授的主要是流程图知识点,通过知识点的学习和实践,让学生对Python流程控制语句有了更深入的了解,进一步提高了对Python知识的掌握程度,学生对本次课的学习兴趣也很高,取得了不错的教学效果。但由于课下练习较少,编程不太熟练,以后要继续加强实操部分的练习。教学内容设计飞机行李托运费计算程序教学目标素质目标:增强学生总结规律,将事物化繁为简的能力。知识目标:了解Python的条件判断语句。掌握if语句的基本形式和使用方法。能力目标:能够应用条件判断语句解决实际问题,通过if语句设计飞机行李托运费计算程序。教学重难点教学重点:Python中if分支语句的使用方法教学难点:Python中if分支语句的应用教学方法案例分析法、问答法、讨论法、讲授法、实训法教学用具电脑、投影仪、多媒体课件、教材教学设计教学过程主要教学内容及步骤设计意图课前任务【教师】布置课前任务,提醒同学通过学习软件,完成课前任务请大家思考可以通过什么方法可以实现“分级”功能,预习本任务需要的相关知识点。【学生】完成课前任务通过课前任务,使学生了解本次课的重要性,增加学生的学习兴趣考勤

(2min)【教师】清点上课人数,记录好考勤【学生】班干部交假条培养学生的组织纪律性,掌握学生的出勤情况新课预热

(10min)【教师】与学生简单互动,复习回顾上次课的内容等【学生】聆听、互动【教师】概括本次课总体学习内容,让学生大体了解本次课学习内容分支语句可分为简单的if语句、if-else语句、if-elif-else语句和嵌套的if语句。通过老师与学生的互动,并让学生了解这次课的知识点大致要求问题导入(5min)【教师】提出以下问题:我们都学过了C语言,请大家思考一下,C语言的分支语句是什么?【学生】思考、举手回答【教师】通过学生的回答引入要讲的知识通过问题导入的方法,引导学生主动思考,激发学生的学习兴趣传授新知

(30min)一、简单的if语句【教师】讲解Python中的if语句一、if语句在Python提供的多种条件判断语句中,if语句是最简单的判断语句。if语句实现单分支结构,使用可以返回一个布尔值的表达式作为分支条件来进行控制。if语句基本语法格式如下所示。if判断条件:条件成立执行的语句#注意执行语句的缩进其中判断条件需使用布尔表达式的形式,在布尔表达式的后面使用冒号(:)。下面的语句便是条件成立所执行的语句,注意使用缩进。在Python中,通过将块中的代码行缩进构成代码块,相同缩进的语句组成一个语句块。程序会先计算判断条件的布尔值,如果结果为True,则执行下面的语句;相反的,如果结果为False,则语句不执行,直接执行判断语句的后续代码。【学生】聆听、记录、理解【教师】布置题目下面if语句用于统计满足“性别(sex)为男、年龄(age)在45岁以下的党员(iden)”条件的人数,正确的是()。A.ifsex=="男"andage<=45andiden=="党员":n+=1B.ifsex=="男"orage<=45andiden=="党员":n+=1C.ifsex=="男"andage<=45oriden=="党员":n+=1D.ifsex=="男"orage<=45oriden=="党员":n+=1【学生】完成题目【教师】随机点名回答二、if-else语句【教师】讲解Python中的if-else语句使用if语句仅能实现单分支选择结构,只能在判断条件为真时指定要执行的语句,那么在不满足条件的情况下,我们想执行某段代码该如何写呢?if-else语句能够实现双分支结构,满足条件时,执行一段代码,不满足条件时,执行另外一段代码。if-else语句语法格式如下所示。if判断条件:分支一else:分支二在上述格式中,程序会先计算判断条件的布尔值,如果结果为True,则执行分支一中的所有语句;如果结果为False,则执行分支二中的所有语句。通过else语句,程序可以选择执行。【学生】聆听、记录、理解【教师】演示例3-3,例3-4程序【学生】观察运行结果并讨论【教师】讲解程序【教师】布置题目(1)当n=10时,以下程序的输出结果是()。n=eval(input("请输入一个自然数n:"))ifn<10:n+=1else:n-=1print(n)A.9 B.10C.11 D.错误代码(2)用户输入用户名和密码,当用户名为admin且密码为admin123,或用户名为adminster且密码为123123时,显示登录成功,否则显示请重新输入,请在________处填空。name=input("请输入用户名:")pw=input("请输入密码:")if________①__________print("登录成功")else:print("______②_______")【学生】完成题目【教师】随机点名回答三、if-elif语句【教师】讲解Python中的if-elif语句当需要判断的情况大于两种情况时,if和if…else语句显然是无法完成判断的。所以,我们可以使用if…elif语句来实现多路分支。if-elif语句的语法格式如下所示。if判断条件一:分支一elif判断条件二:分支二elif判断条件三:分支三…elif判断条件N分支Nelse:分支N+1#注意分支代码块的缩进其中,elif是elseif的缩写。为了实现多分支结构,程序中可以有多个elif。上述格式的运行步骤如下:步骤一:程序计算判断条件一的布尔值,如果结果为True,则执行分支一。判断结束。步骤二:如果为False,则计算判断条件二的布尔值,如果为True,则执行分支二。判断结束。步骤三:如果为False,则继续判断条件三的布尔值。如果为True,则执行分支三。判断结束。步骤四:如果为False,则计算下一个布尔表达式的值,依此类推,直至结束。步骤五:如果全部判断条件的结果都为False,则执行else后的语句。【学生】聆听、记录、理解【教师】演示例3-5程序【学生】观察运行结果并讨论【教师】讲解程序(主要代码)【教师】布置题目求解分段函数的值,请在处填空。x=eval(input("请输入x的值:"))ifx>0:y=x-1elif____①____y=xelse:_____②_____print(y)【学生】完成题目【教师】随机点名回答四、if嵌套【教师】讲解Python中的嵌套的if语句使用if语句进行条件判断时,如果希望在条件成立的执行语句中增加新的条件判断,则可以使用if嵌套,也就是说,整个if或if-else语句可以放在另一个if或if-else语句中。if嵌套语句的语法格式如下所示。if外层判断条件:if内层判断条件:内层条件执行体1else:内层条件执行体2else:外层条件执行体语法格式中的条件判断有两层,程序首先执行外层的if条件判断,若结果为True,则执行内层的if条件判断,否则直接执行外层else中的执行体。执行内层if条件判断时,若结果为True,执行内层条件执行体1,否则执行内层条件执行体2。【学生】聆听、记录、理解【教师】演示例3-6程序【学生】观察运行结果并讨论【教师】讲解程序(主要代码)【教师】布置题目(1)以下关于判断结构的描述中,错误的是()。A.if语句中语句块执行与否依赖于条件判断B.if语句中条件部分可以使用任何能够产生True和False的语句和函数C.判断结构中,每一个if后面必须有elif或elseD.if-else结构可以嵌套(2)编程题:停车场的收费标准是半小时内不收费,超过半小时,不足1小时,收费5元;超过1小时,每15分钟收费2.5元,不足15分钟按15分钟收取。试编写程序,计算每辆车的停车费。提示:向上取整用math.ceil(x)函数。【学生】完成题目【教师】随机点名回答通过教师的讲解和演示,使学生了解Python分支语句的使用任务实施(15min)【教师】带领学生完成任务二✈【教师】提出任务飞机的行李托运系统可以根据行李重量的不同将托运费用分为不同等级,然后当行李重量达到某一条件时,自动计算出所要缴纳的托运费用。正所谓“化繁为简,分而治之”,在Python程序中,当遇到需要根据某个条件(行李重量)是否满足来决定是否执行某些指定操作时,就可以利用条件判断语句来解决问题。本任务将带领大家编写Python程序,通过条件判断语句设计飞机行李托运费计算程序。【学生】思考、讨论一、进行任务分析:完成本任务,须假设飞机上个人托运行李的条件是:行李重量在20千克以下免费托运,20-30千克超出部分5元/千克;30-40千克超出部分10元/千克;40-50千克超出部分15元/千克;50千克以上不允许个人携带。由于行李在不同的重量时所需的费用不同,那么我们需要对行李的重量进行判断,分情况来处理。1.利用print()函数输入行李重量。2.根据行李重量值判断等级,同时计算并输出相应的行李托运费。本任务首先需要判断行李重量是否大于0千克,在确定数值有意义的情况下再判断该值处于哪个范围。因此,可以利用嵌套的if语句来完成本任务,并在内嵌if语句中利用if-elif-else语句实现多次判断。二、参考代码:money=0luggage=int(input("请输入行李重量:")) #利用print()函数输入行李重量。if(luggage>0): #行李重量大于0千克if(luggage<20): #行李重量在20千克以下免费托运;print("免费托运")elif(20<=luggage<30): #20-30千克超出部分5元/千克;money+=(luggage-19)*5print(f"你本次需要付费{money}元")elif(30<=luggage<40): #30-40千克超出部分10元/千克;money+=(luggage-29)*10print(f"你本次需要付费{money}元")elif(40<=luggage<=50): #40-50千克超出部分15元/千克;money+=(luggage-39)*15print(f"你本次需要付费{money}元")else: #50千克以上不允许个人携带print("超过50千克的行李不允许个人携带!")else:print('数据输入错误!') #输出数据错误提示三、代码运行四、代码分析【学生】聆听、记录、理解通过任务实施环节,让学生将所学知识与实践相结合,培养学生的实操能力实操练习(15min)【教师】巡堂辅导,及时解决学生遇到的问题;安排每组做得最快、最好的学生辅导其他学生进行操作,并解答其遇到的问题【学生】对比自己的绘制结果,若绘制有误,查找并记录原因通过实操练习使学生巩固所学知识,并以学生为主体,针对学生接受能力的差异性,让优秀学生带动其他学生掌握知识课堂小结

(3min)【教师】简要总结本节课的要点利用所学分支判断语句设计飞机行李托运费计算程序。【学生】总结回顾知识点总结知识点,巩固学生对Python分支语句相关知识的印象作业布置

(2min)【教师】布置课后作业利用本节课所学知识点自己设计飞机行李托运费计算程序。【学生】完成课后任务通过课后作业复习巩固学到的知识,提高实际操作能力教学反思本次课讲授的主要是Python中的if分支知识点,通过知识点的学习和实践,让学生对Python流程控制语句有了更深入的了解,进一步提高了对Python知识的掌握程度,学生对本次课的学习兴趣也很高,取得了不错的教学效果。但由于课下练习较少,编程不太熟练,以后要继续加强实操部分的练习。教学内容开发“进步一点点”游戏教学目标素质目标:培养学生自信果敢、自强不息、永不懈怠、锐意进取的精神风貌和奋斗姿态。 知识目标:了解Python的循环语句。掌握for循环的语法格式和执行过程。掌握while、do-while语句的基本格式和使用方法。理解continue语句和break语句的作用。能力目标:能够应用循环语句开发“进步一点点”游戏。教学重难点教学重点:while和for循环语句的使用方法,break和continue跳转语句的使用方法,能画程序流程图。教学难点:利用所学知识点解决实际问题。教学方法案例分析法、问答法、讨论法、讲授法、实训法教学用具电脑、投影仪、多媒体课件、教材教学设计教学过程主要教学内容及步骤设计意图课前任务【教师】布置课前任务,提醒同学通过文旌课堂APP或其他学习软件,完成课前任务请大家思考可以通过什么方法可以开发“进步一点点”游戏,预习本任务需要的相关知识点。【学生】完成课前任务通过课前任务,使学生了解本次课的重要性,增加学生的学习兴趣考勤

(2min)【教师】清点上课人数,记录好考勤【学生】班干部交假条培养学生的组织纪律性,掌握学生的出勤情况新课预热

(10min)【教师】与学生简单互动,复习回顾上次课的内容等【学生】聆听、互动【教师】概括本次课总体学习内容,让学生大体了解本次课学习内容循环语句可分为while语句、for语句和嵌套的循环语句。跳转语句可分为break语句和continue语句。通过老师与学生的互动,并让学生了解这次课的知识点大致要求问题导入(5min)【教师】提出以下问题:我们都学过了C语言,请大家思考一下,C语言的循环控制语句是什么?【学生】思考、举手回答【教师】通过学生的回答引入要讲的知识通过问题导入的方法,引导学生主动思考,激发学生的学习兴趣传授新知

(30min)一、for语句【教师】讲解Python中的for语句1、基本语法格式for语句的基本语法格式如下。for变量in序列:语句块 #循环体上述语句的执行过程是:如果序列中包含表达式,则先进行求值计算;然后,序列中的第一个元素赋给变量,执行循环体;接着序列中的第二个元素赋给变量,执行循环体;依此类推,直到序列中最后一个元素赋给变量,执行循环体后for循环结束,执行for语句后的语句。例如,使用for循环输出字符串“python”中的每一个字符,可使用下面代码实现。forxin'python':print(x)【教师】强调以下问题Python中的for循环常用于遍历列表、元组、字符串及字典等序列中的元素。具体使用方法将陆续在以后项目中介绍。【学生】聆听、记录、理解2、range()函数for语句经常与range()函数一起使用,range()函数是Python的内置函数,可创建一个整数列表。range()函数的语法格式如下。range([start,]stop[,step])(1)start:计数从start开始,默认为0。例如,range(5)等价于range(0,5)。(2)stop:计数到stop结束,但不包含stop。例如,range(0,5)是[0,1,2,3,4]。(3)step:步长,默认为1。例如,range(0,5)等价于range(0,5,1)。【教师】演示例3-9至例3-12程序【学生】观察运行结果并讨论【教师】讲解程序【教师】布置题目(1)以下程序的输出结果是()。forsin"Iamalovelyboy":ifs=="a":s="'"print(s,end="")A.Imlovelyboy B.I'm'lovelyboyC.I'malovelyboy D.I'malovelyboy(2)在Python语言中,使用forin方式形成的循环不能遍历的类型是()。A.字符串 B.元组 C.列表 D.实数(3)下列程序段的循环次数是()。foriinrange(1,5):print(i)A.3 B.4 C.5 D.不确定(4)以下程序的输出结果是______。sum=0foriinrange(20):sum+=iprint(sum)(5)以下程序的输出结果是_______。forsin"PyCharm-Python":ifs=="-":breakprint(s,end="")(6)以下程序用于求解等比数列(从第二项起,每一项与它的前一项的比值等于同一个常数q的一种数列)前n项和s,设a为首项,请在________处填空。a=eval(input("请输入等比数列的首项:"))q=eval(input("等比数列的比值为:"))n=eval(input("前n项"))①foriinrange②:s+=a*q**iprint(s)【学生】完成题目【教师】随机点名回答二、while语句【教师】讲解Python中的while语句while语句的基本语法格式如下。while判断条件:语句块#循环体上述语句的执行过程是,当判断条件为True时,执行循环体;接着再次判断条件,如果为True,继续执行循环体;如此反复,直到判断条件为False时结束循环,执行while语句后的语句。【教师】强调以下问题while语句是“先判断,后执行”。如果刚进入循环时判断条件就不满足,则循环体一次也不执行。还需要注意的是,循环体中一定要有语句修改判断条件,使其有为False的时候,否则将出现“死循环”。【学生】聆听、记录、理解【教师】演示例3-15程序【学生】观察运行结果并讨论【教师】讲解程序【学生】聆听、记录、理解【教师】布置题目(1)以下程序的输出结果是()。n=1s=1y=0whilen<5:s*=ny+=sn+=1print(y)A.24 B.120 C.33 D.143(2)下列程序段的循环次数是()。k=100whilek>=1:print(k)k=k/2A.100 B.99 C.50 D.7【学生】完成题目【教师】随机点名回答三、嵌套的循环语句【教师】讲解Python中的嵌套的循环语句一个循环语句的循环体内包含另一个完整的循环结构,称为循环的嵌套。嵌套在循环体内的循环称为内循环,嵌套有内循环的循环称为外循环。内循环中还可以嵌套循环,这就是多重循环。while语句和for语句可以互相嵌套,自由组合。外层循环体中可以包含一个或多个内层循环结构,但要注意的是,各循环必须完整包含,相互之间不允许有交叉现象。【学生】聆听、记录、理解【教师】强调以下问题print()函数默认是输出一行,且末尾加换行。如果想要末尾不换行且同时加上符号,可使用“end=”实现。例如:print(‘我爱你’,end=’,’)print(‘中国’,end=’’)print(‘China’,end=’。’)上述代码输出结果为“我爱你,中国China。”【学生】聆听、记录、理解四、break和continue语句【教师】讲解Python中的break和continue语句前面介绍的循环都是当循环条件为False时退出循环,然而,在某些场合,只要满足一定的条件就应当提前结束正在执行的循环操作。此时,Python提供了break和continue跳转语句来结束循环。1、break语句在循环结构中,break语句通常与if语句一起使用,以便在满足条件时跳出循环。【学生】聆听、记录、理解【教师】演示例3-18和例3-19程序【学生】观察运行结果并讨论【教师】讲解程序(主要代码)【学生】聆听、记录、理解2、continue语句有时并不希望终止整个循环的操作,而只希望提前结束本次循环,接着执行下次循环,此时可使用continue语句。与break语句不同,continue语句的作用是结束本次循环,即跳过循环体中continue语句后面的语句,开始下一次循环。【教师】演示例3-20和例3-21程序【学生】观察运行结果并讨论【教师】讲解程序(主要代码)【学生】聆听、记录、理解【教师】布置题目(1)选择题:以下关于分支和循环结构的描述中,正确的是()。A.continue可以终止循环B.while循环只能用于实现无限循环C.所有的for循环都可以用while循环改写D.break可以停止后续代码的执行,从循环的开头重新执行(2)填空题:在循环结构中使用关键字可以跳出本次循环,从循环的开头重新执行。【学生】完成题目【教师】随机点名回答通过教师的讲解和演示,使学生了解Python中的循环语句的使用任务实施(15min)【教师】带领学生完成任务三✈【教师】提出任务典故《铁杵磨成针》里的老婆婆说到,“只要功夫深,每天坚持,一定可以磨成针”。在我们日常生活中,只要大家在自我生命中,加入“积极”、“坚持”的因子,每天努力朝向自己的目标进步一点点,那么,我们的成绩就会愈来愈亮丽!相反,如果“偷懒”、“萎靡”,那么我们的命运可能就是极普通,甚至是倒退的景象。本任务将带领大家编写Python程序,利用Python的循环结构,开发“进步一点点”游戏。【学生】思考、讨论一、进行任务分析:完成本任务,须利用循环结构。1.定义变量hard和lazy分别用于记录用户努力和懒惰的收获,并赋初值为1。2.定义变量day

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论