![廣東省中山市全國計算機等級考試Python語言程序設(shè)計重點匯總(含答案)_第1頁](http://file4.renrendoc.com/view/b50410ba9731419a76933054eb6021c9/b50410ba9731419a76933054eb6021c91.gif)
![廣東省中山市全國計算機等級考試Python語言程序設(shè)計重點匯總(含答案)_第2頁](http://file4.renrendoc.com/view/b50410ba9731419a76933054eb6021c9/b50410ba9731419a76933054eb6021c92.gif)
![廣東省中山市全國計算機等級考試Python語言程序設(shè)計重點匯總(含答案)_第3頁](http://file4.renrendoc.com/view/b50410ba9731419a76933054eb6021c9/b50410ba9731419a76933054eb6021c93.gif)
![廣東省中山市全國計算機等級考試Python語言程序設(shè)計重點匯總(含答案)_第4頁](http://file4.renrendoc.com/view/b50410ba9731419a76933054eb6021c9/b50410ba9731419a76933054eb6021c94.gif)
![廣東省中山市全國計算機等級考試Python語言程序設(shè)計重點匯總(含答案)_第5頁](http://file4.renrendoc.com/view/b50410ba9731419a76933054eb6021c9/b50410ba9731419a76933054eb6021c95.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
廣東省中山市全國計算機等級考試Python語言程序設(shè)計重點匯總(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.以下選項中不是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)系中,實體供應(yīng)商和實體零件之間的聯(lián)系是()。
A.多對多B.一對一C.多對一D.一對多
4.下面描述錯誤的是()。
A.對象一定有標(biāo)識B.對象一定有屬性和方法(或操作)C.對象具有封裝性D.不同對象的同一屬性一定有相同的屬性值
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是兩個集合,對S&T的描述正確的是()。
A.S和T的交運算,包括同時在集合S和T中的元素
B.S和T的并運算,包括在集合S和T中的所有元素
C.S和T的差運算,包括在集合S但不在T中的元素
D.S和T的補運算,包括S和T中的幾個非相同元素
7.不屬于Python機器學(xué)習(xí)第三方庫的是()。
A.PylonsB.TensorFlowC.kernsD.mxnet
8.以下關(guān)于Python循環(huán)結(jié)構(gòu)的描述中,錯誤的是()。
A.while循環(huán)使用關(guān)鍵字continue結(jié)束本次循環(huán)
B.while循環(huán)可以使用保留字break和continue
C.while循環(huán)也叫遍歷循環(huán),用來遍歷序列類型中元素,默認(rèn)提取每個元素并執(zhí)行一次循環(huán)體
D.while循環(huán)使用pass語句,則什么事也不做,只是空的占位語句
9.對于以下程序的描述,正確的是()。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機器學(xué)習(xí)方向的第三方庫的是()。
A.randomB.SnowNLPC.TensorflowD.loso
11.以下描述錯誤的是()。
A.Python是一門動態(tài)的解釋型語言
B.當(dāng)Python腳本程序發(fā)生異常時,如果不處理,運行結(jié)果不可預(yù)測
C.編程語言中的異常和錯誤是完全相同的概念
D.Python通過try、except等保留字提供異常處理功能
12.執(zhí)行以下代碼的結(jié)果是()A.1B.2C.5D.8
13.使用一個還未賦予對象的變量錯誤提示是()
A.NameErrorB.KeyErrorC.SystemErrorD.ReferenceError
14.下面關(guān)于Python中繼承的說法錯誤的是()。
A.創(chuàng)建子類實例時,Python首先需要完成的任務(wù)是給父類的所有屬性賦值
B.Python中,super()是一個特殊函數(shù),幫助Python將父類和子類關(guān)聯(lián)起來
C.函數(shù)super()只需要一個實參,即子類名
D.對于父類的方法,可對其進(jìn)行重寫,即在子類中定義一個這樣的方法,它要與重寫的父類名方法同名
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.生成一個k比特長度的隨機整數(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值存儲
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.浮點數(shù)類型B.列表類型C.字典類型D.字符串類型
22.以下關(guān)于turtle庫的描述,錯誤的是()。
A.在importturtle之后,可以用turtle.circle()語句畫一個圓圈
B.seth(x)是setheading(x)函數(shù)的別名,其作用是讓畫筆旋轉(zhuǎn)x角度
C.可以用importturtle來導(dǎo)入turtle庫函數(shù)
D.home()函數(shù)用于設(shè)置當(dāng)前畫筆位置為原點,方向朝上
23.類中的實例方法,總會有一個參數(shù)()
A.selfB.clsC.@staticmethodD.@classmethod
24.設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學(xué)號,課號,成績),則表SC的關(guān)鍵字(鍵或碼)為()。
A.課號,成績B.學(xué)號,成績C.學(xué)號,課號D.學(xué)號,姓名,成績
25.定義學(xué)生選修課程的關(guān)系模式如下:SC(S#,Sn,C#,Cn,G,Cr)(其屬性分別為學(xué)號、姓名、課程號、課程名、成績、學(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.多對多B.一對多C.多對一D.一對一
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.異常報錯
30.正則表達(dá)式中的特殊字符,匹配字母,數(shù)字,下劃線()
A.\dB.\DC.\wD.\s
二、判斷題(10題)31.Python采用的是基于值得自動內(nèi)存管理方式。
A.是B.否
32.形參可以看做是函數(shù)內(nèi)部的局部變量,函數(shù)運行結(jié)束之后形參就不可訪問了。
A.是B.否
33.Python代碼可以內(nèi)嵌在asp文件中。
A.是B.否
34.相同內(nèi)容的字符串使用不同的編碼格式進(jìn)行編碼得到的結(jié)果并不完全相同。
A.是B.否
35.當(dāng)作為條件表達(dá)式時,[]與None等價。
A.是B.否
36.元組可以作為字典的“鍵”。
A.是B.否
37.使用del命令或者列表對象的remove()方法刪除列表中元素時會影響列表中部分元素的索引。
A.是B.否
38.Python標(biāo)準(zhǔn)庫os中的方法exists()可以用來測試給定路徑的文件是否存在。
A.是B.否
39.同一個列表對象中的元素類型可以各不相同。
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的______________方法用來在整個字符串中進(jìn)行指定模式的匹配。
49.代碼foriinrange(3):print(i,end=',')的執(zhí)行結(jié)果為_________________。
50.表達(dá)式'%s'%[1,2,3]的值為_____________。
四、操作題(3題)51.考生文件夾下存在3個Python源文件,分別對應(yīng)3個問題;1個文本文件,作為本題目輸入數(shù)據(jù),請按照源文件內(nèi)部說明修改代碼,實現(xiàn)以下功能:
《賣火柴的小女孩》是丹麥童話故事作家安徒生的一篇童話故事,發(fā)表于1846年。主要講了一個賣火柴的小女孩在富人闔家歡樂、舉杯共慶的大年夜凍死在街頭的故事。這里給出《賣火柴的小女孩》的一個網(wǎng)絡(luò)版本文件,文件名為“小女孩.txt”。問題1:在PY301—1.py文件中修改代碼,對“小女孩.txt”文件進(jìn)行字符頻次統(tǒng)計,輸出頻次最高的中文字符(不包含標(biāo)點符號)及其頻次,字符與頻次之間采用英文冒號”:”分隔,將輸出結(jié)果保存在考生文件夾下,命名為"PY301—1.txt"。示例格式如下:的:83
試題程序:#以下代碼為提示框架
#請在…處使用一行或多行代碼替換
#請在________處使用一行代碼替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準(zhǔn)
fo=open(”PY301—1.txt”,”w”)
d={}
fo.write(”{}:{}”.format(__________))
fo.close()問題2:在PY301—2.py文件中修改代碼,對“小女孩.txt”文件進(jìn)行字符頻次統(tǒng)計,按照頻次由高到低,輸出前10個頻次最高的字符,不包含回車符,字符之間無間隔,連續(xù)輸出,將輸出結(jié)果保存在考生文件夾下,命名為“PY301—2.txt”。示例格式如下:,的一…(后略,共10個字符)
試題程序:
#以下代碼為提示框架
#請在…處使用一行或多行代碼替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準(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文件中修改代碼,對“小女孩.txt”文件進(jìn)行字符頻次統(tǒng)計,將所有字符按照頻次從高到低排序,字符包括中文、標(biāo)點、英文等符號,但不包含空格和回車。將排序后的字符及頻次輸出到考生文件夾下,文件名為“小女孩一頻次排序.txt”。字符與頻次之間采用英文冒號”:”分隔,各字符之間采用英文逗號”,”分隔,參考CSV格式,最后無逗號,文件內(nèi)部示例格式如下:
著:30,那:29,火:29
試題程序:
#以下代碼為提示框架
#請在…處使用一行或多行代碼替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準(zhǔn)
d={}
ls=list(d.items())
ls.sort(key=lambdax:x[1],reverse=True)}}#此行可以按照詞頻由高到低排序
52.考生文件夾下存在一個文件“PY301.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請按照源文件內(nèi)部說明修改代碼,實現(xiàn)以下功能。設(shè)計一個猜字母的程序,程序隨機給出26個小寫字母中的一個,答題者輸入猜測的字母,若輸入的不是26個小寫字母之一,讓用戶重新輸入;若字母在答案之前或之后,程序給出相應(yīng)正確提示;若答錯5次,則答題失敗并退出游戲;若回答正確,程序輸出回答次數(shù)并退出游戲。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)
53.考生文件夾下存在一個文件“PY103.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。從鍵盤輸入一句話,用jieba庫進(jìn)行分詞后,將切分的詞組按照原話逆序輸出到屏幕上,詞組中間沒有空格。示例如下。
輸入:我愛老師輸出:老師愛我
試題程序:#請在_____處使用一行代碼或表達(dá)式替換
#注意:請不要修改其他已給出代碼
importjiebatxt=input(”請輸入一段中文文本:”)_____(1)_____foriinls[::-1]:_____(2)_____
參考答案
1.Cwrite():向文件寫入一個字符或字節(jié)流;writelines():將一個元素為字符串的列表整體寫入文件;read():從文件中讀入整個文件內(nèi)容。
2.A
3.A一家供應(yīng)商可提供多種零件,一種零件也可被多家供應(yīng)商提供。所以實體供應(yīng)商和實體零件之間的聯(lián)系是多對多。本題答案為A選項。
4.D屬性即對象所包含的信息,它在設(shè)計對象時確定,一般只能通過執(zhí)行對象的操作來改變。不同對象的同一屬性可以具有相同或不同的屬性值。例如,張三的年齡是20,李四的年齡是18,張三、李四是兩個不同的對象,他們共同的屬性”年齡”的值不同。
5.Alambda關(guān)鍵字用來定義匿名函數(shù)。格式為<函數(shù)名>=lambda<參數(shù)列表>:<表達(dá)式〉。本題中用來比較字符串大小,因為aa>bb,所以輸出均為aa。本題選擇A選項。
6.AS&T返回一個新集合,包括同時在集合S和T中的元素。本題選擇A選項。
7.APylons是基于Python的一個Web開發(fā)框架的第三方庫,keras、TensorFlow及mxnet是Py-thon機器學(xué)習(xí)領(lǐng)域的第三方庫。本題選擇A選項。
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)有兩個輔助循環(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:什么事也不做,只是空占位語句,是無運算的占位語句,當(dāng)語法需要語句并且還沒有任何使用的語句可寫時,就可以使用它。它通常用于為復(fù)合語句編寫一個空的主體。\n例如,如果想寫個無限循環(huán),每次迭代什么也不做,就寫個pass。pass是有意義的,例如,忽略try語句所捕獲的異常,以及定義帶屬性的空類對象,而該類實現(xiàn)的對象行為就像其他語言的結(jié)構(gòu)和記錄。\npass有時指的是“以后會填上”,只是暫時用于填充函數(shù)主體而已,無法保持函數(shù)體為空而不產(chǎn)生語法錯誤,因此,可以使用pass來替代。\n兩者的區(qū)別是:continue語句只結(jié)束本次循環(huán),不終止整個循環(huán)的執(zhí)行,而break具備結(jié)束循環(huán)的能力。
9.Clen()函數(shù)用來獲取字符串的長度,所以length應(yīng)為14;title()函數(shù)是把字符串每個單詞的首字母變?yōu)榇髮?,所以S_title應(yīng)為”PythonlsGood”;索引的序號是從0開始的,所以s[1:6]應(yīng)為“ython”,即S_number為“ython”。本題選擇C選項。
10.CsnowNLP和loso是自然語言處理方向的第三方庫;random庫用于產(chǎn)生各種分布的偽隨機序列,是Python的標(biāo)準(zhǔn)庫。本題選擇C選項。
11.C異常指的是在程序運行過程中發(fā)生的異常事件,通常是由外部問題(如硬件錯誤、輸入錯誤)所導(dǎo)致的。錯誤是指導(dǎo)致系統(tǒng)不能按照用戶意圖工作的一切原因、事件。在程序設(shè)計過程中,由于某些錯誤的存在,致使程序無法正常運行,處理這些錯誤以使程序正確運行就稱為錯誤處理。異常和錯誤是完全不同的概念。本題選擇C選項。
12.C
13.A
14.C函數(shù)super()需要兩個實參,分別是子類名和對象self,為了幫助Python將父類和子類關(guān)聯(lián)起來,這些實參必不可少,所以C項錯誤。
15.Acontinue語句只結(jié)束本次循環(huán),不終止整個循環(huán)的執(zhí)行,而break語句具備結(jié)束整個循環(huán)的能力。本題外層循環(huán)用來計數(shù),內(nèi)層循環(huán)用來遍歷字符串,當(dāng)滿足判斷條件時,就會結(jié)束本次循環(huán)進(jìn)入下一次循環(huán),字符串遍歷完成之后,外層循環(huán)進(jìn)入下一次循環(huán)。本題選擇A選項。
16.B函數(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選項。
17.Crandom.choice(k)用于從序列的元素中隨機挑選一個元素;random.shuffle(k)用于將序列的所有元素隨機排序;random.getrandbits(k)用于生成一個k比特長度的隨機整數(shù);random.sample(k)用于隨機地從指定列表中提取出k個不同的元素。本題選擇C選項。
18.B在Python中,字符編碼以Unicode值存儲。chr(x)和ord(x)函數(shù)用于在單字符和Unicode值之間進(jìn)行轉(zhuǎn)換。chr(x)函數(shù)返回Unicode值對應(yīng)的字符,ord(x)函數(shù)返回單字符x對應(yīng)的Unicode值,如chr(1010)返回’c’,ord(”和”)返回21644。因此,選項C、D錯誤。本題選擇B選項。
19.C保留字,也稱關(guān)鍵字,是編程語言內(nèi)部定義并保留使用的標(biāo)識符。Python3.x中有35個保留字,分別為\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選項。
20.B在Python中,文件讀取方法如下(f代表文件變量)。f.read():從文件中讀入整個文件內(nèi)容。f.readline():從文件中讀入一行內(nèi)容。f.readlineS():從文件中讀入所有行,以每行為元素形成一個列表。f.seek():改變當(dāng)前文件操作指針的位置。本題選擇B選項。
21.APython中組合數(shù)據(jù)類型包括元組、列表、字典和集合等。
22.Dturtle庫的home()函數(shù)用于設(shè)置當(dāng)前畫筆位置為原點,朝向東。本題選擇D選項。
23.A
24.C學(xué)號是學(xué)生表S的主鍵,課號是課程表C的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個表能夠直接聯(lián)系且能唯一定義的學(xué)號和課號,所以選擇C項。
25.B關(guān)系SC的主鍵為復(fù)合鍵(學(xué)號,課程號),但明顯存在課程號→課程名,課程號→學(xué)分等,存在非主屬性對主屬性的部分依賴。對關(guān)系SC進(jìn)行如下的分解,就可以消除對非主屬性的部分依賴,滿足第二范式:S(S#,Sn),C(C#,Cn,Cr),SC(S#,C#,G)。本題選擇B選項。
26.A一張售貨單可以有多種商品的記錄,一種商品也可以出現(xiàn)在多張售貨單上。因此售貨單和商品之間的聯(lián)系是多對多。
27.Bappend()是向列表元素的結(jié)尾增加元素。
28.AB項是一個微型的面向文檔的數(shù)據(jù)庫,C項是Python的數(shù)字信號處理包,D項是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=",。???、()【】<>《》=:+-*-“”…"\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中;定義一個字符串變量exclude用來存放標(biāo)點符號。然后用for循環(huán)遍歷txt中的每個字符(word),并使用if條件進(jìn)行判斷,若該字符在變量exclude中,說明該字符為標(biāo)點符號,跳出該循環(huán);否則將該字符作為字典d中的一個鍵,該鍵所對應(yīng)的值置為1,在后面循環(huán)中只要遍歷的字符與該鍵相同,就將該鍵對應(yīng)的值加1。\r\n
ls=list(d.items())表示將字典類型變成列表類型,字典中的每個鍵值對對應(yīng)列表中的一個元組。隨后,對列表ls中的元組進(jìn)行排序,用到sort()方法,參數(shù)“key=lambda.x:x[1]”中l(wèi)ambda是一個隱函數(shù),是固定寫法,不能寫成別的單詞;x表示列表中的一個元素,在這里表示一個元組,x只是臨時起的一個名字,也可以使用任意的名字;x[1]表示以元組中第二個元素排序。sort()方法的第二參數(shù)表示是按哪種方式排序,若為“reverse=True”表示按降序排序;若該參數(shù)缺省或“reverse=False”,表示按升序排序。\r\n
排序后,列表ls中第一個元組中即為頻次最高的中文字符和頻次,ls[0][0]表示該字符,ls[0][1]表示其頻次,將這兩個元素通過“:”連接寫入文件“PY301—1.txt”中。\r\n
(2)問題2和問題1的區(qū)別在于統(tǒng)計的字符包含標(biāo)點符號,因此不需要設(shè)置字符串變量exclude和使用if條件語句進(jìn)行判斷;題目要求不包含回車符,因此需要使用del刪除字典d中鍵為”\n”的元素。最后要無間隔輸出前10個頻次最高的字符,需要對排序好的列表ls進(jìn)行for循環(huán)遍歷,找到前10個元組的第一個元素,并將其直接寫入到文件“PY301—2.txt”中。\r\n
(3)問題3和問題2的區(qū)別在于統(tǒng)計的字符中不能包含空格,因此需要使用del刪除字典d中鍵為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基建科工程施工范本合同
- 三農(nóng)村人居環(huán)境整治實施方案
- 公務(wù)車輛定點維修合同
- 法人向公司借款合同
- 經(jīng)典房地產(chǎn)開發(fā)的合同
- 編程語言高級應(yīng)用作業(yè)指導(dǎo)書
- 養(yǎng)殖業(yè)專業(yè)作業(yè)指導(dǎo)書
- 企業(yè)智能核能技術(shù)與應(yīng)用作業(yè)指導(dǎo)書
- 軟件技術(shù)開發(fā)與測試作業(yè)指導(dǎo)書
- 高港區(qū)二手房買賣合同
- 小學(xué)六年級數(shù)學(xué)上冊《簡便計算》練習(xí)題(310題-附答案)
- 青海省西寧市海湖中學(xué)2025屆中考生物仿真試卷含解析
- 2024年河南省《輔警招聘考試必刷500題》考試題庫及答案【全優(yōu)】
- 2024年中國養(yǎng)老產(chǎn)業(yè)商學(xué)研究報告-銀發(fā)經(jīng)濟(jì)專題
- 高教版2023年中職教科書《語文》(基礎(chǔ)模塊)下冊教案全冊
- 人教版英語七年級上冊閱讀理解專項訓(xùn)練16篇(含答案)
- 幼小銜接學(xué)拼音
- 有限空間辨識參考目錄圖片對照版
- 成本會計第一章總論
- 橋式起重機試驗項目及其內(nèi)容方法和要求
- GA∕T 1193-2014 人身損害誤工期、護(hù)理期、營養(yǎng)期評定
評論
0/150
提交評論