《Python程序设计项目案例教程》教案 王小宁_第1页
《Python程序设计项目案例教程》教案 王小宁_第2页
《Python程序设计项目案例教程》教案 王小宁_第3页
《Python程序设计项目案例教程》教案 王小宁_第4页
《Python程序设计项目案例教程》教案 王小宁_第5页
已阅读5页,还剩162页未读 继续免费阅读

下载本文档

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

文档简介

课程基本情况课程名称学时数授课班级考核方式Python程序设计2笔试+机试课程目标:本课程主要培养学生的编程素质,通过“教、学、做”一体化教学,使学生掌握程序设计的基本方法并逐步形成正确的程序设计思想,能够熟练地使用Python进行程序设计并具备初步调试程序的能力,为后续课程及其他程序设计课程的学习和应用打下基础。通过本课程的学习,使学生逐步建立和掌握结构化程序设计的思想方法,具有分析问题和解决问题的能力,能够使用Python编写应用程序解决实际问题,培养学生细致缜密的工作态度和团结协作的良好品质。教学方式:□理论□实践理实一体□其他课程重点、难点:重点:1.掌握Python程序的结构、函数的结构和程序开发过程;2.能够对实际问题中的数据进行描述和操作;3.掌握算法的特性和程序的三种基本结构,能够使用流程图或N-S图来描述算法;4.熟练使用顺序结构、选择结构和循环结构编写程序,解决实际问题;5.能够熟练的使用函数编写程序,掌握函数的定义、声明、调用及参数的传递方式;6.能够使用列表、字典、元组编写程序,解决排序、查找等实际问题;7.掌握Python中常用的字符串、列表、元组、字典等数据类型;8.掌握面向对象的程序设计、类属性与实例属性、类方法与实例方法、构造函数与析构函数、派生于继承,能利用面向对象的方法编写应用程序,解决较复杂的实际问题;9.掌握文件的读/写操作,能使用文件对数据进行处理,解决批量输入输出的实际问题,掌握文本编码。难点:1.算法的特性和程序的三种基本结构;2.函数的定义、声明、调用及参数的传递方式;3.Python中常用的字符串、列表、元组、字典等数据类型;4.面向对象的程序设计、类属性与实例属性、类方法与实例方法;5.文件的读/写操作、文本编码。使用教材是否与课程大纲一致:是□否如“否”,列出本课程拟采用教材信息(名称、出版社、主编)参考书目:1.《Python程序设计》,王小宁,清华大学出版社,2024

教案1授课单元第1章走进Python编程授课形式教学做一体化授课学时4授课地点授课对象授课班级一、教材分析教学内容第1章Python程序基础教学标准《Python程序设计》课程标准参考教材《Python程序设计》王小宁二、学情分析学生现在已经学过信息技术基础,有一定的计算机硬件与软件基础。三、教学目标知识目标了解Python的发展历史及特点掌握Python的安装;掌握PyCharm开发工具的安装与使用。技能目标会安装Python和PyCharm等软件;会写简单的编程语句;情感与思政目标具有规范的企业编程风格和习惯、良好的排查程序错误的能力;具有良好的分析问题和解决问题的能力、沟通和协作和学习能力;熟悉课程中涉及到的专业词汇。四、教学重难点教学重点Python安装、Pycharm安装教学难点Python环境配置五、教学方法教法讲授法、演示法学法实验法六、教学资源与手段教学资源素材库、实训指导书教学手段教学做一体化七、教学流程(一)导入Python是什么?中文名字是“蟒蛇”。它是一种跨平台的计算机程序设计语言,提供了高效的高级数据结构,还能简单有效地面向对象编程。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本,随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。1.课程介绍这是一门Python程序设计的入门课程,主要包含基本的Python程序语法、程序结构、函数、列表、字典、面向对象、文件操作,还有数据库、网络操作。课程由浅入深、循序渐进,案例丰富。参考教材目录。2.课程定位本课程是XX专业的专业基础/核心课,培养学生结构化程序设计能力。本课程主要培养学生的编程素质,通过“教、学、做”一体化教学,使学生掌握程序设计的基本方法并逐步形成正确的程序设计思想,能够熟练地使用Python进行程序设计并具备初步调试程序的能力,为后续课程及其他程序设计课程的学习和应用打下基础。3.课程目标通过本课程的学习,逐步建立和掌握结构化程序设计的思想方法,具有分析问题和解决问题的能力,能够使用Python编写应用程序解决实际问题,培养学生细致缜密的工作态度和团结协作的良好品质。简单来说,就是能编写基本的Python程序,能编写文件、数据库与网络程序,为今后的Python爬虫、Web、数据分析、人工智能等学习打下良好的基础。4.教学基本要求职业素质要求:守时、保质、保量、沟通、协作;课堂要求:按时出勤,有事请假、认真主动,勤于思考、积极回答问题、参与讨论、有礼貌、师生相互尊重;上课最基本的要求:必须带教材作业要求:按时交、保质书山有路勤为径5.考核方式本课程考核成绩由形成性考核和期末考试两部分组成,分数比例为:课程考核成绩=形成性考核成绩(50%)+期末考试成绩(50%)形成性考核成绩由学习表现、平时作业和综合实训三项构成,学习表现主要记录学生平时的出勤情况和课堂表现,平时作业和综合实训强调职业技能的培养。(二)知识基础1.Python简介Python的作者,GuidovonRossum,确实是荷兰人。1991年,第一个Python编译器(同时也是解释器)诞生。它是用C语言实现的,并能够调用C库(.so文件)。从一出生,Python已经具有了:类(class),函数(function),异常处理(exception),包括表(list)和词典(dictionary)在内的核心数据类型,以及模块(module)为基础的拓展系统。Python语言具有以下特点:(1)语法简洁清晰,强制用空白符语句缩进;(2)开源、免费、功能强大;(3)具有丰富和强大的库,无论你想实现什么功能几乎都有一个库;(4)易读、易维护,被大量用户所欢迎的、用途广泛;(5)是解释性语言,变量类型可变,类似JavaScript;2.Python自带环境官网/中直接下载Python的程序包。Python安装完毕后可以看到Python39的启动菜单3.PyCharm流行轻量级Python程序的IDE开发工具PyCharmPyCharm类似大名鼎鼎的Eclipse,是一种专门为Python开发的IDEPyCharm的官网/pycharm/去下载免费的PyCharmCommunity版本4.Anaconda流行的开发环境是Anaconda,是一个十分强大的Python开发环境。官网https://www.continuum.io/downloads下载Anaconda。自带Python的解释器自带一个功能强大的IDE开发工具Spider。(三)实训任务1.查阅Python的应用资料,了解Python的应用。2.安装python和pycharm软件,并运行1+2的结果。八、特色与创新以实训任务为核心,理论与操作相结合,重视学生动手实践能力的培养。九、反思与诊改1.教案实施是否顺利是2.是否达到教学目标是3.教学过程中是否满足学生的个性化需要是4.学生学习方式是否有变化是5.采取的课堂管理是否有效是6.通过此次课程,是否改变教学理念是其他:

教案2授课单元第2章Python数据类型授课形式教学做一体化授课学时2授课地点授课对象授课班级一、教材分析教学内容数值及表达式教学标准《Python程序设计》课程标准参考教材《Python程序设计》王小宁二、学情分析学生现在已经学过信息技术基础,有一定的计算机硬件与软件基础。三、教学目标知识目标掌握Python中数值数据类型的分类和特点。了解数值运算的基本规则和优先级。技能目标能够进行基本的数值运算,如加、减、乘、除等。能够使用内置的数学函数进行复杂的数值计算。情感与思政目标具有规范的企业编程风格和习惯、良好的排查程序错误的能力;具有良好的分析问题和解决问题的能力、沟通和协作和学习能力;熟悉课程中涉及到的专业词汇。四、教学重难点教学重点Python常量与变量;Python表达式;教学难点数值的格式化输出五、教学方法教法讲授法、演示法学法实验法六、教学资源与手段教学资源素材库、实训指导书教学手段教学做一体化教学流程(一)导入引入本课内容(二)知识基础1.常量在程序执行过程中需要大量的数据来参与运算,常量是不变的数据,用于描述客观事物的属性。人们常用的数字(0,1,2,1.5,-1,-2……)、中文文字(“计算机”、“程序”、“苹果”、“红色”……)、英文文字(“python”、“student”……)等,均为常量。常量的数据类型包括数值、字符串、列表、元组、集合、字典,下文将会对每一种数据类型进行详细讲解。2.变量程序设计中有时会需要变化的数据来提高程序的灵活性,因此出现了变量。变量是用户自定义的有名字的存储单元,其命名一般遵循以下规则:(1)变量名可以包含数字或字母和下划线;(2)变量名不能以数字开头;(3)变量名区分大小写;(4)变量名不宜太长,一般最好有一定的含义。(5)保留字不能用作变量名。在PyCharm中输入以下代码,可查看保留字。importkeywordprint(keyword.kwlist)Python保留字有33个:'False','None','True','and','as','assert','async','await','break','class','continue','def','del','elif','else','except','finally','for','from','global','if','import','in','is','lambda','nonlocal','not','or','pass','raise','return','try','while','with','yield'。根据上述要求,常用的变量名有:i,s,a,b,x,y,a1,x1,sum,p_stu,list_01,dict_p等。在使用变量时,需要对其赋值,如i=0,表示将i这一变量的值赋为0,a=“python”,表示将a变量的值赋为“python”。3.数值数值的4种类型(1)整型(int)(2)浮点型(float)(3)复数型(complex)(4)布尔型(bool)4.数值运算Python中数据的运算,主要包括算术运算(如+、-、*、/),比较运算(如>、<、>=),位运算(如&、|、~、<<),以及逻辑运算(and,or,not),成员运算(in,notin)等,在运算时有一定的优先级,5.格式化输出在程序设计中,对数值数据进行运算后,往往需要将其以某种格式输出,如保留一位小数位数、将十进制的计算结果转出为二进制数、输出科学计数法的格式等问题,如何用Python语言描述?输出语句print()可以实现这些功能。print(values,sep,end,file,flush)values:对象,表示可以一次输出多个对象,输出多个对象时,需要用逗号分隔;sep:用来间隔多个对象,默认值是一个空格;end:用来设定以什么结尾。默认值是换行符\n,我们可以换成其他字符串;file:要写入的文件对象;flush:输出是否被缓存通常决定于file,但如果flush关键字参数为True,流会被强制刷新。(1)使用%操作符(2)使用.format()方法(3)使用f-string(三)实训任务实训任务包括课堂实例、精选案例两大部分、本教材中仅列出了课堂实例内容。例2-1:定义整数10和20,并输出两数之和。a,b=10,20print(a+b)例2-2:定义整数9999999999999999999999991,并输出它的3倍。a=9999999999999999999999991print(a*3)例2-3:计算100-99.5,并输出结果。a,b=100,95.5print(a-b)例2-4:计算复数1+2j与3+3j的和,并输出结果。a=1+2jb=3+3jprint(a+b)例2-5:计算布尔值True和False的和,以及True和True的和,并输出结果。a=Trueb=Falsec=Trueprint(a+b,a+c)例2-6:执行以下代码,查看结果。a=1b=2c=3print(a,b,sep="、",end=",")print(c)例2-7:a=10,b=99.5678,将a和b的值输出,并将b保留2位小数,用%操作符实现输出。a=10b=99.5678print("Thenumberis%d"%a)print("Thenumberis%.2f"%b)例2-8:将a和b的值输出,并将b保留2位小数,用format方法实现输出,得到上题同样的输出结果。a=10b=99.5678print("Thenumberis{}".format(a))print("Thenumberis{:.2f}".format(b))例2-9:将a和b的值输出,并将b保留2位小数,用f-string实现输出,得到上题同样的输出结果。a=10b=99.5678print(f"Thenumberis{a}")print(f"Thenumberis{b:.2f}")八、特色与创新以实训任务为核心,理论与操作相结合,重视学生动手实践能力的培养。九、反思与诊改1.教案实施是否顺利是2.是否达到教学目标是3.教学过程中是否满足学生的个性化需要是4.学生学习方式是否有变化是5.采取的课堂管理是否有效是6.通过此次课程,是否改变教学理念是其他:

教案3授课单元第2章Python数据类型授课形式教学做一体化授课学时2授课地点授课对象授课班级一、教材分析教学内容字符串教学标准《Python程序设计》课程标准参考教材《Python程序设计》王小宁二、学情分析学生现在已经学过信息技术基础,有一定的计算机硬件与软件基础。三、教学目标知识目标理解字符串的不可变性及其意义。掌握字符串切片、索引和查找等基本操作的概念。技能目标能够熟练使用字符串切片来获取子字符串。能够使用字符串方法来进行查找、替换和分割等操作。情感与思政目标具有规范的企业编程风格和习惯、良好的排查程序错误的能力;具有良好的分析问题和解决问题的能力、沟通和协作和学习能力;熟悉课程中涉及到的专业词汇。四、教学重难点教学重点字符串切片和索引的使用方法。教学难点字符串编码和解码的处理五、教学方法教法讲授法、演示法学法实验法六、教学资源与手段教学资源素材库、实训指导书教学手段教学做一体化七、教学流程(一)导入字符串是除数值外应用最广泛的一种常量。字符串的类型是str,它支持Unicode字符集,可以包含任何语言的字符。Python中的字符串是不可变的。(二)知识基础1.字符串定义字符串的定义比较灵活,一般使用英文状态下的一对引号表示,可以使用一对单引号、双引号或三引号表示,其中三引号通常用于定义多行字符。在定义字符串时,有时字符串中含有单引号,这时需要对它进行转义,即在前面加一个\。或者使用不同类型的引号也可以解决问题。例如,对字符串doesn't进行定义时,要改写为:doesn\'t。有时,也希望在字符串中包含换行符\n和回车符\r等特殊字符,这个时候就需要使用转义字符进行表示,常用的转义字符及其含义如表2-3所示。表2-3转义字符转义字符描述转义字符描述\(在行尾时)续行符\n换行\\反斜杠符号\t横向制表符\'单引号\r回车\"双引号\v纵向制表符\b退格(Backspace)\f换页如果不希望前置\的字符转义成特殊字符,可以使用原始字符串,在引号前添加r即可。2.格式化输出字符串字符串的格式化输出方式,与数值的输出方式类似,也包含%、.format()和f-string方法,由于f-string最为简单,在文后主要采用其作为输出方法。3.字符串读取与切片字符串是不变的,但有时进行数据处理时需要提取字符串中的元素,因此,字符串的每个元素可以根据其索引位置进行读取,从左到右依次从0开始编号,也可以从右往左逆向编号,从-1开始。通过索引号(下标)提取某一个数据元素,操作方式:字符串名[索引号]。切片是Python序列数据的重要操作之一。适用于字符串、列表、元组、range对象等,通过指定索引范围获得一组有序的元素。操作方式:字符串名[开始索引:结束索引:步长]。注意切片使用规则:前包后不包,步长默认是1,可以是负数。4.字符串的操作运算符用于执行程序代码运算,会针对一个以上的操作数项目来进行运算。对于字符串的操作运算符主要有+(加法)、*(乘法)、in(成员包含判断)等。Python提供了对字符串进行处理的函数,可以直接在字符串外部进行调用,常见的有len(s),用于计算字符串s的长度。字符串在处理文本内容时候使用较频繁,其包含了多种方法可以高效使用。(三)实训任务实训任务包括课堂实例、精选案例两大部分、本教材中仅列出了课堂实例内容。例2-10:以下三种方式均可定义相同的字符串。str1='hello,world'str2="hello,world"str3='''hello,world'''例2-11:执行以下代码。s1="欢迎\t来到Python世界。"s2=r"欢迎\t来到Python世界。"print(s1)print(s2)例2-12:分别用%、.format()和f-string方法输出自我介绍。name="Amy"age=20print("我叫%s,今年%d岁了。"%(name,age))print("我叫{},今年{}岁了。".format(name,age))print(f"我叫{name},今年{age}岁了。")例2-13:已知s="AdMin",检测s是否大写、小写,并将其改为大写。s="AdMin"print(s.isupper())#执行结果:Falseprint(s.islower())#执行结果:Falses_new=s.upper()#将user改为大写print(s_new.isupper())#执行结果:Falseprint(s_new.islower())#执行结果:False例2-14:已知s1="12345",s2="python123",查看s1和s2是否为数字、字母。s1="12345"s2="python123"print(s1.isnumeric())#执行结果:Trueprint(s1.isalpha())#执行结果:Falseprint(s2.isnumeric())#执行结果:Falseprint(s2.isalpha())#执行结果:False例2-15:查找字符“t”和“m”在字符串“student”中的情况,并将“student”中的“s”替换为“t”。a="t"b="m"s3="student"print(s3.index(a))#执行结果:1print(s3.index(b))#执行结果:报错print(s3.find(a))#执行结果:1print(s3.find(b))#执行结果:-1print(s3.replace('s',"t"))#执行结果:ttudent例2-16:定义字符串s='aabbbabcccaba',查找在1到8的索引范围内字符“a”出现的次数。s='aabbbabcccaba'print(s.count("a",1,8))例2-17:定义字符串s="[500]元",完成以下小任务:(1)仅去除左边空格;(2)仅去除右边空格;(3)去除所有空格;(4)将s处理为“500”。s="[500]元"print(s.lstrip())print(s.rstrip())print(s.strip())print(s.strip().strip("[]元"))例2-18:定义字符串“hello,\t编程”,将其处理为“hello,编程”的字符串。s='hello,\t编程'slist=s.strip().split()s_new="".join(slist)print(s_new)例2-19:定义字符串s=””,以“.”为分割符,将其处理为3个字符串。s=''s_p=s.split(".",2)print(s_p)例2-20:执行以下代码,可查看到变量a、b、c的数据类型分别是int、str和float。a=2print(type(a))b=str(a)print(type(b))c=float(a)print(type(c))例2-21:要求用户输入一个数字,查看获取到的数据类型并输出。a=input("请输入一个数字:")print(type(a))例2-22:将用户输入的数字加2,并输出结果。a=input("请输入一个数字:")print(a+2)b=int(input("请输入一个数字:"))print(b+2)八、特色与创新以实训任务为核心,理论与操作相结合,重视学生动手实践能力的培养。九、反思与诊改1.教案实施是否顺利是2.是否达到教学目标是3.教学过程中是否满足学生的个性化需要是4.学生学习方式是否有变化是5.采取的课堂管理是否有效是6.通过此次课程,是否改变教学理念是其他:

教案4授课单元第2章Python数据类型授课形式教学做一体化授课学时2授课地点授课对象授课班级一、教材分析教学内容列表、元组、集合教学标准《Python程序设计》课程标准参考教材《Python程序设计》王小宁二、学情分析学生现在已经学过信息技术基础,有一定的计算机硬件与软件基础。三、教学目标知识目标理解列表、元组和集合的基本概念和区别。掌握这些数据结构的基本操作和特性。技能目标能够熟练创建和操作列表、元组和集合。能够使用列表推导式等高级特性。情感与思政目标具有规范的企业编程风格和习惯、良好的排查程序错误的能力;具有良好的分析问题和解决问题的能力、沟通和协作和学习能力;熟悉课程中涉及到的专业词汇。四、教学重难点教学重点列表、元组和集合的创建和基本操作教学难点列表推导式的理解和应用五、教学方法教法讲授法、演示法学法实验法六、教学资源与手段教学资源素材库、实训指导书教学手段教学做一体化七、教学流程(一)导入当程序设计中要用到多个数据时,为了便于数据存储与管理,Python提供了列表(list)这一数据类型。列表用方括号表示,可以存储多个不同类型的数据。列表是一种有序、可变的序列类型,可以进行增加、删除、修改元素等操作。(二)知识基础1.列表的创建创建一个列表,只需要把逗号分隔的不同的数据项用方括号括起来即可。创建列表常用的方法有以下4种。(1)创建空列表list1=[](2)创建有元素的列表list2=[1,2,"a","b","c","d","e"](3)将字符串转为列表list3=list("python")(4)将字符串分割为列表list5=list("Youcandowhateveryouputyourmindto.".split())2.列表的删除删除列表对象,可以用dellist来实现。del可以通用于对任意对象的删除,后文不再赘述。3.列表的索引与切片列表的索引与切片方法与字符串相同。4.元组元组可以通过圆括号()或逗号来创建。即使只有一个元素的元组,也需要在元素后面添加逗号,否则括号会被当作运算符使用。元组支持的内置函数、计算与列表相同,但由于元组的元素是不可改变的,故不支持涉及元素变化的操作,如append()、extend()、insert()、remove()、pop()、clear()、sort()等,仅支持count()和index()操作。5.集合集合是一种无序可变的、不包含重复元素的集合数据类型。其基本功能包括关系测试和消除重复元素。集合用花括号{}表示,元素之间用逗号分隔。(三)实训任务实训任务包括课堂实例、精选案例两大部分、本教材中仅列出了课堂实例内容。例2-23:已知列表list1=["重庆","北京","上海","天津",2,5,78,3,45,19],要求:(1)读取list1中最后一个元素(2)读取list1中第2个元素(3)读取list1中的所有元素(4)读取list1中的前3个元素(5)读取list1中最后3个元素(6)读取list1中的奇数位置的元素(7)逆向输出list1中的所有元素list1=["重庆","北京","上海","天津",2,5,78,3,45,19]print(list1[-1])print(list1[1])print(list1[::])print(list1[:3])print(list1[-3::])print(list1[1::2])print(list1[::-1])例2-24:已知列表list1=[2,5,78,3,45,19],要求:(1)计算list1中列表元素的个数(2)计算list1中最大值、最小值(3)计算list1中数字之和(4)对列表中的数字按降序排序。list1=[2,5,78,3,45,19]print(len(list1)) print(max(list1)) print(min(list1)) print(sum(list1)) list1_new=sorted(list1,reverse=True)print(list1) 例2-25:列表元素的增加。对alist=[1,4,3,4,6,8],完成以下操作:(1)在列表末尾增加字符“a”(2)在索引号为2的位置增加字符“a”(3)在列表末尾追加一个列表[“a”,“b”,“c”,“d”]alist=[1,4,3,4,6,8]alist.append("a")alist.insert(2,"a")blist=["a","b","c","d"]alist.extend(blist)print(alist)例2-26:对alist=['a',2,'a',5,6,7,8,'a','b','c'],进行列表元素的统计、查询、修改与删除。(1) 查看“a”在列表中出现的次数;(2) 查看“a”第一次出现的索引位置;(3) 将第一个“a”改为“m”;(4) 删除列表最后一个元素;(5) 删除指定元素“m”;(6) 删除第1个元素;(7) 删除所有元素;(8) 删除alist列表。alist=['a',2,'a',5,6,7,8,'a','b','c']print(alist.count("a")) #输出结果:3print(alist.index("a")) #输出结果:0alist[0]="m" #更改列表元素print(alist) #输出结果:['m',2,'a',5,6,7,8,'a','b','c']delalist[-1] #删除最后一个列表元素 print(alist) #输出结果:['m',2,'a',5,6,7,8,'a','b']alist.remove("m") #移除列表元素“m”print(alist) #输出结果:[2,'a',5,6,7,8,'a','b']print(alist.pop(1)) #弹出第2个列表元素print(alist) #输出结果:[2,5,6,7,8,'a','b']alist.clear() #清空列表内容print(alist) #输出结果:[]delalist #删除列表对象例2-27:list1=list("python"),将列表反向显示并输出。list1=list("python")print(list1[::-1])list1.reverse()print(list1)例2-28:list2=[2,5,78,3,45,19],将列表按升序排序。list2=[2,5,78,3,45,19]print(sorted(list2,reverse=True))list2.sort(reverse=True)print(list2)例2-29:tuple1=(1,2,3),统计元素个数、最大值、最小值、所有元素之和。tuple1=(1,2,3)print(len(tuple1))print(max(tuple1))print(min(tuple1))print(sum(tuple1))例2-30:将tuple1=(1,2,3)和tuple2=('a','b','c')连接为一个元组对象并输出。tuple1=(1,2,3)tuple2=('a','b','c')tuple3=tuple1+tuple2print(tuple3)例2-31:输出3个tuple1=(1,2,3)的元素内容。tuple1=(1,2,3)print(tuple1*3)例2-32:查看数字1是否在tuple1=(1,2,3)中。tuple1=(1,2,3)print(1intuple1)例2-33:统计tuple1=(1,2,3)中数字1出现的次数,查看数字2的索引号。tuple1=(1,2,3)print(tuple1.count(1))print(tuple1.index(2))例2-34:将列表list1=[1,2,3,4,1,1]转换为集合。list1=[1,2,3,4,1,1]s2=set(list1)print(s2)八、特色与创新以实训任务为核心,理论与操作相结合,重视学生动手实践能力的培养。九、反思与诊改1.教案实施是否顺利是2.是否达到教学目标是3.教学过程中是否满足学生的个性化需要是4.学生学习方式是否有变化是5.采取的课堂管理是否有效是6.通过此次课程,是否改变教学理念是其他:

教案5授课单元第2章Python数据类型授课形式教学做一体化授课学时2授课地点授课对象授课班级一、教材分析教学内容字典教学标准《Python程序设计》课程标准参考教材《Python程序设计》王小宁二、学情分析学生现在已经学过信息技术基础,有一定的计算机硬件与软件基础。三、教学目标知识目标理解字典数据结构的特性和用途。掌握字典的创建和基本操作方法。技能目标能够熟练地使用字典进行数据存储和检索。能够处理字典中的异常和错误。情感与思政目标具有规范的企业编程风格和习惯、良好的排查程序错误的能力;具有良好的分析问题和解决问题的能力、沟通和协作和学习能力;熟悉课程中涉及到的专业词汇。四、教学重难点教学重点字典的创建、访问和修改方法。教学难点字典推导式的理解和应用。五、教学方法教法讲授法、演示法学法实验法六、教学资源与手段教学资源素材库、实训指导书教学手段教学做一体化七、教学流程(一)导入字典属于容器类对象,可存储任意类型对象。其中包含若干元素,每个元素包含“键”和“值”两部分,这两部分之间使用冒号分,表示一种对应关系。不同元素之间用逗号分隔,所有元素放在一对大括号中。(二)知识基础字典的创建格式如下所示:d={key1:value1,key2:value2,key3:value3}。1.访问字典元素格式:字典名[键]2.添加或修改字典元素格式:字典名[键]=值,已存在键的值会被修改,不存在的则会增加键值对。3.删除字典元素del命令可以删除元素,也可以删除整个字典。Python提供了很多字典的操作方法,如表2-13所示。表2-13字典的操作方法方法功能dict.keys()获得键的迭代器dict.values()获得值的迭代器dict.get(k,[default])获得k(键)对应的值,不存在则返回defaultdict.items()获得由键和值组成元组做为元素的列表dict.pop(k[,d])删除k(键)对应的”键:值”对dict.update(adict)从另一个字典更新字典元素的值,如不存在,则添加此元素dict.clear()清空字典dict.copy()复制字典dict.fromkeys(iter,value)以列表或元组中给定的键建立字典,默认值为value(三)实训任务实训任务包括课堂实例、精选案例两大部分、本教材中仅列出了课堂实例内容。例2-35:对水果数量字典d={'苹果':20,'西瓜':10,'桔子':59},查看苹果的数量。d={'苹果':20,'西瓜':10,'桔子':59}print(d['苹果'])例2-36:在上例中,将苹果的数量更改为30,直接使用赋值语句即可。d['苹果']=30增加香蕉的数量为40,也可以直接用赋值语句实现。d['香蕉']=40print(d)例2-37:水果字典d={'苹果':20,'西瓜':10,'桔子':59}(1)查找字典中所有的键、所有的值,以及所有的键值对。(2)输出键为“苹果”的值,以及键为“香蕉”的值。d={'苹果':20,'西瓜':10,'桔子':59}print(d.keys())print(d.values())print(d.items())print(d.get("苹果"))print(d.get("香蕉"))八、特色与创新以实训任务为核心,理论与操作相结合,重视学生动手实践能力的培养。九、反思与诊改1.教案实施是否顺利是2.是否达到教学目标是3.教学过程中是否满足学生的个性化需要是4.学生学习方式是否有变化是5.采取的课堂管理是否有效是6.通过此次课程,是否改变教学理念是其他:

教案6授课单元第3章开始程序设计授课形式教学做一体化授课学时2授课地点授课对象授课班级一、教材分析教学内容程序与算法教学标准《Python程序设计》课程标准参考教材《Python程序设计》王小宁二、学情分析学生现在已经学过信息技术基础,有一定的计算机硬件与软件基础。三、教学目标知识目标理解算法的基本概念及其在程序设计中的重要性。掌握Python中的缩进规则及其对于代码结构的影响。了解注释的作用,学会正确使用注释来描述代码。技能目标能够用自然语言或伪代码描述简单的算法。能够在Python代码中正确使用缩进,确保代码结构的正确性。能够为Python代码添加恰当的注释,提高代码的可读性。情感与思政目标具有规范的企业编程风格和习惯、良好的排查程序错误的能力;具有良好的分析问题和解决问题的能力、沟通和协作和学习能力;熟悉课程中涉及到的专业词汇。四、教学重难点教学重点算法的基本概念和描述方法;Python代码的缩进规则和代码块的形成。教学难点如何用简洁明了的语言描述算法;理解缩进在Python中的重要性及其对程序流程控制的影响。五、教学方法教法讲授法、演示法学法实验法六、教学资源与手段教学资源素材库、实训指导书教学手段教学做一体化七、教学流程(一)导入计算机之所以能够处理复杂的问题,主要依靠于程序的运行。程序设计的一般过程包括四个步骤:分析问题、确定数学模型、算法设计、编写程序、运行测试。其中算法是程序设计的核心,没有算法就没有了程序设计的灵魂。(二)知识基础1.算法定义与特性算法就是解决问题的方法和步骤,解决问题的过程就是算法实现的过程。著名计算机科学家DonaldE.Knuth曾把算法的特性归纳为以下5点:(1)有穷性。任意一个算法在执行有穷个计算步骤后必须终止。(2)每一个计算步骤必须是精确地定义,无二义性。(3)可行性。有限多个步骤应该在一个合理的范围内进行。(4)输入。一般有0个或多个输入。(5)输出。一般有若干个输出信息,是反映对输入数据加工后的结果。没有输出结果的算法是毫无意义的。2.常用的算法人们通过长期的研究开发工作总结了一些基本的算法设计方法。例如枚举法、迭代法、递推法、分治法、回测法、贪心法和动态规划法等。枚举、查找、排序、迭代3.算法描述(1)自然语言(2)流程图(3)伪代码(4)计算机语言4.Python语法规则(1)缩进(2)注释八、特色与创新以实训任务为核心,理论与操作相结合,重视学生动手实践能力的培养。九、反思与诊改1.教案实施是否顺利是2.是否达到教学目标是3.教学过程中是否满足学生的个性化需要是4.学生学习方式是否有变化是5.采取的课堂管理是否有效是6.通过此次课程,是否改变教学理念是其他:

教案7授课单元第3章开始程序设计授课形式教学做一体化授课学时2授课地点授课对象授课班级一、教材分析教学内容选择结构教学标准《Python程序设计》课程标准参考教材《Python程序设计》王小宁二、学情分析学生现在已经学过信息技术基础,有一定的计算机硬件与软件基础。三、教学目标知识目标理解条件语句的基本概念及其在程序流程控制中的作用。掌握if单分支、双分支和多分支语句的语法结构。技能目标能够根据实际需求编写if单分支、双分支和多分支语句。能够调试和修正条件语句中的逻辑错误。情感与思政目标具有规范的企业编程风格和习惯、良好的排查程序错误的能力;具有良好的分析问题和解决问题的能力、沟通和协作和学习能力;熟悉课程中涉及到的专业词汇。四、教学重难点教学重点if语句的语法结构和执行流程。条件表达式的编写和逻辑判断。教学难点多分支语句中条件的嵌套和逻辑关系处理。条件语句与其他语句(如循环语句)的结合使用。五、教学方法教法讲授法、演示法学法实验法六、教学资源与手段教学资源素材库、实训指导书教学手段教学做一体化教学流程(一)导入程序的控制结构,有顺序结构、选择结构、循环结构,称为算法的3种基本结构。顺序结构指计算机按照语句出现的先后次序依次执行。选择结构是设定条件进行判断,然后根据可能不同的情况进行不同的处理。循环结构是根据条件判断控制循环体语句的执行次数。本节首先介绍选择结构。(二)知识基础1.单分支结构语法结构为:if(条件表达式): 语句/语句块1条件表达式语句块YN流程图如图3条件表达式语句块YN图3-3if单分支语句注意:每个if条件后要使用冒号(:),表示接下来是满足条件后要执行的语句。使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。2.双分支结构基本语法:if条件:语句1else: 语句2流程图如图3-4所示,当表达式的值为True时,表示条件满足,则执行语句块1,否则执行语句块2。条件表达式语句块1YN语句块条件表达式语句块1YN语句块23.多分支结构基本语法:if条件1:语句1elif条件2:语句2…else:语句n表达式A语句块1语句块2FalseTrue表达式B表达式CFalseFalse语句块3……

语句块表达式A语句块1语句块2FalseTrue表达式B表达式CFalseFalse语句块3……

语句块nFalseTrueTrue……True图3-5if多分支语句(三)实训任务实训任务包括课堂实例、精选案例两大部分、本教材中仅列出了课堂实例内容。例3-1:当用户输入年龄,判断age是否大于等于18,若满足条件,输出“你已成年”。age=int(input('请输入你的年龄:'))ifage>=18:print("你已成年")例3-2:输入一个整数,如果大于0,输出“正数”;否则输出“不是正数”。x=float(input("请输入一个数:"))ifx>0:print("是正数")else:print("不是正数")例3-3:输入一个学生的整数成绩n,当成绩大于等于90分时,输出“成绩优秀!”;当成绩大于等于80小于90时,输出“成绩良好!”;当成绩大于等于70小于80时,输出“成绩中等!”;当成绩大于等于60小于70时,输出“成绩合格!”;否则输出“成绩不合格!”。n=float(input("请输入一个成绩:"))ifn>=90:print("成绩优秀!")elifn>=80:print("成绩良好!")elifn>=70print("成绩合格!")elifn>=60print("成绩合格!")else:print("成绩不合格!")例3-4:输出5遍“Hello,Python!”foriinrange(5):print("hello,python!")八、特色与创新以实训任务为核心,理论与操作相结合,重视学生动手实践能力的培养。九、反思与诊改1.教案实施是否顺利是2.是否达到教学目标是3.教学过程中是否满足学生的个性化需要是4.学生学习方式是否有变化是5.采取的课堂管理是否有效是6.通过此次课程,是否改变教学理念是其他:

教案8授课单元第3章开始程序设计授课形式教学做一体化授课学时2授课地点授课对象授课班级一、教材分析教学内容循环结构与中断处理教学标准《Python程序设计》课程标准参考教材《Python程序设计》王小宁二、学情分析学生现在已经学过信息技术基础,有一定的计算机硬件与软件基础。三、教学目标知识目标理解循环语句的基本概念及其在程序中的应用场景。掌握while循环和for循环的语法结构和执行流程。技能目标能够根据实际需求编写while循环和for循环代码。能够优化循环结构,提高代码的执行效率。情感与思政目标具有规范的企业编程风格和习惯、良好的排查程序错误的能力;具有良好的分析问题和解决问题的能力、沟通和协作和学习能力;熟悉课程中涉及到的专业词汇。四、教学重难点教学重点while循环和for循环的语法结构和适用场景。循环变量的初始化和更新方式。教学难点循环条件的设置和循环体的编写,以避免无限循环或逻辑错误。理解循环执行过程中的变量变化和状态更新。五、教学方法教法讲授法、演示法学法实验法六、教学资源与手段教学资源素材库、实训指导书教学手段教学做一体化七、教学流程(一)导入当有些语句块需要重复执行时,为了简化代码量,可以使用循环结构来实现。循环结构可以用for和while两种方法来描述。(二)知识基础1.for循环for循环表示当满足条件表达式时,重复执行循环语句,否则跳出循环,其语法格式为:for变量inrange(start,stop[,step]):循环语句其中,start指计数开始值,默认为0。如range(5)等价于range(0,5)。stop指计数结束值,但不包括stop。如range(0,5)是[0,1,2,3,4]没有5。step指步长,默认为1。如range(0,5,2)步长是2,则它的结果为[0,2,4]。条件表达式循环语句TFfor条件表达式循环语句TF图3-6for循环流程图2.while循环for语句适用于明确变量范围的情景,程序更为简洁。当变量范围不确定时,则需要使用while语句。其语法格式为:while条件表达式:循环语句(块)3.break中断语句在循环的过程中,如果需要中断循环,则需要使用break语句,可以极大地节省程序的时间复杂度,且便于获取中断时的变量值。4.continue语句continue的作用是用来结束本次循环,紧接着执行下一次的循环。(三)实训任务实训任务包括课堂实例、精选案例两大部分、本教材中仅列出了课堂实例内容。例3-5:编写程序,操场跑步,当跑完第3圈,停止跑圈。foriinrange(3):

print(f"跑完了第{i+1}圈")例3-6:计算s=n!其中n由键盘输入。s=1

n=int(input("请输入一个正整数:"))

foriinrange(1,n+1):

s=s*i

print(f"{n}的阶乘是:{s}")例3-7:计算s=1+2+……+100s=0

foriinrange(1,101):

s+=i

print(s)例3-8:输入5个同学的成绩,计算平均成绩。s=0

foriinrange(5):

n=float(input("请输入成绩:"))

s+=n

print("平均成绩为:",s/5)例3-9:定义字符串“python”,将每个字母单独输出。s="python"

forcins:

print(c)例3-10:请输出直角三角形。foriinrange(5):

print("*"*i)执行结果为:**********例3-11:请输出等腰三角形。foriinrange(5):

print(""*(5-i)+"*"*(i*2-1))例3-12:判断一个年份是否是闰年。闰年是能被4整除但不能被100整除或能被400整除。n=int(input("请输入一个年份"))

ifn%4==0andn%100!=0orn%400==0:

print(f"{n}是闰年")

else:

print(f"{n}不是闰年")例3-13:用for循环生成一个1到9的平方列表。list1=[i**2foriinrange(10)]print(list1)例3-14:用while语句计算s=2+4…+98+100。s=0

i=2

whilei<=100:

s+=i

i+=2

print(s)例3-15:爸爸今年40岁,儿子今年6岁,求出多少年后爸爸的年龄是儿子的两倍。d_age=40s_age=6y=0whiled_age!=s_age*2:y+=1s_age+=1d_age+=1print(y)例3-16:猜数游戏,给用户无数机会去猜,如果猜对了输出“猜对了!”,否则提示“没猜对!”answer=5

whileTrue:

n=int(input("请猜数:"))

ifn==answer:

print("猜对了!")

break

else:

print("没猜对!")例3-17:录入学生的成绩,以字母“p”为结束符,计算成绩数量、总分和平均值。n,s=0,0

whileTrue:

score=input("请输入成绩:")

ifscore=="p":

break

s+=float(score)

n+=1

print(f"总分为{s},成绩数量为{n},平均成绩为{s/n}")例3-18:编写程序判断一个数是否是素数。素数是只能被1和它本身整除的数。n=int(input("请输入一个自然数:"))

foriinrange(2,n):

ifn%i==0:

print(f"{n}不是素数")

break

else:

print(f"{n}是素数")例3-19:定义字符串“python”,将除“y”以外的每个字母单独输出。forcin"python":

ifc=="y":

continue

print(c)八、特色与创新以实训任务为核心,理论与操作相结合,重视学生动手实践能力的培养。九、反思与诊改1.教案实施是否顺利是2.是否达到教学目标是3.教学过程中是否满足学生的个性化需要是4.学生学习方式是否有变化是5.采取的课堂管理是否有效是6.通过此次课程,是否改变教学理念是其他:

教案9授课单元第3章开始程序设计授课形式教学做一体化授课学时2授课地点授课对象授课班级一、教材分析教学内容嵌套循环教学标准《Python程序设计》课程标准参考教材《Python程序设计》王小宁二、学情分析学生现在已经学过信息技术基础,有一定的计算机硬件与软件基础。三、教学目标知识目标环条件的设置和循环体的编写,以避免无限循环或逻辑错误。理解循环执行过程中的变量变化和状态更新。技能目标能够编写嵌套循环来解决实际问题,如矩阵操作、多维数组遍历等。能够在循环中正确使用break和continue语句来控制程序流程。情感与思政目标具有规范的企业编程风格和习惯、良好的排查程序错误的能力;具有良好的分析问题和解决问题的能力、沟通和协作和学习能力;熟悉课程中涉及到的专业词汇。四、教学重难点教学重点嵌套循环的语法结构和执行流程。break和continue语句的使用方法和场景。教学难点理解嵌套循环中变量的作用域和更新方式。掌握在何种情况下使用break或continue语句来优化循环结构。五、教学方法教法讲授法、演示法学法实验法六、教学资源与手段教学资源素材库、实训指导书教学手段教学做一体化七、教学流程(一)导入在一个循环体内又包含另一个完整的循环结构,成为循环的嵌套。当外层循环执行第一遍时,内层循环需要全部执行完方可执行外层循环第二遍。(二)知识基础嵌套循环的流程图,如图3-7所示。循环条件1循环语句1T循环条件1循环语句1TrueFalse循环语句2False循环条件2True(三)实训任务实训任务包括课堂实例、精选案例两大部分、本教材中仅列出了课堂实例内容。例3-20:打印乘法九九表。foriinrange(1,10):

forjinrange(1,i+1):

print(f"{i}*{j}={i*j:2d}",end="")

print()例3-21:打印出1,2,3的这样3个数字的所有排列。foriinrange(1,4):forjinrange(1,4):forkinrange(1,4):ifi!=jandi!=kandj!=k:print(i,j,k)例3-22:鸡兔同笼问题。假设共有鸡、兔30只,脚90只,求鸡、兔各有多少只。foriinrange(1,30):forjinrange(1,30):ifi+j==30andi*2+j*4==90:print(i,j)例3-23:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程找出三队赛手的名单。s="xyz"

foriinrange(3):

forjinrange(3):

forkinrange(3):

ifi!=0andk!=0andk!=2andi!=jandi!=kandj!=k:

print(f"a-{s[i]},b-{s[j]},c-{s[k]}")八、特色与创新以实训任务为核心,理论与操作相结合,重视学生动手实践能力的培养。九、反思与诊改1.教案实施是否顺利是2.是否达到教学目标是3.教学过程中是否满足学生的个性化需要是4.学生学习方式是否有变化是5.采取的课堂管理是否有效是6.通过此次课程,是否改变教学理念是其他:

教案10授课单元第3章开始程序设计授课形式教学做一体化授课学时2授课地点授课对象授课班级一、教材分析教学内容异常处理教学标准《Python程序设计》课程标准参考教材《Python程序设计》王小宁二、学情分析学生现在已经学过信息技术基础,有一定的计算机硬件与软件基础。三、教学目标知识目标理解异常处理的概念及其在程序设计中的重要性。掌握try-except语句的语法结构和执行流程。技能目标能够编写异常处理代码来捕获和处理程序中可能出现的异常。能够自定义异常类型,并根据实际需求抛出异常。情感与思政目标具有规范的企业编程风格和习惯、良好的排查程序错误的能力;具有良好的分析问题和解决问题的能力、沟通和协作和学习能力;熟悉课程中涉及到的专业词汇。四、教学重难点教学重点异常处理的基本概念和try-except语句的语法结构。常见异常类型的识别和处理方法。教学难点理解异常传播的机制和多层异常处理的结构。掌握如何合理地使用异常处理来提高程序的健壮性和可靠性。五、教学方法教法讲授法、演示法学法实验法六、教学资源与手段教学资源素材库、实训指导书教学手段教学做一体化七、教学流程(一)导入程序设计要考虑各种可能出现的错误,即使程序语法是正确的,运行时也可能会报错,影响整个程序的运行。因此Python设计了强大的异常处理机制,对程序执行过程中出现的异常进行捕获并处理,使程序能够继续执行下去。(二)知识基础1.异常类型Python提供了强大的异常类Exception,可以向用户准确反馈出错信息。常见的异常如表3-3所示。表3-3Pyhton常见的异常异常或错误名称功能描述异常或错误名称功能描述BaseException所有异常的基类NameError未声明/初始化对象(没有属性)SystemExit解释器请求退出UnboundLocalError访问未初始化的本地变量KeyboardInterrupt用户中断执行(通常是输入Ctrl+C)ReferenceError弱引用(Weakreference)试图访问已经被垃圾回收了的对象Exception常规错误的基类RuntimeError一般的运行时错误StopIteration迭代器没有更多的值NotImplementedError尚未实现的方法GeneratorExit生成器(generator)发生异常来通知退出SyntaxErrorPython语法错误StandardError所有的内建标准异常的基类IndentationError缩进错误ArithmeticError所有数值计算错误的基类TabErrorTab和空格混用FloatingPointError浮点计算错误SystemError一般的解释器系统错误OverflowError数值运算超出最大限制TypeError对类型无效的操作ZeroDivisionError除(或取模)零(所有数据类型)ValueError传入无效的参数AssertionError断言语句失败UnicodeErrorUnicode相关的错误AttributeError对象没有这个属性UnicodeDecodeErrorUnicode解码时的错误EOFError没有内建输入,到达EOF标记UnicodeEncodeErrorUnicode编码时错误EnvironmentError操作系统错误的基类UnicodeTranslateErrorUnicode转换时错误IOError输入/输出操作失败Warning警告的基类OSError操作系统错误DeprecationWarning关于被弃用的特征的警告WindowsError系统调用失败FutureWarning关于构造将来语义会有改变的警告ImportError导入模块/对象失败OverflowWarning旧的关于自动提升为长整型(long)的警告LookupError无效数据查询的基类PendingDeprecationWarning关于特性将会被废弃的警告IndexError序列中没有此索引(index)RuntimeWarning可疑的运行时行为(runtimebehavior)的警告KeyError映射中没有这个键SyntaxWarning可疑的语法的警告UserWarning用户代码生成的警告MemoryError内存溢出错误(对于Python解释器不是致命的)2.异常处理在程序设计中对各种可以预见的异常情况进行处理称为异常处理。合理恰当地使用异常处理可以使程序更加健壮,具有更强的容错性和更好的用户体验,不会因为用户不小心的错误输入或其它原因而造成程序运行终止。Python中异常处理是通过一些特殊结构的语句实现的,主要有以下几种结构形式。(1)try…except…结构语法结构为:try:代码块1 #此处放置可能引起异常的语句exceptException[asreason]:代码块2#如果try中代码块不能正常执行,则执行此处代码块进行异常处理(2)try…except…else…结构语法结构为:try:代码块1 #此处放置可能引起异常的语句exceptException[asreason]:代码块2#如果try中代码块不能正常执行,则执行此处代码块进行异常处理else:代码块3#如果try中的代码没有引发异常,则在执行完try中的代码后,继续执行此处代码块(3)带有try…多个except…的结构如果上例用户输入时,输入的是非数值,使用exceptZeroDivisionError排查异常可能还不够,还会出现数值类型的错误,这时需要用多个except…try…结构,其语法结构为:try:代码块1#可能引发异常的代码块exceptException1:#Exception1是可能出现的一种异常代码块2 #处理Exception1异常的语句exceptException2:#Exception2是可能出现的另种异常代码块3 #处理Exception2异常的语句[else:]#可以没有else子句块代码块4#在以上所有Exception异常都未出现时,执行此处代码块(4)try...except...finally…结构语法结构为:try:代码块1 #可能引发异常的代码块exceptException[asreason]:#此语句也可直接写成except:代码块2 #用来处理异常的代码块finally代码块3#无论异常是否发生此处代码块都会执行(三)实训任务实训任务包括课堂实例、精选案例两大部分、本教材中仅列出了课堂实例内容。例3-24:计算5除以x的值,其中x需要用户输入。如果用户输入0,会报错导致程序不能继续运行,使用try…except异常处理来避免程序错误。a=input("请输入除数:")try:x=int(a)print(5/x)exceptException:例3-25:计算5除以x的值,其中x需要用户输入。如果用户输入0,会报错导致程序不能继续运行,使用try…except…else…异常处理来避免程序错误。a=input("请输入除数:")try:x=int(a)print(5/x)exceptZeroDivisionError:print("被零除")else:print("正确")例3-26:计算5除以x的值,其中x需要用户输入。如果用户输入0,会报错导致程序不能继续运行,使用try…多个except…异常处理来避免程序错误。a=input("请输入除数:")

try:

x=int(a)

print(5/x)

exceptZeroDivisionError:

print("被零除")

exceptValueError:

print("输入的不是数字")

else:

print("正确")例3-27:计算5除以x的值,其中x需要用户输入。如果用户输入0,会报错导致程序不能继续运行,使用try…except…finally…异常处理来避免程序错误。a=input("请输入除数:")try:x=int(a)print(5/x)except:print("输入错误")finally:print("下一步")八、特色与创新以实训任务为核心,理论与操作相结合,重视学生动手实践能力的培养。九、反思与诊改1.教案实施是否顺利是2.是否达到教学目标是3.教学过程中是否满足学生的个性化需要是4.学生学习方式是否有变化是5.采取的课堂管理是否有效是6.通过此次课程,是否改变教学理念是其他:

教案11授课单元第3章开始程序设计授课形式教学做一体化授课学时2授课地点授课对象授课班级一、教材分析教学内容精选真题教学标准《Python程序设计》课程标准参考教材《Python程序设计》王小宁二、学情分析学生现在已经学过信息技术基础,有一定的计算机硬件与软件基础。三、教学目标知识目标掌握数字类型的格式化输出;掌握字符串的基本操作;掌握列表、元组、字典的创建与操作。掌握程序的结构技能目标能够根据指定要求格式化输出数字;能够对列表、元组、字典进行操作;能够设计程序结构情感与思政目标具有规范的企业编程风格和习惯、良好的排查程序错误的能力;具有良好的分析问题和解决问题的能力、沟通和协作和学习能力;熟悉课程中涉及到的专业词汇。四、教学重难点教学重点字符串、列表、字典的操作;程序结构设计教学难点数字的格式化输出;列表、字典的操作;循环结构与中断五、教学方法教法讲授法、演示法学法实验法六、教学资源与手段教学资源素材库、实训指导书教学手段教学做一体化七、教学流程(一)实训任务1.猴子吃桃猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。2.列表元素计算a和b是两个列表变量,列表a为[3,6,9]已给定,键盘输入列表b,计算a中元素与b中对应元素乘积的累加和。例如,键盘输入列表b为[1,2,3],累加和为1*3+2*6+3*9=42,因此,屏幕输出计算结果为42。3.裴波那契数列根据裴波那契数列的定义,F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n>=2),输出不大于100的序列元素。例如:屏幕输出实例为:0,1,1,2,3,…4.列表元素计算并生成新列表A和b是两个长度相同的列表变量,列表a为[3.6.9]已给定,键盘输入列表b,计算a中元素与b中对应元素的和形成的列表c,在屏幕上输出。例如:键盘输入列表b为[1,2,3],键盘输出计算结果为[4,8,12]5.多列表元素组合a和b是两个列表变量,列表a为[3,6,9]已给定,键盘输入列表b,将a列表的三个元素插入列表中对应的前三个元素的后面,并显示输出在屏幕上。例如:键盘输入列表b为{1,2,3},因此,屏幕输出计算结果为[1,3,2,6,3,9]6.生成新列表获得用户输入的以逗号分隔的三个数字,记为a、b、c,以a为起始数值,b为差,c为数值的数量,产生一个递增的等差数列,将这个数列以列表格式输出。7.字符串替换获得用户输入的一个数字,其中数字字符(0到9)用对应的中文字符“O一二三四五六七八九”替换,输出替换后的结果。8.字符串分割组合输出程序接收用户输入的五个数,以逗号分隔。将这些数字按照输入顺序输出,每个数字占10个字符宽度,右对齐,所有数字显示在同一行。例如:输入:23,42,543,56,71输出:234254356719.正整数输出程序接收用户输入的一个数字并判断是否为正整数,如果不是正整数,则显示“请输入正整数”并等待用户重新输入,直至正整数为止,并显示输出该正整数,例如:输入:请输入一个正整数:357输出:35710.多行格式化输出接收用户输入的一个小于20的正整数,在屏幕上逐行递增显示从01到该正整数,数字实现的宽度为2,不足位置补0,后面追加一个空格,然后显示“>”号,“>”号的个数等于行首数字。例如:输入:3输出:01>02>>03>>>11.统计数字和字母数量让用户输入一串数字和字母混合的数据,然后统计其中数字和字母的个数,显示在屏幕上。例如:输入:Fda243fdw3输出:数字个数:4,字母个数:612.生成通知书已有列表std=[['张三',90,87,95],['李四',83,80,87],['王五',73,57,55]],将std列表里的姓名和成绩与已经定义好的模板拼成一段话,显示在屏幕上。例如:亲爱的张三,你的考试成绩是英语90,数学87,Python语言95,总成绩272.特此通知。13.计算用户输入数字和并格式化输出接收用户输入的一个大于10小于10的8次方十进制正整数,输出这个正整数各字符的和,以25位宽度,居中显示,采用等号=填充。例如:键盘输入1357,屏幕输出===========16===========14.统计中文字符个数接收用户输入的数据,该数据仅由字母和中文混合构成,无其他类型字符,统计并输出中文字符出现的个数。15.输出最大值接收用户输入的以英文逗号分隔的一组数据,其中,每个数据都是整数

温馨提示

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

评论

0/150

提交评论