课件25张PPT。第十三课 电话号码簿学习目标、重难点课前导入学习新知拓展延伸课堂小结学习目标1.了解什么是字典类型数据;
2.掌握字典类型数据的常用操作命令和函数;
3.理解文件操作命令。重难点重点是学习字典类型数据的操作。难点是文件操作命令。导入学习编程就像搭积木一样,是件很有趣的事情,我们可以从生活入手,编一些程序来解决用手工处理很麻烦的事情。
这一课我们将通过编程创建一个电话号码簿,并且能按照人名查询电话号码。一、创建电话号码簿一般来说,电话号码簿中的数据是成组出现的,例如:
name1: phone1, name2: phone2, name3: phone3, ...
在Python编程中,像电话号码簿这样成组出现的数据,通常用“字典”类型的数据来表示。字典类型的数据通常来存储信息,格式如下:
{name1:phone1,name2:phone2,name3:phone3}新命令格式:d={key1:value1,key2:value2,...}
功能:建立一个新的字典。其中键(key)和值(value)通过冒号连接,组成一个键值对(冒号前面的为键,冒号后面的为值),键值对之间通过逗号隔开,字典是键值对的集合。键值对在字典中没有顺序之分。字典中的键是唯一的,如果重复,最后的一个键值对会替换前面的,但值不需要唯一。
字典中的值可以通过键来查询,就像通过身份证号码查人一样,例如d[key2]就是value2。想一想:生活中还有哪些信息可以用字典类型的数据来表示?请举出两个例子。例如:学号:姓名 省:省会城市
科目:科代表假设通过下面的命令创建了某班的学号字典
pb:pb={21:”wang”,22:”zhang”,23:”jiang”}
那么:pb[22]:键”22“对应的值,即”zhang”
字典中所有键的集合:pb.keys(),即序列:[21,22,23]
字典中所有值的集合:pb.values(),即序列:[“wang”,”zhang”,”jiang”]
增加键值对:pb[24]=”yao”。这时pb就变成了
{21:”wang”,22:”zhang”,23:”jiang”,24:”yao”}
替换键值对:pb[22]=”zhang fei”
删除键值对:del pb[22]小博士任务探究一假设:pb={21:”wang”,22:”zhang”,23:”jiang”},对pb进行如下操作:增加键值对、删除键值对、改写键的值、显示所有键的列表、显示所有值的列表。探究学习一【例题13-1】编写程序,创建电话号码簿。号码簿程序编写出来了,可是电话号码不能保存,怎么办?二、保存电话号码簿只有将电话号码簿保存到文件中,我们输入的电话号码信息才不会丢失。新命令格式:file=open(“文件名.txt”,”打开模式”)
功能:打开”文件名.txt”。”打开模式“有下列几种:
”r”:以读方式打开文件,只有读取文件信息。
“r+”:以读写方式打开文件,可对文件进行读写操作。
“w”:以写方式打开文件,可向文件写入信息。如果文件存在,则清空该文件,再写入新内容。
“w+”:清空文件内容,以读写方式打开文件。探究学习二【例题13-2】编写程序,创建电话号码簿,并保存到磁盘。以写的方式打开文件“temp.txt”(如果文件不存在,则新建一个“temp.txt”)将字典类型的数据pb转换成字符类型的数据,因为字典类型的数据不能直接写入文件中将字符串strpb写入到文件“temp.txt”中。关闭已经打开的文件“temp.txt”。命令file=open(“temp.txt”,”w”)创建了一个叫”file”的文件对象,利用文件对象的“方法”(可以理解为函数),可以对文件进行打开、读、写、关闭等操作。例如:
file=open(“temp.txt”,”w”):创建一个叫“file”的对象。
file.close():关闭文件。
file.write(“字符串”):将“字符串”写入文件。
file.seek(0):将文件指针移到文件头。文件指针用于指定文件操作的位置。
file.truncate():从文件指针处开始,清空文件。
file.readine():读文件指针所指行的信息。小博士任务探究二建立存有三个人的电话号码簿,并保存到程序所在的目录下,然后用Python IDIE打开,检查所存入的电话号码簿。 【例题13-2】虽然能保存电话号码簿,但下次运行程序的时候,保存的电话号码又不见了,这是因为用”w”模式打开文件,会创建新的文件。因此我们用“r+”模式打开文件,先将文件内容读出来,然后与新增的电话号码一起,重新写入文件。如何将电话号码追加到已有文件?爱发现探究学习三向已有文件追加电话号码,【例题13-3】编写程序,向电话号码簿文件追加信息。以可读写的方式打开文件“temp.txt”读取文件的一行。格式类似于:“{“wang”:21,”zhang”:22,”jiang”:23}”将pb的引号去掉,pb就变成了字典类型数据将文件指针移到文件头清空文件任务探究三运行两次ex133.py,每次都输入一个人的电话号码信息,然后用Python IDLE打开“temp.txt”文件,检查所存入的电话号码簿。运行程序ex133.py的时候,如果文件”temp”不存在,或者”temp.txt”文件中的信息不能转换成字典类型的数据,程序就会出错。怎么样让程序能够应对这些错误呢?也就是说,程序能不能捕捉到错误信息,按照流程图运行?探究与发现捕捉程序运行的错误,可以使用try-except语句。新命令格式:
try:
<语句块>
except:
<语句块>功能:当执行<语句块1>出错时就执行<语句块2>先打开文件,
若正常:向文件追加电话号码,
若异常:创建新文件(ex134.py)探究学习四编写程序,向电话号码簿文件追加信息。当打开文件出错,或者文件内容格式出错时,创建新的电话号码簿文件。try下面的语句块用于打开、读取文件的内容,并将文件内容转换成字典类型的数据,然后将文件清空。如果在执行这段程序时出错就会执行except下面的语句块。except下面的语句块是创建一个新的文件。只有当磁盘上不存在“temp.txt”文件,或者文件内容不能转换成字典数据类型的时候才会执行该语句块。三、查询电话号码探究学习五现在来编写查询电话号码的程序。【例题13-5】从刚建立的电话号码簿中查询电话(按姓名):拓展延伸P82试一试:将创建和查询电话号码的程序合并成一个即能添加电话号码,又能查询电话号码的程序。程序运行时出现如下界面,输入数字执行相应的功能程序块:
|---欢迎进入通讯录程序---|
|---1、查询联系人资料---|
|---2、添加新的联系人---|
|---3、退出通讯录程序---|课堂小结字典类型的数据是键值对的集合,电话号码簿是人名和电话号码的集合,人名和电话号码就是键值对,其中人名是键、电话号码是值。谢谢21世纪教育网(www.21cnjy.com) 中小学教育资源网站 有大把高质量资料?一线教师?一线教研员?
欢迎加入21世纪教育网教师合作团队!!月薪过万不是梦!!
详情请看:
https://www.21cnjy.com/help/help_extract.php
新世纪版信息技术八年级上册第十三课画正多角星教学设计
课题
电话号码簿
单元
第十三课
学科
信息技术
年级
八年级上册
学习
目标
1.了解什么是字典类型数据;
2.掌握字典类型数据的常用操作命令和函数;
3.理解文件操作命令。
重点
学习字典类型数据的操作
难点
难点是文件操作命令。
教学过程
教学环节
教师活动
学生活动
设计意图
一、课前导入
编程就像搭积木一样,是件很有趣的事情,我们可以从生活入手,编一些程序来解决用手工处理很麻烦的事情。这一课我们将通过编程创建一个电话号码簿,并且能按照人名查询电话号码。产
认真听讲
迅速引入课题
二、新知讲解与学习
一、创建电话号码簿新命令讲解
格式:d={key1:value1,key2:value2,...}
功能:建立一个新的字典。
提出问题:
生活中还有哪些信息可以用字典类型的数据来表示?请举出两个例子。
小博士
任务探究一:P76试一试
演示并讲解探究学习一:【例题13-1】编写程序,创建电话号码簿。
提出问题:号码簿程序编写出来了,可是电话号码不能保存,怎么办?
二、保存电话号码簿
1、新命令
格式:file=open(“文件名.txt”,”打开模式”)
功能:打开”文件名.txt”。
2、演示并讲解探究学习二:【例题13-2】编写程序,创建电话号码簿,并保存到磁盘。
3、小博士
任务探究二:P79试一试
5、爱发现,提出问题:如何将电话号码追加到已有文件?
演示并讲解探究学习三:向已有文件追加电话号码,【例题13-3】编写程序,向电话号码簿文件追加信息。
任务探究三:P试一试80
探究与发现
新命令功能:当执行<语句块1>出错时就执行<语句块2>
try:
<语句块>
except:
<语句块>
演示并讲解探究学习四:编写程序,向电话号码簿文件追加信息。当打开文件出错,或者文件内容格式出错时,创建新的电话号码簿文件。
查询电话号码
1、演示并讲解探究学习五:【例题13-5】从刚建立的电话号码簿中查询电话(按姓名)
认真听讲,学习新命令
自主探究思考并回答问题
认真学习
小组协助完成任务
认真学习如何创建电话号码簿
小组讨论并派代表回答问题
认真学习并掌握新命令的使用
认真学习如何将创建电话号码簿保存到磁盘中
小组协助完成任务
小组讨论并回答问题
认真学习
小组协助完成任务
小组探究发现问题解决问题
认真学习并掌握新命令的使用
认真学习
认真学习
通过学习掌握新命令
培养学生学生自主探究学习解决问题的能力
通过小组探究,培养学生相互协作的能力
学会用程序编写出电话号码簿
培养学生相互协作、善于发现问题的能力
理解新命令的功能
学会用程序编写出电话号码簿并保存
培养学生相互协作的能力
培养学生相互协作、善于发现问题的能力
学会用编写出向已有文件追加电话号码的程序
培养学生相互协作的能力
培养学生相互协作、善于发现问题的能力
通过学习掌握新命令以及命令的格式
学会怎么样让程序能够应对出现的错误
学会用程序查询已经建立的电话号码
三、拓展延伸
P82试一试:将创建和查询电话号码的程序合并成一个即能添加电话号码,又能查询电话号码的程序。程序运行时出现如下界面,输入数字执行相应的功能程序块
小组协助探究完成作业
通过小组探究,培养学生相互协作的能力,并提高学习积极性,巩固知识
课堂小结
字典类型的数据是键值对的集合,电话号码簿是人名和电话号码的集合,人名和电话号码就是键值对,其中人名是键、电话号码是值。本课的流程是由问题驱动的,当完成一个任务后,新的问题自然而然就产生了
板书
第十三课 电话号码簿