Py 语言基础与应用 1_第1页
Py 语言基础与应用 1_第2页
Py 语言基础与应用 1_第3页
Py 语言基础与应用 1_第4页
Py 语言基础与应用 1_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

【Python语言程序设计】第6章字典与集合1.字典的声明和使用2.字典基本操作3.字典键的特性4.字典内置函数与方法5.集合的声明和使用6.集合基本操作7.集合内置函数与方法重点:1.字典的声明和使用2.字典基本操作3.集合的声明和使用4.集合基本操作难点:1.字典键的特性2.字典、集合内置函数与方法知识要点知识点Python语言程序设计《案例:利用字典改进猜字游戏》案例利用字典改进猜字游戏123456789101112131415161718192021222324252627fromGameimport*#引入Game.py中的所有函数

title=‘1:我要玩猜字游戏’

title+=‘\n2:看看每次的猜字情况’

title+=‘\n3:看看某一次的猜字情况'

title+='\n4:退出程序'

logdic={}

times=0

whileTrue:

print(title)

choice=int(input('请输入编号:'))

ifchoice==1:

times+=1

x=eval(input("随机数的最小值:"))

y=eval(input("随机数的最大值:"))

z=eval(input("猜测次数:"))

logList=GuessNumGame(x,y,z)

print(logList)

strLog=",".join(map(str,logList))

logdic[times]=strLog

elifchoice==2:

forkeyinlogdic.keys():

print('第{}次游戏:'.format(key),logdic[key])

elifchoice==3:

cnt=eval(input("请输入第几次:"))

print('第{}次游戏:'.format(cnt),logdic.get(cnt))

elifchoice==4:

quit()testGame.py第6行:定义了一个空字典logdic,用来存储每次游戏的情况。第19行:logdic[times]=strLog,Python的字典利用”Key-Value”(键-值)机制存入数据。第21行:利用for语句遍历字典logdic,采用forkeyinlogdic.keys()字典中的数据是无序的,仅与key有关第25行:利用get方法引用Value:logdic.get(cnt)“logdic[key]”与“logdic.get(cnt)”的区别6logdic={}案例【游戏中的字符串格式化及优化】定义空字典19logdic[times]=strLogKey-Value”(键-值)2122forkeyinlogdic.keys():

print('第{}次游戏:'.format(key),logdic[key])遍历方式25

print('第{}次游戏:'.format(cnt),logdic.get(cnt))Get方法问题1:字典、列表、元组声明?{}[]()问题2:“logdic[key]”与“logdic.get(cnt)”的区别?提问在没有找到记录时直接引用“logdic[key]”会产生错误退出程序,而利用get方法“logdic.get(cnt)”则会返回“None”Python语言程序设计《字典的定义》同现实中的字典相似,Python的字典利用”Key-Value”机制对存入字典的数据进行快速查找定位。案例字典的定义案例字典的定义dict1={'张三':25,'李四':16,'王五':40}d={key1:value1,key2:value2}【例】一个简单的字典实例字典注意事项:(1)键必须是唯一的,但值可以不唯一。(2)值可以取任何数据类型,但键必须是不可变的,如字符串、数字或元组。(3)字典的键值是“只读”的,所以不能对键和值分别进行初始化。键用列表类型可以吗?案例字典的定义dic={}dic.keys=(1,2,3,4,5,6)dic.values=("a","b","c","d","e","f")【例】值是只读的,不可以修改AttributeError:'dict'objectattribute'keys'isread-onlyAttributeError:'dic'objectattribute'values'isread-only问题1:键必须是唯一还是不唯一的?唯一的问题2:字典中的Value值可以重复吗?提问可以问题3:字典中的键用列表类型可以吗?提问值可以取任何数据类型,但键必须是不可变的,如字符串、数字或元组Python语言程序设计《访问字典里的值》案例访问字典里的值dict={'Name':'DerisWeng','Age':7,'Class':'First'}print("dict['Name']:",dict['Name'])print("dict['Age']:",dict['Age'])访问字典中的值可以通过dict[Key]的方式,即把相应的键放到方括弧[]中进行访问。【例】通过直接引用访问字典中的值dict['Name']:DerisWengdict['Age']:7案例访问字典里的值dict={'Name':'DerisWeng','Age':7,'Class':'First'}print("dict['Christopher']:",dict['Christopher'])如果使用字典里没有对应的键,则访问数据时会报错。【例】访问字典中没有的键Traceback(mostrecentcalllast):File"test1.py",line5,in<module>print("dict['Christopher']:",dict['Christopher'])KeyError:'Christopher'案例访问字典里的值dict={'Name':'DerisWeng','Age':7,'Class':'First'}print(“dict[‘Christopher’]:”,dict.get(‘Christopher’))利用get方法访问【例】利用get方法,访问字典中没有的键dict[‘Christopher’]:None问题:根据key得到value的方法有哪几种?dict[Key]dict.get(Key)提问Python语言程序设计《修改字典》案例修改字典dict={'Name':'DerisWeng','Age':7,'Class':'First'}dict['Age']=18;

dict['School']="WZVTC"

print("dict['Age']:",dict['Age'])print("dict['School']:",dict['School'])通过直接引用赋值的方式对字典进行修改【例】修改字典di

温馨提示

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

最新文档

评论

0/150

提交评论