初中信息技术新世纪版八年级上册第十三课 电话号码翁说课ppt课件
展开1.了解什么是字典类型数据;2.掌握字典类型数据的常用操作命令和函数;3.理解文件操作命令。
重点是学习字典类型数据的操作。难点是文件操作命令。
编程就像搭积木一样,是件很有趣的事情,我们可以从生活入手,编一些程序来解决用手工处理很麻烦的事情。这一课我们将通过编程创建一个电话号码簿,并且能按照人名查询电话号码。
一般来说,电话号码簿中的数据是成组出现的,例如:name1: phne1, name2: phne2, name3: phne3, ...在Pythn编程中,像电话号码簿这样成组出现的数据,通常用“字典”类型的数据来表示。字典类型的数据通常来存储信息,格式如下:{name1:phne1,name2:phne2,name3:phne3}
格式: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]=”ya”。这时pb就变成了{21:”wang”,22:”zhang”,23:”jiang”,24:”ya”}替换键值对:pb[22]=”zhang fei”删除键值对:del pb[22]
假设:pb={21:”wang”,22:”zhang”,23:”jiang”},对pb进行如下操作:增加键值对、删除键值对、改写键的值、显示所有键的列表、显示所有值的列表。
【例题13-1】编写程序,创建电话号码簿。
号码簿程序编写出来了,可是电话号码不能保存,怎么办?
只有将电话号码簿保存到文件中,我们输入的电话号码信息才不会丢失。
格式:file=pen(“文件名.txt”,”打开模式”)功能:打开”文件名.txt”。”打开模式“有下列几种:”r”:以读方式打开文件,只有读取文件信息。“r+”:以读写方式打开文件,可对文件进行读写操作。“w”:以写方式打开文件,可向文件写入信息。如果文件存在,则清空该文件,再写入新内容。“w+”:清空文件内容,以读写方式打开文件。
【例题13-2】编写程序,创建电话号码簿,并保存到磁盘。
以写的方式打开文件“temp.txt”(如果文件不存在,则新建一个“temp.txt”)
将字典类型的数据pb转换成字符类型的数据,因为字典类型的数据不能直接写入文件中
将字符串strpb写入到文件“temp.txt”中。
关闭已经打开的文件“temp.txt”。
命令file=pen(“temp.txt”,”w”)创建了一个叫”file”的文件对象,利用文件对象的“方法”(可以理解为函数),可以对文件进行打开、读、写、关闭等操作。例如:file=pen(“temp.txt”,”w”):创建一个叫“file”的对象。file.clse():关闭文件。file.write(“字符串”):将“字符串”写入文件。file.seek(0):将文件指针移到文件头。文件指针用于指定文件操作的位置。file.truncate():从文件指针处开始,清空文件。file.readine():读文件指针所指行的信息。
建立存有三个人的电话号码簿,并保存到程序所在的目录下,然后用Pythn IDIE打开,检查所存入的电话号码簿。
【例题13-2】虽然能保存电话号码簿,但下次运行程序的时候,保存的电话号码又不见了,这是因为用”w”模式打开文件,会创建新的文件。因此我们用“r+”模式打开文件,先将文件内容读出来,然后与新增的电话号码一起,重新写入文件。如何将电话号码追加到已有文件?
向已有文件追加电话号码,【例题13-3】编写程序,向电话号码簿文件追加信息。
以可读写的方式打开文件“temp.txt”
读取文件的一行。格式类似于:“{“wang”:21,”zhang”:22,”jiang”:23}”
将pb的引号去掉,pb就变成了字典类型数据
运行两次ex133.py,每次都输入一个人的电话号码信息,然后用Pythn 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、退出通讯录程序---|
新世纪版八年级上册第十二课 画正多角星(二)示范课ppt课件: 这是一份新世纪版八年级上册第十二课 画正多角星(二)示范课ppt课件,文件包含第十二课画正多角星二ppt、第十二课画正多角星二教学设计doc等2份课件配套教学资源,其中PPT共17页, 欢迎下载使用。
初中信息技术新世纪版八年级上册第一课 用Python编程备课课件ppt: 这是一份初中信息技术新世纪版八年级上册第一课 用Python编程备课课件ppt,文件包含第一课用Python编程pptx、第一课用Python编程doc等2份课件配套教学资源,其中PPT共28页, 欢迎下载使用。
初中信息技术新世纪版八年级上册第十四课 凯撒密码教学ppt课件: 这是一份初中信息技术新世纪版八年级上册第十四课 凯撒密码教学ppt课件,文件包含第十四课凯撒密码ppt、第十四课凯撒密码教学设计doc等2份课件配套教学资源,其中PPT共15页, 欢迎下载使用。