版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
廣東省中山市全國計(jì)算機(jī)等級(jí)考試Python語言程序設(shè)計(jì)重點(diǎn)匯總(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(30題)1.以下選項(xiàng)中不是Python文件讀寫操作方法的是()。
A.write()B.writelines()C.readtext()D.read()
2.s1='%s';s1%(s1)的輸入是()
A.%sB.%%sC.%s%sD.s
3.在供應(yīng)關(guān)系中,實(shí)體供應(yīng)商和實(shí)體零件之間的聯(lián)系是()。
A.多對(duì)多B.一對(duì)一C.多對(duì)一D.一對(duì)多
4.下面描述錯(cuò)誤的是()。
A.對(duì)象一定有標(biāo)識(shí)B.對(duì)象一定有屬性和方法(或操作)C.對(duì)象具有封裝性D.不同對(duì)象的同一屬性一定有相同的屬性值
5.下面代碼的輸出結(jié)果是()。f=lambdax,y:xifx<yelseya=f(“aa”,“bb”)b=f(“bb”,“aa”)print(a,b)A.aaaaB.aabbC.bbaaD.bbbb
6.S和T是兩個(gè)集合,對(duì)S&T的描述正確的是()。
A.S和T的交運(yùn)算,包括同時(shí)在集合S和T中的元素
B.S和T的并運(yùn)算,包括在集合S和T中的所有元素
C.S和T的差運(yùn)算,包括在集合S但不在T中的元素
D.S和T的補(bǔ)運(yùn)算,包括S和T中的幾個(gè)非相同元素
7.不屬于Python機(jī)器學(xué)習(xí)第三方庫的是()。
A.PylonsB.TensorFlowC.kernsD.mxnet
8.以下關(guān)于Python循環(huán)結(jié)構(gòu)的描述中,錯(cuò)誤的是()。
A.while循環(huán)使用關(guān)鍵字continue結(jié)束本次循環(huán)
B.while循環(huán)可以使用保留字break和continue
C.while循環(huán)也叫遍歷循環(huán),用來遍歷序列類型中元素,默認(rèn)提取每個(gè)元素并執(zhí)行一次循環(huán)體
D.while循環(huán)使用pass語句,則什么事也不做,只是空的占位語句
9.對(duì)于以下程序的描述,正確的是()。s=“Pythonisgood”l=“isn’tit”length=len(s)s_title=s.title()s_l=s+ls_number=s[1:6]print(length)
A.length為12
B.s_title為“PYTHONISGOOD”
C.s_l為“Pythonisgoodisn’tit”
D.s_number為“Python”
10.以下屬于Python機(jī)器學(xué)習(xí)方向的第三方庫的是()。
A.randomB.SnowNLPC.TensorflowD.loso
11.以下描述錯(cuò)誤的是()。
A.Python是一門動(dòng)態(tài)的解釋型語言
B.當(dāng)Python腳本程序發(fā)生異常時(shí),如果不處理,運(yùn)行結(jié)果不可預(yù)測(cè)
C.編程語言中的異常和錯(cuò)誤是完全相同的概念
D.Python通過try、except等保留字提供異常處理功能
12.執(zhí)行以下代碼的結(jié)果是()A.1B.2C.5D.8
13.使用一個(gè)還未賦予對(duì)象的變量錯(cuò)誤提示是()
A.NameErrorB.KeyErrorC.SystemErrorD.ReferenceError
14.下面關(guān)于Python中繼承的說法錯(cuò)誤的是()。
A.創(chuàng)建子類實(shí)例時(shí),Python首先需要完成的任務(wù)是給父類的所有屬性賦值
B.Python中,super()是一個(gè)特殊函數(shù),幫助Python將父類和子類關(guān)聯(lián)起來
C.函數(shù)super()只需要一個(gè)實(shí)參,即子類名
D.對(duì)于父類的方法,可對(duì)其進(jìn)行重寫,即在子類中定義一個(gè)這樣的方法,它要與重寫的父類名方法同名
15.以下程序的輸出結(jié)果是()。foriinrange(3): forjin“dream”: ifj==“e” continue print(j,end=“”)
A.dramdramdramB.drdrdrC.dreamdreamdreamD.dream
16.關(guān)于以下代碼的描述中,正確的是()。deffact(n):s=1Foriinrange(1,n+1):s*=ireturns
A.代碼中n是可選參數(shù)
B.faCt(n)函數(shù)功能為求n的階乘
C.s是全局變量
D.mnge()函數(shù)的范圍是[1,n+1]
17.生成一個(gè)k比特長度的隨機(jī)整數(shù)的函數(shù)是()。
A.random.choice(k)
B.random.shuffle(k)
C.random.getrandbits(k)
D.random.sample(k)
18.以下關(guān)于Python字符編碼的描述中,正確的是()。
A.Python字符編碼使用ASCII值存儲(chǔ)
B.chr(x)和ord(x)函數(shù)用于在單字符和Unicode值之間進(jìn)行轉(zhuǎn)換
C.print(chr('a’))輸出97
D.print(ord(65))輸出A
19.以下不是Python的關(guān)鍵字的是()。
A.classB.defC.defineD.elif
20.屬于Python讀取文件中一行內(nèi)容的操作是()。
A.readtext()B.readline()C.readall()D.read()
21.在Python語言中,不屬于組合數(shù)據(jù)類型的是()。
A.浮點(diǎn)數(shù)類型B.列表類型C.字典類型D.字符串類型
22.以下關(guān)于turtle庫的描述,錯(cuò)誤的是()。
A.在importturtle之后,可以用turtle.circle()語句畫一個(gè)圓圈
B.seth(x)是setheading(x)函數(shù)的別名,其作用是讓畫筆旋轉(zhuǎn)x角度
C.可以用importturtle來導(dǎo)入turtle庫函數(shù)
D.home()函數(shù)用于設(shè)置當(dāng)前畫筆位置為原點(diǎn),方向朝上
23.類中的實(shí)例方法,總會(huì)有一個(gè)參數(shù)()
A.selfB.clsC.@staticmethodD.@classmethod
24.設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號(hào),姓名,性別,年齡,身份證號(hào)),課程C(課號(hào),課名),選課SC(學(xué)號(hào),課號(hào),成績(jī)),則表SC的關(guān)鍵字(鍵或碼)為()。
A.課號(hào),成績(jī)B.學(xué)號(hào),成績(jī)C.學(xué)號(hào),課號(hào)D.學(xué)號(hào),姓名,成績(jī)
25.定義學(xué)生選修課程的關(guān)系模式如下:SC(S#,Sn,C#,Cn,G,Cr)(其屬性分別為學(xué)號(hào)、姓名、課程號(hào)、課程名、成績(jī)、學(xué)分)該關(guān)系可進(jìn)一步規(guī)范化為()。
A.S(S#,Sn,C#,Cn,Cr),SC(S#,C#,G)
B.S(S#,Sn),C(C#,Cn,Cr),SC(S#,C#,G)
C.C(C#,Cn,Cr),SC(S#,Sn,C#,G)
D.S(S#,Sn),C(C#,Cn),SC(S#,C#,Cr,G)
26.商品銷售的售貨單和商品之間的聯(lián)系是()。
A.多對(duì)多B.一對(duì)多C.多對(duì)一D.一對(duì)一
27.下面代碼的輸出結(jié)果是()。list=[“1”,”3”,”5”]defapp(x):list.a(chǎn)ppend(x)app(”7”)print(list)
A.[’1’,’3’,’5’]B.[’1’,’3’,’5’,’7’]C.[’7’]D.”1,3,5,7”
28.以下屬于Python中Web開發(fā)框架第三方庫的是()。
A.DjangoB.TinyDBC.audiolazyD.Pattem
29.執(zhí)行以下代碼的結(jié)果是?A.1B.2C.4D.異常報(bào)錯(cuò)
30.正則表達(dá)式中的特殊字符,匹配字母,數(shù)字,下劃線()
A.\dB.\DC.\wD.\s
二、判斷題(10題)31.Python采用的是基于值得自動(dòng)內(nèi)存管理方式。
A.是B.否
32.形參可以看做是函數(shù)內(nèi)部的局部變量,函數(shù)運(yùn)行結(jié)束之后形參就不可訪問了。
A.是B.否
33.Python代碼可以內(nèi)嵌在asp文件中。
A.是B.否
34.相同內(nèi)容的字符串使用不同的編碼格式進(jìn)行編碼得到的結(jié)果并不完全相同。
A.是B.否
35.當(dāng)作為條件表達(dá)式時(shí),[]與None等價(jià)。
A.是B.否
36.元組可以作為字典的“鍵”。
A.是B.否
37.使用del命令或者列表對(duì)象的remove()方法刪除列表中元素時(shí)會(huì)影響列表中部分元素的索引。
A.是B.否
38.Python標(biāo)準(zhǔn)庫os中的方法exists()可以用來測(cè)試給定路徑的文件是否存在。
A.是B.否
39.同一個(gè)列表對(duì)象中的元素類型可以各不相同。
A.是B.否
40.0o12f是合法的八進(jìn)制數(shù)字。
A.是B.否
三、填空題(10題)41.Python內(nèi)置函數(shù)()用來返回序列中的最小元素。
42.表達(dá)式[str(i)foriinrange(3)]的值為____________。
43.表達(dá)式int('11111',2)的值為__________。
44.已知列表x=[1,2],執(zhí)行語句y=x后,表達(dá)式xisy的值為_______。
45.已知x=[1,2,3,2,3],執(zhí)行語句x.remove(2)之后,x的值為____________。
46.已知列表x=[1,2],執(zhí)行語句y=x[:]后,表達(dá)式xisnoty的值為_______。
47.已知x={1:2},那么執(zhí)行語句x[2]=3之后,x的值為________________。
48.正則表達(dá)式模塊re的______________方法用來在整個(gè)字符串中進(jìn)行指定模式的匹配。
49.代碼foriinrange(3):print(i,end=',')的執(zhí)行結(jié)果為_________________。
50.表達(dá)式'%s'%[1,2,3]的值為_____________。
四、操作題(3題)51.考生文件夾下存在3個(gè)Python源文件,分別對(duì)應(yīng)3個(gè)問題;1個(gè)文本文件,作為本題目輸入數(shù)據(jù),請(qǐng)按照源文件內(nèi)部說明修改代碼,實(shí)現(xiàn)以下功能:
《賣火柴的小女孩》是丹麥童話故事作家安徒生的一篇童話故事,發(fā)表于1846年。主要講了一個(gè)賣火柴的小女孩在富人闔家歡樂、舉杯共慶的大年夜凍死在街頭的故事。這里給出《賣火柴的小女孩》的一個(gè)網(wǎng)絡(luò)版本文件,文件名為“小女孩.txt”。問題1:在PY301—1.py文件中修改代碼,對(duì)“小女孩.txt”文件進(jìn)行字符頻次統(tǒng)計(jì),輸出頻次最高的中文字符(不包含標(biāo)點(diǎn)符號(hào))及其頻次,字符與頻次之間采用英文冒號(hào)”:”分隔,將輸出結(jié)果保存在考生文件夾下,命名為"PY301—1.txt"。示例格式如下:的:83
試題程序:#以下代碼為提示框架
#請(qǐng)?jiān)凇幨褂靡恍谢蚨嘈写a替換
#請(qǐng)?jiān)赺_______處使用一行代碼替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準(zhǔn)
fo=open(”PY301—1.txt”,”w”)
d={}
fo.write(”{}:{}”.format(__________))
fo.close()問題2:在PY301—2.py文件中修改代碼,對(duì)“小女孩.txt”文件進(jìn)行字符頻次統(tǒng)計(jì),按照頻次由高到低,輸出前10個(gè)頻次最高的字符,不包含回車符,字符之間無間隔,連續(xù)輸出,將輸出結(jié)果保存在考生文件夾下,命名為“PY301—2.txt”。示例格式如下:,的一…(后略,共10個(gè)字符)
試題程序:
#以下代碼為提示框架
#請(qǐng)?jiān)凇幨褂靡恍谢蚨嘈写a替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準(zhǔn)
fo=open(”PY301一2.txt”,“w”)d={}ls=list(d.items())
ls.sort(key=lambdax:x[1],reverse=True)#此行可以按照詞頻由高到低排序
問題3:在PY301一3.py文件中修改代碼,對(duì)“小女孩.txt”文件進(jìn)行字符頻次統(tǒng)計(jì),將所有字符按照頻次從高到低排序,字符包括中文、標(biāo)點(diǎn)、英文等符號(hào),但不包含空格和回車。將排序后的字符及頻次輸出到考生文件夾下,文件名為“小女孩一頻次排序.txt”。字符與頻次之間采用英文冒號(hào)”:”分隔,各字符之間采用英文逗號(hào)”,”分隔,參考CSV格式,最后無逗號(hào),文件內(nèi)部示例格式如下:
著:30,那:29,火:29
試題程序:
#以下代碼為提示框架
#請(qǐng)?jiān)凇幨褂靡恍谢蚨嘈写a替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準(zhǔn)
d={}
ls=list(d.items())
ls.sort(key=lambdax:x[1],reverse=True)}}#此行可以按照詞頻由高到低排序
52.考生文件夾下存在一個(gè)文件“PY301.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請(qǐng)按照源文件內(nèi)部說明修改代碼,實(shí)現(xiàn)以下功能。設(shè)計(jì)一個(gè)猜字母的程序,程序隨機(jī)給出26個(gè)小寫字母中的一個(gè),答題者輸入猜測(cè)的字母,若輸入的不是26個(gè)小寫字母之一,讓用戶重新輸入;若字母在答案之前或之后,程序給出相應(yīng)正確提示;若答錯(cuò)5次,則答題失敗并退出游戲;若回答正確,程序輸出回答次數(shù)并退出游戲。試題程序:#以下代碼為提示框架#請(qǐng)?jiān)?..處使用一行或多行代碼替換#請(qǐng)?jiān)赺____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)
53.考生文件夾下存在一個(gè)文件“PY103.py”,請(qǐng)寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。從鍵盤輸入一句話,用jieba庫進(jìn)行分詞后,將切分的詞組按照原話逆序輸出到屏幕上,詞組中間沒有空格。示例如下。
輸入:我愛老師輸出:老師愛我
試題程序:#請(qǐng)?jiān)赺____處使用一行代碼或表達(dá)式替換
#注意:請(qǐng)不要修改其他已給出代碼
importjiebatxt=input(”請(qǐng)輸入一段中文文本:”)_____(1)_____foriinls[::-1]:_____(2)_____
參考答案
1.Cwrite():向文件寫入一個(gè)字符或字節(jié)流;writelines():將一個(gè)元素為字符串的列表整體寫入文件;read():從文件中讀入整個(gè)文件內(nèi)容。
2.A
3.A一家供應(yīng)商可提供多種零件,一種零件也可被多家供應(yīng)商提供。所以實(shí)體供應(yīng)商和實(shí)體零件之間的聯(lián)系是多對(duì)多。本題答案為A選項(xiàng)。
4.D屬性即對(duì)象所包含的信息,它在設(shè)計(jì)對(duì)象時(shí)確定,一般只能通過執(zhí)行對(duì)象的操作來改變。不同對(duì)象的同一屬性可以具有相同或不同的屬性值。例如,張三的年齡是20,李四的年齡是18,張三、李四是兩個(gè)不同的對(duì)象,他們共同的屬性”年齡”的值不同。
5.Alambda關(guān)鍵字用來定義匿名函數(shù)。格式為<函數(shù)名>=lambda<參數(shù)列表>:<表達(dá)式〉。本題中用來比較字符串大小,因?yàn)閍a>bb,所以輸出均為aa。本題選擇A選項(xiàng)。
6.AS&T返回一個(gè)新集合,包括同時(shí)在集合S和T中的元素。本題選擇A選項(xiàng)。
7.APylons是基于Python的一個(gè)Web開發(fā)框架的第三方庫,keras、TensorFlow及mxnet是Py-thon機(jī)器學(xué)習(xí)領(lǐng)域的第三方庫。本題選擇A選項(xiàng)。
8.CPython中循環(huán)包括兩種:遍歷循環(huán)和無限循環(huán)。遍歷循環(huán)使用保留字for依次提取遍歷結(jié)構(gòu)元素進(jìn)行處理;無限循環(huán)使用保留字while根據(jù)判斷條件執(zhí)行程序。\n循環(huán)結(jié)構(gòu)有兩個(gè)輔助循環(huán)控制保留字:break和continue。break用來跳出最內(nèi)層for或while循環(huán),脫離該循環(huán)后程序從循環(huán)后的代碼繼續(xù)執(zhí)行。continue用來結(jié)束當(dāng)前當(dāng)次循環(huán),即跳出循環(huán)體中下面尚未執(zhí)行的語句,但跳不出當(dāng)前循環(huán)。\npass:什么事也不做,只是空占位語句,是無運(yùn)算的占位語句,當(dāng)語法需要語句并且還沒有任何使用的語句可寫時(shí),就可以使用它。它通常用于為復(fù)合語句編寫一個(gè)空的主體。\n例如,如果想寫個(gè)無限循環(huán),每次迭代什么也不做,就寫個(gè)pass。pass是有意義的,例如,忽略try語句所捕獲的異常,以及定義帶屬性的空類對(duì)象,而該類實(shí)現(xiàn)的對(duì)象行為就像其他語言的結(jié)構(gòu)和記錄。\npass有時(shí)指的是“以后會(huì)填上”,只是暫時(shí)用于填充函數(shù)主體而已,無法保持函數(shù)體為空而不產(chǎn)生語法錯(cuò)誤,因此,可以使用pass來替代。\n兩者的區(qū)別是:continue語句只結(jié)束本次循環(huán),不終止整個(gè)循環(huán)的執(zhí)行,而break具備結(jié)束循環(huán)的能力。
9.Clen()函數(shù)用來獲取字符串的長度,所以length應(yīng)為14;title()函數(shù)是把字符串每個(gè)單詞的首字母變?yōu)榇髮?,所以S_title應(yīng)為”PythonlsGood”;索引的序號(hào)是從0開始的,所以s[1:6]應(yīng)為“ython”,即S_number為“ython”。本題選擇C選項(xiàng)。
10.CsnowNLP和loso是自然語言處理方向的第三方庫;random庫用于產(chǎn)生各種分布的偽隨機(jī)序列,是Python的標(biāo)準(zhǔn)庫。本題選擇C選項(xiàng)。
11.C異常指的是在程序運(yùn)行過程中發(fā)生的異常事件,通常是由外部問題(如硬件錯(cuò)誤、輸入錯(cuò)誤)所導(dǎo)致的。錯(cuò)誤是指導(dǎo)致系統(tǒng)不能按照用戶意圖工作的一切原因、事件。在程序設(shè)計(jì)過程中,由于某些錯(cuò)誤的存在,致使程序無法正常運(yùn)行,處理這些錯(cuò)誤以使程序正確運(yùn)行就稱為錯(cuò)誤處理。異常和錯(cuò)誤是完全不同的概念。本題選擇C選項(xiàng)。
12.C
13.A
14.C函數(shù)super()需要兩個(gè)實(shí)參,分別是子類名和對(duì)象self,為了幫助Python將父類和子類關(guān)聯(lián)起來,這些實(shí)參必不可少,所以C項(xiàng)錯(cuò)誤。
15.Acontinue語句只結(jié)束本次循環(huán),不終止整個(gè)循環(huán)的執(zhí)行,而break語句具備結(jié)束整個(gè)循環(huán)的能力。本題外層循環(huán)用來計(jì)數(shù),內(nèi)層循環(huán)用來遍歷字符串,當(dāng)滿足判斷條件時(shí),就會(huì)結(jié)束本次循環(huán)進(jìn)入下一次循環(huán),字符串遍歷完成之后,外層循環(huán)進(jìn)入下一次循環(huán)。本題選擇A選項(xiàng)。
16.B函數(shù)定義時(shí)的語法格式如下:def<函數(shù)名>(<非可選參數(shù)列表>,<可選參數(shù)>=<默認(rèn)值>):〈函數(shù)體〉return<返回值列表〉可選參數(shù)一般都放置在非可選參數(shù)的后面。本題代碼中,n為非可選參數(shù),fact(n)函數(shù)的功能為求n的階乘。s在函數(shù)內(nèi)部定義,為局部變量。根據(jù)range()函數(shù)的定義,range(l,n\n+l)的范圍是[l,n],不包含n+1。本題選擇B選項(xiàng)。
17.Crandom.choice(k)用于從序列的元素中隨機(jī)挑選一個(gè)元素;random.shuffle(k)用于將序列的所有元素隨機(jī)排序;random.getrandbits(k)用于生成一個(gè)k比特長度的隨機(jī)整數(shù);random.sample(k)用于隨機(jī)地從指定列表中提取出k個(gè)不同的元素。本題選擇C選項(xiàng)。
18.B在Python中,字符編碼以Unicode值存儲(chǔ)。chr(x)和ord(x)函數(shù)用于在單字符和Unicode值之間進(jìn)行轉(zhuǎn)換。chr(x)函數(shù)返回Unicode值對(duì)應(yīng)的字符,ord(x)函數(shù)返回單字符x對(duì)應(yīng)的Unicode值,如chr(1010)返回’c’,ord(”和”)返回21644。因此,選項(xiàng)C、D錯(cuò)誤。本題選擇B選項(xiàng)。
19.C保留字,也稱關(guān)鍵字,是編程語言內(nèi)部定義并保留使用的標(biāo)識(shí)符。Python3.x中有35個(gè)保留字,分別為\nand、as、assert、async、await、break、class、continue、def、del、elif、else、except、False、finally、for、from、global、if、import、in、is、lambda、None、nonlocal、not、or、pass、raise、return、True、try、while、with、yield。define\n不是Python語言關(guān)鍵字。本題選擇C選項(xiàng)。
20.B在Python中,文件讀取方法如下(f代表文件變量)。f.read():從文件中讀入整個(gè)文件內(nèi)容。f.readline():從文件中讀入一行內(nèi)容。f.readlineS():從文件中讀入所有行,以每行為元素形成一個(gè)列表。f.seek():改變當(dāng)前文件操作指針的位置。本題選擇B選項(xiàng)。
21.APython中組合數(shù)據(jù)類型包括元組、列表、字典和集合等。
22.Dturtle庫的home()函數(shù)用于設(shè)置當(dāng)前畫筆位置為原點(diǎn),朝向東。本題選擇D選項(xiàng)。
23.A
24.C學(xué)號(hào)是學(xué)生表S的主鍵,課號(hào)是課程表C的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個(gè)表能夠直接聯(lián)系且能唯一定義的學(xué)號(hào)和課號(hào),所以選擇C項(xiàng)。
25.B關(guān)系SC的主鍵為復(fù)合鍵(學(xué)號(hào),課程號(hào)),但明顯存在課程號(hào)→課程名,課程號(hào)→學(xué)分等,存在非主屬性對(duì)主屬性的部分依賴。對(duì)關(guān)系SC進(jìn)行如下的分解,就可以消除對(duì)非主屬性的部分依賴,滿足第二范式:S(S#,Sn),C(C#,Cn,Cr),SC(S#,C#,G)。本題選擇B選項(xiàng)。
26.A一張售貨單可以有多種商品的記錄,一種商品也可以出現(xiàn)在多張售貨單上。因此售貨單和商品之間的聯(lián)系是多對(duì)多。
27.Bappend()是向列表元素的結(jié)尾增加元素。
28.AB項(xiàng)是一個(gè)微型的面向文檔的數(shù)據(jù)庫,C項(xiàng)是Python的數(shù)字信號(hào)處理包,D項(xiàng)是Python的網(wǎng)絡(luò)信息挖掘模塊。
29.D
30.C
31.Y
32.Y
33.Y
34.Y
35.Y
36.Y
37.Y
38.Y
39.Y
40.N
41.min()
42.['0','1','2']
43.31
44.True
45.[1,3,2,3]
46.True
47.{1:2,2:3}
48.search()
49.0,1,2,
50.'[1,2,3]'
51.(1)fi=open("小女孩.txt","r")\r\nfo=open(”PY301—1.txt”,”w”)\r\ntxt=fi.read()\r\nd={}\r\nexclude=",。?。俊ⅲǎ尽?lt;>《》=:+-*-“”…"\r\nforwordintxt:\r\n
ifwordinexclude:\r\n
continue\r\n
else:\r\n
d[word]=d.get(word,0)+1\r\nls=list(d.items())\r\nls.sort(key=lambdax:x[1],reverse=True)\r\n
fo.write(”{}:{}”format(ls[0][0],ls[0][1]))\r\n
fo.close()\r\n
(2)fi=open("小女孩.txt","r")\r\n
fo=open(”PY301—2.txt”,”w”)\r\n
txt=fi.read()\r\n
d={}\r\n
forwordintxt;\r\n
d[word]=d.get(word,0)+1\r\ndeld["\\n"]\r\n
ls=list(d.items())\r\n
ls.sort(key=lambdax:x[1],reverse=True)#此行可以按照詞頻由高到低排序\r\n
foriinrange(10);\r\n
fo.write(ls[i][0])\r\n
fi.close()\r\n
fo.close()
(3)fi=open("小女孩.txt","r")\r\nfo=open(小女孩-頻次排序。txt","w")\r\ntxt=fi.read()\r\nd={}\r\nforwordintxt\r\nd[word]=d.get(word,0)+1\r\ndeld[""]\r\ndeld["\\n"]\r\nls=list(d.items())\r\nls.sort(key=lambdax:x[1],reverse=True)#此行可以按照詞頻由高到低排序\r\nforiinrange(len(ls)):\r\nls[i]="{}:{}".format(ls[i][0],ls[i][1])\r\nfo.write(",".join(ls))\r\nfi.close()\r\nfo.close()(1)首先使用open()函數(shù)打開文件“小女孩.txt”,把文件的內(nèi)容通過read()方法保存到變量txt中;定義一個(gè)字符串變量exclude用來存放標(biāo)點(diǎn)符號(hào)。然后用for循環(huán)遍歷txt中的每個(gè)字符(word),并使用if條件進(jìn)行判斷,若該字符在變量exclude中,說明該字符為標(biāo)點(diǎn)符號(hào),跳出該循環(huán);否則將該字符作為字典d中的一個(gè)鍵,該鍵所對(duì)應(yīng)的值置為1,在后面循環(huán)中只要遍歷的字符與該鍵相同,就將該鍵對(duì)應(yīng)的值加1。\r\n
ls=list(d.items())表示將字典類型變成列表類型,字典中的每個(gè)鍵值對(duì)對(duì)應(yīng)列表中的一個(gè)元組。隨后,對(duì)列表ls中的元組進(jìn)行排序,用到sort()方法,參數(shù)“key=lambda.x:x[1]”中l(wèi)ambda是一個(gè)隱函數(shù),是固定寫法,不能寫成別的單詞;x表示列表中的一個(gè)元素,在這里表示一個(gè)元組,x只是臨時(shí)起的一個(gè)名字,也可以使用任意的名字;x[1]表示以元組中第二個(gè)元素排序。sort()方法的第二參數(shù)表示是按哪種方式排序,若為“reverse=True”表示按降序排序;若該參數(shù)缺省或“reverse=False”,表示按升序排序。\r\n
排序后,列表ls中第一個(gè)元組中即為頻次最高的中文字符和頻次,ls[0][0]表示該字符,ls[0][1]表示其頻次,將這兩個(gè)元素通過“:”連接寫入文件“PY301—1.txt”中。\r\n
(2)問題2和問題1的區(qū)別在于統(tǒng)計(jì)的字符包含標(biāo)點(diǎn)符號(hào),因此不需要設(shè)置字符串變量exclude和使用if條件語句進(jìn)行判斷;題目要求不包含回車符,因此需要使用del刪除字典d中鍵為”\n”的元素。最后要無間隔輸出前10個(gè)頻次最高的字符,需要對(duì)排序好的列表ls進(jìn)行for循環(huán)遍歷,找到前10個(gè)元組的第一個(gè)元素,并將其直接寫入到文件“PY301—2.txt”中。\r\n
(3)問題3和問題2的區(qū)別在于統(tǒng)計(jì)的字符中不能包含空格,因此需要使用del刪除字典d中鍵為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度農(nóng)業(yè)科技園區(qū)設(shè)施租賃協(xié)議4篇
- 啟迪未來點(diǎn)亮夢(mèng)想
- 2025版收入證明模板制作與市場(chǎng)推廣合作合同3篇
- 2025年全球及中國氣體激光清洗設(shè)備行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國住宅用灌溉噴水閥行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球?qū)櫸锔闻K功能補(bǔ)充劑行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球印章套件行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球光伏發(fā)電箱變行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 施工承包合同標(biāo)準(zhǔn)模板
- 2025版?zhèn)€人購房貸款還款順序合同模板3篇
- 小學(xué)六年級(jí)數(shù)學(xué)上冊(cè)《簡(jiǎn)便計(jì)算》練習(xí)題(310題-附答案)
- 2023-2024學(xué)年度人教版一年級(jí)語文上冊(cè)寒假作業(yè)
- 培訓(xùn)如何上好一堂課
- 高教版2023年中職教科書《語文》(基礎(chǔ)模塊)下冊(cè)教案全冊(cè)
- 2024醫(yī)療銷售年度計(jì)劃
- 稅務(wù)局個(gè)人所得稅綜合所得匯算清繳
- 人教版語文1-6年級(jí)古詩詞
- 上學(xué)期高二期末語文試卷(含答案)
- 軟件運(yùn)維考核指標(biāo)
- 空氣動(dòng)力學(xué)仿真技術(shù):格子玻爾茲曼方法(LBM)簡(jiǎn)介
- 比較思想政治教育學(xué)
評(píng)論
0/150
提交評(píng)論