《Python语言程序设计(工作手册式)【实训题目-含答案】实验6 字典与集合答案版.docx》由会员分享,可在线阅读,更多相关《Python语言程序设计(工作手册式)【实训题目-含答案】实验6 字典与集合答案版.docx(12页珍藏版)》请在第一文库网上搜索。
1、Python基础卖歌报告实验项目实验6:字典与集合学员姓名实验日期实验6:字典与集合一、实验目的1 .掌握字典的声明和使用2 ,了解字典键的特性3 .熟悉字典内置函数与方法的使用4 .学会字典的综合应用5 .掌握集合的声明和使用6 .掌握集合运算7 .熟练使用集合内置函数与方法8 .学会集合的综合应用二、单元练习(-)选择题1 .下列哪个函数可以计算字典元素个数_B_A.cmpB.IenC.strD.type2 .下列哪个函数可以将字典以字符串表示输出_C_A.cmpB.IenC.strD.type3 .下列哪个函数可以返回输入的变量类型_D_A.cmpB.IenC.strD.type4 .若
2、想删除字典,该使用以下哪个方法?(B)A. popB. de1C. c1earD. Copy5.下列哪项关于字典的说法正确。(AB)A.键必须唯一,但值则不必。B.列表是方括号,元组是圆括号(),字典是花括号。C.字典中的键是有序的。D.字典的内置函数有dict.c1ear,type(),str(),1en()o(二)填空题1 .每个键与值用_冒号隔开,每对键值对用逗号分割,整体放在一花括号中。2 .字典是无序的,在字典中通过一键来访问成员。3 .Python有两种方法可以创建字典,第一种是使用花括号,另一种是使用内建函数_dict。4 .键必须是唯一的,但值则不必。值可以取任何数据类型,但键
3、必须是不可变的,如一字符串一,一元组一或一数字O5 .字典的键不能是类型。6 .描述出以下字典函数或方法的意义:C1ear:删除集合中的所有元素Keyindiet:键在字典中Keys:返回一个字典所有键Va1ues:返回一个字典所有值Pop:删除并返回任意的集合元素7 .假设有列表a=name丁age丁Sex1和b=Weng,18,FeMa1e,请使用一个语句将这两个列表的内容转换为字典,并且以列表a中的元素为“键”,以列表b中的元素为“值”,这个语句可以写为c=dict(zip(a,b)。8 .在PythOn中,字典和集合都是用一对一大括号J乍为界定符,字典的每个元素有两部分组成,即键和_值
4、_,其中_键_不允许重复。9 .已知:X=set(Christoper),y=set(k,i,d,),执行下列操作后,请将结果填写到横线处。(1) print(x&y)的结果:(2) print(xy)的结果:2C,d,e,h,iJk,o,d,Ts,(3)print(x-y)的结果:9已沙,宣,宜-1(4) print(xy)的结果:C,d,e,h:kJoJp,r,s,三、课堂练习任务1:1字典基本训练】1创建一个名为dic1的字典,其中有元素ab1456程序编写于下方dict1=,abc,:4562 .将did中的abc:456改为abc:123程序编写于下方dict1=(abc:456)d
5、ict1abc=132print(dict1)dict1=abc:4563 .为字典dic1添加新元素,键为:Age,值为:18.程序编写于下方dict1=abc:456)dict1Age=18print(dict1)4 .删除字典did中的元素abCo程序编写于下方dict1=abc:456)de1diet1abcprint(dict1)5 .清空字典的所有元素然后将字典删除。程序编写于下方dict1=(abc:456)de1dict1,abcdict1.c1ear()de1dict1任务2:1综合训练1】1 .已知字典d=Adam,:95z1isa,:85Bart,:59请打印输出:Ada
6、m:951isa:85Bart:59程序编写于下方d=Adam:951isa:85,Bart:59)foriind:print():).format(i,di1)2 .请用for循环遍历如下的diet,打印出姓名:分数来。d=,Adam,:951isa,:85Bart,:59程序编写于下方d=Adam:951isa,:85,Bart:59)foriind:print(:).format(i,di)3 .有字典dict1=1,2,请将字典中的1输出。程序编写于下方diet1=,a,:1,2)print(dict1,a(O)4有字典dict2=a:c:Hd,请将字典中的d输出。程序编写于下方dic
7、t2=,a,cd1)print(dict2ac)任务3:【综合训练2】1.dic=,k1,:v1,k2:“2“,“13”:11,22,33,请循环输出所有的key,va1ue程序编写于下方die=k1:v1,”k2“:v2“,“3:11,22,33foriindie:print(:(),.format(i,dici)2 .请在字典中添加一个键值对,k4:v4,输出添加后的字典程序编写于下方die=,k:vk2:,v2,k3:11,22,33)dic,k4=,v4mprint(dic)3 .请在修改字典中“k1”对应的值为“a1ex,输出修改后的字典程序编写于下方die=,k1,:,v1,k2n
8、:v2,k3:11,22,33)dick4=,v4dick1=,a1exprint(dic)4 .请在k3对应的值中追加一个元素44,输出修改后的字典程序编写于下方die=,k:,v1,k2:v2,k3:11,22,33)dick4=,v4dick=,a1exdick3,=11,22,33,44print(dic)5 .请在k3对应的值的第1个位置插入个元素18,输出修改后的字典程序编写于下方die=,k1,:,v,k2:v2,k3:11,22,33dick4=,v4dick1=,a1exdic,k3=11,22,33,441ist=dick31ist.insert(0,18)dic,k3=1
9、istprint(dic)任务4:【找最大】要求:找到年龄最大的人,并输出。例如:提示,将输入的信息转化成类似字典:“张三李四”:60,“王五”:56,“孙六”:7的结构,然后进行判断大小,然后输出最大的人的信息。程序编写于下方namedic=)age1ist=whi1eTrue:dictext=inputC请输入姓名,年龄(张三:18)(只输入回车:结束输入):)ifdictext!=:Iistdic=dictext.sp1it(,:*)namedic(str(1istdicO)=int(1istdic1)e1se:breakifnamedic!=():foriinnamedic:age1i
10、st.append(namedic(i)print(namedic)PrintC年龄最大的是:,岁.fbrmat(max(namedic,key=namedic.get),max(age1ist)任务5:1集合基本训练】1 .创建一个名为Set1的集合,其中有元素为:1237WengOIOO程序编写于下方se11=,123,weng,100)2 .为集合set1添加一个新元素,(hristopher,程序编写于下方set1=,123,weng,100)set1.add(,Christopher)print(set1)3 .为集合Set1添加多个新元素,is、18、TyearS,o1d程序编写于
11、下方Seu=123,Weng,100set1.update(is,18)set1.update(years,o1d)print(set1)4 .删除集合set1中的元素100程序编写于下方set1=I23,weng,100set1.update(,is,18)set1.update(yearso1d)Set1remove(IOO)print(set1)5 .清空集合set1中的所有元素。程序编写于下方set1=,123,weng,100set1.update(,is,18)set1.update(years,o1d)set1.remove(100)set1.c1ear()print(set1)
12、任务6:1集合综合训练】1 .给定一个列表,提取列表中单一元素,即提取出序列中所有不重复的元素。假设列表IiSt1=12,3,4,5,2,3,4程序编写于下方Iist1=1,2,3,4,5z2,3,4s=Set(Iist1)Iist1=1ist(s)Print(Iist1)2 .现有集合SetI=Set(1,2,3),给定一个列表f,遍历HSt1中的每一个元素,如果它在Set中,就将其删除,如果不在Set中,就添加进去。程序编写于下方set1=set(1,2,3)IiSu=U,2,3,4,5,2,3,4Iist1=set(1ist1)set2=set1set1=set2Iist1print(s
13、et1:,.format(set1)Iist1=1ist1-set2Iist1=Iist(Iist1)print(1ist1:),.format(1ist1)任务7:1集合提高练习】编写函数,函数名:randomNumber,该函数功能:生成指定个数个(NUmber)在一定范围内(m到n)的不可重复的随机数。(要求:利用集合的特性完成该功能)程序编写于下方importrandomset1=set()defrandomNumber(Number,m,n):whi1e1en(set1)int(Number):b=random.randint(int(m),int(n)set1.add(b)print(set1)returnset1number=input(,请输入生成个数:)astr=input(请输入范围(例:1-100):)bstr=astr.sp1it(-*)print(bstr)print(randomNumber(number,bstrO,bstr1)四、拓展任务任务1:【打印数字的重复次数】要求:用户输入一个数字,打印每一位数字及其重复次数。比如:输入数字888232315,输出结果为:(8,3),(2,2),(3,2),(