《Python编程案例教程》786-3(韩海花)教案 项目四 Python第十次课教案_第1页
《Python编程案例教程》786-3(韩海花)教案 项目四 Python第十次课教案_第2页
《Python编程案例教程》786-3(韩海花)教案 项目四 Python第十次课教案_第3页
《Python编程案例教程》786-3(韩海花)教案 项目四 Python第十次课教案_第4页
《Python编程案例教程》786-3(韩海花)教案 项目四 Python第十次课教案_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

PAGE10PAGE10PAGE9PAGE9《Python编程基础知识》

教案课时分配表章序课程内容课时备注1文档处理122电子表格处理83演示文稿制作44信息检索65新一代信息技术概述106信息素养与社会责任8合计48文旌课堂APP

课题数据容器(二)——模拟双色球号码生成器课时2课时(90min)教学目标知识技能目标:(1)掌握列表和字典的创建、访问、遍历和基本操作方法。思政育人目标:(1)提高选择合适方法解决不同问题的能力。(2)将中华传统文化融入编程案例中,增强感受诗词之美、诗词之趣的能力。教学重难点教学重点:Python中列表的相关语法。教学难点:Python中列表的应用。教学方法案例分析法、问答法、讨论法、讲授法、实训法教学用具电脑、投影仪、多媒体课件、教材教学设计教学过程主要教学内容及步骤设计意图课前任务【教师】布置课前任务,提醒同学通过文旌课堂APP或其他学习软件,完成课前任务请大家自行搜集资料什么是随机数生成器,并且预习本任务需要的相关知识点。【学生】完成课前任务通过课前任务,使学生了解本次课的重要性,增加学生的学习兴趣考勤

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

(10min)【教师】与学生简单互动,复习回顾上次课的内容等【学生】聆听、互动【教师】概括项目总体需要学习内容列表(list)是包含零个或多个元素的有序序列。列表的长度和内容都是可变的,用户可自由对列表中的元素进行添加、删除或修改等操作。列表没有长度限制,元素类型也可以不同,可以同时包含数字、字符串等基本类型,和列表、元组、字典、集合及其他自定义数据类型的对象,使用非常灵活。通过老师与学生的互动,并让学生了解这次课的知识点大致要求问题导入(5min)【教师】提出以下问题:我们都学过了C语言,请大家思考一下,C语言如何生成随机数?【学生】思考、举手回答【教师】通过学生的回答引入要讲的知识通过问题导入的方法,引导学生主动思考,激发学生的学习兴趣传授新知

(30min)一、列表的创建和访问【教师】讲解Python中的列表的创建和访问创建列表只需将逗号分隔的不同元素使用方括号括起来即可。例如:animal=['elephant','monkey','snake','tiger']#创建列表animalnumber=[1,2,3,4,5] #创建列表number与字符串一样,可以通过下标索引的方式来访问列表中的元素。列表的正索引也是从0开始的,同样也可以是负索引。例如,使用animal[0]访问上述列表animal中索引为0的元素,取值为“elephant”。【教师】强调以下问题(1)与整数和字符串不同,列表要处理一组数据,因此,列表必须通过显式的数据赋值才能生成,简单将一个列表赋值给另一个列表不会生成新的列表对象,只会对原有列表生成一个新的引用。(2)还可以使用list()函数将字符串、range对象、元组等转换为列表。其语法格式为“list(obj)”,其中obj为需要转换的对象。例如:list('helloworld') #将字符串转换为列表,结果为['h','e','l','l','o','','w','o','r','l','d']list(range(1,10,2)) #将range对象转换为列表,结果为[1,3,5,7,9]【学生】聆听、记录、理解【教师】演示例4-7程序#创建列表schoolbag并赋值schoolbag=['语文书','数学书','练习册','笔盒']schoolbag1=schoolbag #将schoolbag赋给schoolbag1print(schoolbag,schoolbag1) #输出schoolbag和schoolbag1schoolbag[0]='英语书' #将第一个元素的值修改为“英语书”print(schoolbag,schoolbag1) #输出schoolbag和schoolbag1【学生】观察运行结果并讨论【教师】讲解程序(主要代码)【学生】聆听、记录、理解【教师】布置题目(1)以下程序的输出结果是()。str=[['a','b'],[1,2],'Python',['一','二','三','四']]print(str[2][2])A.2 B.t C.Python D.三【学生】完成题目【教师】随机点名回答二、列表的遍历【教师】讲解Python中的列表的遍历为了能更有效地逐一输出列表中的元素,可以使用while或for循环来遍历列表。1、使用while循环遍历列表使用while循环遍历列表,首先须获取列表的长度,将其作为while循环的判断条件。【教师】演示例4-8程序#创建书包列表schoolbag并赋值schoolbag=['语文书','数学书','英语书','漫画书']length=len(schoolbag) #获取列表的长度赋给lengthi=0 #循环变量i初值为0whilei<length: #当i小于length时循环print(schoolbag[i]) #输出列表元素i+=1 #循环变量加1【学生】观察运行结果并讨论【教师】讲解程序(主要代码)【学生】聆听、记录、理解2、使用for循环遍历列表使用for循环遍历列表,只需将要遍历的列表作为for循环表达式中的序列即可。【教师】演示例4-9程序#创建书包列表schoolbag并赋值schoolbag=['语文书','数学书','英语书','漫画书']foriteminschoolbag: #将列表作为for循环表达式中的序列print(item) #输出item【学生】观察运行结果并讨论【教师】讲解程序(主要代码)【学生】聆听、记录、理解【教师】布置题目(1)以下程序的输出结果是_________。forxin[0,1,2,3,4]:ifx>=3:breakprint(x,end='')(2)以下程序的输出结果是_________。a=[1,2,3,4,5,6,7,8,9]s=0forcina:s+=cprint(s)【学生】完成题目【教师】随机点名回答三、列表的基本操作【教师】讲解Python中的列表的基本操作由于列表属于序列类型,所以它也支持通用序列的所有操作。除了这些操作,Python还提供了大量方法用于列表元素的添加、删除和排序等。1、添加元素列表可使用append()、extend()或insert()方法来添加元素。(1)append()方法:在列表末尾添加新的元素,其语法格式如下。list.append(obj)其中,list表示列表,obj表示添加到列表末尾的对象。例如:number=[0,1,2,3] #创建列表number并赋值number.append(4) #使用append()方法给number末尾添加元素4print(number) #输出number,结果为[0,1,2,3,4](2)extend()方法:在列表末尾一次性添加另一个序列中的多个值(用新列表扩展原来的列表),其语法格式如下。list.extend(seq)其中,list表示列表,seq表示添加到列表末尾的序列。【教师】演示例4-10程序#创建书包列表schoolbag并赋值schoolbag=['语文书','数学书','英语书','漫画书']length=len(schoolbag) #获取列表的长度赋给lengthi=0 #循环变量i初值为0whilei<length: #当i小于length时循环print(schoolbag[i]) #输出列表元素i+=1 #循环变量加1【学生】观察运行结果并讨论【教师】讲解程序(主要代码)【学生】聆听、记录、理解【教师】布置题目(1)以下程序的输出结果是()。Is=["I","you","he"]Is.append("she")print(Is)A.['she','I','you','he'] B.['I','she','you','he']C.['I','you','she','he'] D.['I','you','he','she'](2)以下程序的输出结果是_______。x=[1,2,3]y=x[:]y.append(4)print(x,y)【学生】完成题目【教师】随机点名回答(3)insert()方法:将指定对象插入到列表的指定位置,其语法格式如下。list.insert(index,obj)其中,list表示列表,index表示插入的索引位置,obj表示插入列表中的对象。例如:number=[1,2,4,5] #创建列表number并赋值number.insert(2,3)#使用insert()方法将元素3添加到列表索引为2的位置print(number) #输出number,结果为[1,2,3,4,5]2、删除元素在列表中,删除元素的常用方法有3种,分别是del命令、pop()方法和remove()方法。(1)del命令:根据索引删除列表中的元素。例如:number=[1,2,3,4,5] #创建列表number并赋值delnumber[2] #使用del命令删除number中索引为2的元素print(number) #输出number,结果为[1,2,4,5]del命令还可以使用分片的方式删除列表中的元素。例如:number=[1,2,3,4,5]#创建列表number并赋值delnumber[1:3]#使用del命令删除索引从1到3(不含)的元素print(number) #输出number,结果为[1,4,5](2)pop()方法:根据索引删除列表中的元素,并返回该元素的值,其语法格式如下。list.pop([index])其中,list表示列表,index表示删除列表元素的索引值,为可选参数,缺省时为−1,删除列表中的最后一个元素。例如:number=[1,2,3,4,5] #创建列表number并赋值number.pop() #使用pop()方法删除number中的元素,返回值为5print(number) #输出number,结果为[1,2,3,4]number.pop(0)#使用pop()方法删除number中索引为0的元素,返回值为1print(number) #输出number,结果为[2,3,4](3)remove()方法:删除列表中某个值的第一个匹配项,其语法格式如下。list.remove(obj)其中,list表示列表,obj表示列表中要删除的对象。【教师】演示例4-11程序#创建书包列表schoolbag并赋值schoolbag=['语文书','数学书','英语书','漫画书']print(schoolbag) #输出schoolbagschoolbag.pop(2) #使用pop()方法删除索引为2的元素“英语书”print(schoolbag) #输出schoolbagschoolbag.remove('漫画书') #使用remove()方法删除元素“漫画书”print(schoolbag) #输出schoolbag【学生】观察运行结果并讨论【教师】讲解程序(主要代码)【学生】聆听、记录、理解【教师】布置题目(1)以下程序的输出结果是()。Lis=["football","basketball","piano","ping-pang","teninis"]Lis.pop(2)print(Lis)A.["football","piano","ping-pang","teninis"] B.["football","basketball","ping-pang","teninis"] C.["football","basketball","piano","teninis"] D.["basketball","piano","ping-pang","teninis"](2)以下程序的输出结果是______。x=[1,2,3,4,5]print(x.pop())(3)以下程序的输出结果是______。Lis=['A','B','C','D','a','b','c','d']foriinLis:ifi=='D':Lis.remove(i)print(Lis)【学生】完成题目【教师】随机点名回答【教师】强调以下问题remove()方法只能删除列表中第一个匹配的元素,如果要删除所有匹配的元素,就需要搭配循环语句实现。【学生】聆听、记录、理解3、分片赋值分片赋值就是以分片的形式给列表赋值,可以一次为多个元素赋值。例如:number=[1,2,3,4] #创建列表number并赋值print(number) #输出number,结果为[1,2,3,4]number[2:]=[5,6,7] #替换索引从2开始到最后的元素print(number) #输出number,结果为[1,2,5,6,7]分片赋值还可以在不替换任何原有元素的情况下插入新的元素。索引为1的位置插入列表[2,3,4,5,6]中的元素number[1:1]=[2,3,4,5,6]print(number) #输出number,结果为[1,2,3,4,5,6,7]分片赋值也可以删除元素。number=[1,2,3,4,5,6,7] #创建列表并赋值number[1:6]=[] #用空列表替换number中索引1到索引6(不含)的元素print(number) #输出number,结果为[1,7]【学生】聆听、记录、理解4、列表排序将列表中的元素排序的方法有3种,分别是reverse()方法、sort()方法和sorted()函数。(1)reverse()方法:将列表中的元素反向存放,其语法格式如下。list.reverse()其中,list表示列表,该方法没有参数,没有返回值。例如:number=[1,2,3,4] #创建列表number并赋值number.reverse() #使用reverse()方法将number中的元素反向存放print(number) #输出number,结果为[4,3,2,1](2)sort()方法:将列表中的元素进行排序(默认为升序排序),其语法格式如下。list.sort([key=None][,reverse=False])其中,list表示列表;key为可选参数,如果指定了该参数,会使用该参数的方法进行排序;reverse为可选参数,表示是否降序排序,缺省时为False。【教师】演示例4-12程序#创建数字列表number并赋值number=[5,6,9,3,12,15,18,20,35,62]number.sort(reverse=True)#使用sort()方法对number降序排序print(number) #输出number#创建英文单词列表words并赋值words=['chicken','fox','duck','dog','rabbit','sheep']words.sort(key=len)#使用sort()方法对words按长度升序排序print(words) #输出words【学生】观察运行结果并讨论【教师】讲解程序(主要代码)【学生】聆听、记录、理解(3)sorted()函数:与sort()方法不同,内置函数sorted()返回新列表,并不对原列表进行任何修改,其语法格式如下。sorted(iterable[,key=None][,reverse=False])其中,iterable表示可迭代对象,如列表;参数key和reverse的用法与sort()方法中的相同。例如:number=[1,5,2,3,4] #创建列表number并赋值#将number中的元素升序排序后赋给变量number_newnumber_new=sorted(number)print(number) #输出number,结果为[1,5,2,3,4]print(number_new) #输出number_new,结果为[1,2,3,4,5]【教师】布置题目编程题:(1)输入一个4元素的列表,并将其倒序输出。【学生】完成题目【教师】随机点名回答通过教师的讲解和演示,使学生了解Python中的列表的使用任务实施(15min)【教师】带领学生完成任务二✈【教师】提出任务双色球包括红球和蓝球,红球由6个互不重复的1~33的随机号码组成,蓝球是1个1~16的随即号码。本任务要求大家编写Python程序,利用列表保存随机生成的号码,模拟双色球号码生成器。【学生】思考、讨论一、进行任务分析:完成本任务,须首先定义空列表,用于保存随机生成的不重复的双色球号码;接着循环生成1~33的随机数,由于红球号码要互不相同,故须判断该随机数是否在列表中,如果不在,则添加到列表中,直到列表的长度等于6;然后随机生成一个1~16的随机数,添加到列表中;最后遍历并输出列表中的双色球号码。二、参考代码:01、importrandom02、nums=[] #定义一个空列表03、whilelen(nums)<6: #循环6次,产生6个红球号码04、num=random.randint(1,33) #生成1~33的随机数num05、ifnumnotinnums: #如果num不在列表中06、nums.append(num) #将num添加到列表中07、#将1~16的随机数添加到列表中,产生1个蓝球号码08、nums.append(random.randint(1,16))09、print('随机生成的双色球号码:') #输出提示信息10、print('红球:',end='')11、foriinnums[:6]: #遍历列表,输出列表中红球号码12、print(i,end='')13、print('蓝球:',nums[6]) #输出列表中篮球号码三、代码运行结果:随机生成的双色球号码:红球:3134719

温馨提示

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

评论

0/150

提交评论