資源描述:
《Python 實(shí)驗(yàn)12 元組與字典》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、實(shí)驗(yàn)12元組與字典實(shí)驗(yàn)?zāi)康模?、理解元組與字典的概念2、掌握元組的方法及使用3、掌握字典的使用方法;實(shí)驗(yàn)內(nèi)容:1.填空已知元組mytup=(1,2,3,4,5,6,7,8,9,10)mytup[:3]=(1,2,3),mytup[1:3]=(2,3)mytup[-1]=10,max(mytup)=__10__len(mytup)=10.產(chǎn)生一個(gè)1-26的數(shù)字列表A,A=range(1,27)A=[]foriinrange(1,27):A.append(i)PrintA產(chǎn)生一個(gè)“A”-“Z”的字母列表B,B=[c
2、hr(i)foriinrange(65,91)]B=[]foriinrange(65,91):B.append(i)PrintB請(qǐng)生成一個(gè)字典mydict,使得數(shù)字與字符形成對(duì)應(yīng),如1):”A”,2:”B”……26:”Z”.foriinrange(1,27):mydict[i]=chr(i+64)(或者不要for,直接來上面一句)顯示字典中所有的鍵值對(duì)foriinmydict.items():printi顯示字典中所有的鍵foriinmydict.keys():printi2)已知ListA=[1,2,3,4,
3、5],ListB=[‘one’,’two’,’three’,’four’,’five’],請(qǐng)把兩個(gè)列表合并成字典DictA=dict(zip(ListA,ListB)).2.使用字典來創(chuàng)建程序,提示用戶輸入電話號(hào)碼,并用英文單詞形式顯示數(shù)字。例如:輸入138顯示為“onethreeeight”defgetdict(phone):A=[iforiinrange(0,10)]B=["zero","one","two","three","four","five","six","seven","eight","nine
4、"]mydict=dict(zip(A,B))foriinphone:printmydict[int(i)]defmain():phone=raw_input("Pleaseenteraseriesphonenumber:")getdict(phone)main()3.莫爾斯電碼采用了短脈沖和長(zhǎng)脈沖(分別為點(diǎn)和點(diǎn)劃線)來編碼字母和數(shù)字。例如,字母“A”是點(diǎn)劃線,“B”是點(diǎn)劃線點(diǎn)點(diǎn)。如文件Mos.txt文件所示。A.-B...C-.-.D-..E.F..-.G--.H....I..J.---K-.-L.-..M-
5、-N-.O---P.--.Q--.-R.-.S...T-U..-V...-W.--X-..-Y-.--Z--..1)創(chuàng)建字典,將字符映射到莫爾斯電碼。2)輸入一段英文,翻譯成莫爾斯電文。importstringdefMostran(wholetext):f=open("e:\Mos.txt","r")Mostext=""forlineinf:Mostext+=linef.close()Lwhole=Mostext.split()L1=Lwhole[::2]#這種間隔分片出來就是列表L2=Lwhole[1::2
6、]MosDict=dict(zip(L1,L2))forcharinwholetext:printMosDict[char]defmain():temp=raw_input("Enterapassage:")temp=temp.upper()wholetext=""forcharintemp:ifcharnotinstring.whitespace+string.punctuation:wholetext+=chartranslation=Mostran(wholetext)main()4.編程統(tǒng)計(jì)《葛底斯堡演
7、說》中每個(gè)單詞出現(xiàn)的次數(shù)。要求:打開文件,處理其中的每一行,將每個(gè)詞添加到字典中或更新其計(jì)數(shù),顯示輸出,在此例中按頻率從高到低進(jìn)行排列。importstringf=open("e:\gettysburg.txt","r")article=""forlineinf:article+=linef.close()article=article.lower()L=article.split()#粗略分詞成列表L1=[]forwordinL:temp=""forcharinword:ifcharnotinstring.
8、whitespace+string.punctuation:temp+=charL1.append(temp)#全文純單詞列表d={}forkeyinL1:ifkeynotind:d[key]=1ifkeyind:d[key]+=1printdT=sorted(d.items(),key=lambdad:d[1],reverse=True)foriinT:printi