版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
山西省忻州市全國計算機等級考試Python語言程序設(shè)計專項練習(含答案)學校:________班級:________姓名:________考號:________
一、單選題(30題)1.正則表達式中的特殊字符,匹配字母,數(shù)字,下劃線()
A.\dB.\DC.\wD.\s
2.某樹的度為3,且有9個度為3的節(jié)點,5個度為1的節(jié)點,但沒有度為2的節(jié)點。則該樹總的節(jié)點數(shù)為()。
A.32B.14C.33D.19
3.Python中匿名函數(shù)的關(guān)鍵字是()。
A.lambdaB.globalC.withD.I)ass
4.下面屬于Python的標準庫是()。
A.turtleB.jiebaC.scipyD.Flask
5.下列關(guān)于棧的敘述正確的是()。
A.棧按“先進先出”的原則組織數(shù)據(jù)B.棧按“先進后出”的原則組織數(shù)據(jù)C.只能在棧底插入數(shù)據(jù)D.不能刪除數(shù)據(jù)
6.文件exam.txt與以下程序在同一目錄下,其內(nèi)容是一段文本bigBen,以下程序的輸出結(jié)果是()。f=open(“exam.txt”)print(f)f.close()
A.bigBenB.exam.txtC.<_io.TextIOWrapper…>D.exam
7.以下代碼的輸出結(jié)果是()。CLis=list(range(5))print(5inCLis)
A.TrueB.FalseC.0D.一1
8.s=‘1234567890’,以下表示‘1234’的是()。A.s[1:5]B.s[0:3]C.s[-10:-5]D.s[0:4]
9.下面代碼的輸出結(jié)果是()。deffun(x,y,z):u=x+y—zprint(u)fun(1+2j,5,4一1j)
A.NameErrorB.(2+3j)C.2D.3j
10.以下關(guān)于Python函數(shù)的描述中,正確的是()。
A.函數(shù)eval()可以用于數(shù)值表達式求值,例如eval(”2*3+1”)
B.Python中,def和return是函數(shù)必須使用的保留字
C.Python函數(shù)定義中沒有對參數(shù)指定類型,這說明參數(shù)在函數(shù)中可以當作任意類型使用
D.一個函數(shù)中只允許有一條return語句
11.耦合性和內(nèi)聚性是對模塊獨立性度量的兩個標準,下列敘述中正確的是()。
A.提高耦合性降低內(nèi)聚性有利于提高模塊的獨立性
B.降低耦合性提高內(nèi)聚性有利于提高模塊的獨立性
C.耦合性是指一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度
D.內(nèi)聚性是指模塊間互相連接的緊密程度
12.以下關(guān)于字符串的描述正確的是()。
A.字符應(yīng)視為長度為1或2的字符串
B.字符串中的字符可進行數(shù)學運算,但進行數(shù)學運算的字符必須為數(shù)字
C.在三引號字符串中可包含換行回車等特殊的字符
D.字符串可以進行切片賦值
13.在Python中,不屬于機器學習領(lǐng)域第三方庫的是()。
A.TensorFlowB.timeC.pytorchD.mxnet
14.在Python語言中,使用for…in方式形成的循環(huán)不能遍歷的類型是()。
A.復數(shù)B.列表C.字典D.字符串
15.下面代碼的意義是()。>>>car='BWM’>>>Id(car)
A.查看變量所占的位數(shù)B.轉(zhuǎn)換成布爾值C.查看變量在內(nèi)存中的地址D.把變量中的元素隨機排列
16.以下代碼的輸出結(jié)果是()。CLis=list(range(5))print(5inCLis)
A.TrueB.FalseC.0D.-l
17.定義學生的關(guān)系模式如下:S(S#,Sn,Sex,Age,D#,Da(其屬性分別為學號、姓名、性別、年齡、所屬學院、院長)該關(guān)系滿足的最高范式是()。
A.1NFB.2NFC.3NFD.BCNF
18.以下不是Python文件讀寫方法的是()。
A.writelineB.readlineC.readD.write
19.用戶自定義類時,如果想讓該類實例對象被print調(diào)用時返回類的特定信息,就必須實現(xiàn)Python魔術(shù)方法中的()A.initB.strC.repD.cmp
20.下面描述錯誤的是()。
A.對象一定有標識B.對象一定有屬性和方法(或操作)C.對象具有封裝性D.不同對象的同一屬性一定有相同的屬性值
21.以下程序的輸出結(jié)果是()。foriinrange(3):print(i,end=‘,’)A.0,1,2B.0,1,2,C.1,2,3D.1,2,3,
22.以下關(guān)于Python的描述正確的是()。
A.字典的創(chuàng)建必須使用dict()函數(shù)
B.列表和字符串屬于序列,但元組不屬于序列
C.Python只有一種內(nèi)置的映射類型,就是字典
D.字符串可以進行切片并賦值
23.以下屬于Python的導入語句的是()。
A.classB.returnC.importD.print
24.下列哪個語句在Python中是非法的?()
A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y
25.下列敘述中正確的是()。
A.棧是一種先進先出的線性表B.隊列是一種后進先出的線性表C.棧與隊列都是非線性結(jié)構(gòu)D.以上三種說法都不對
26.下面說法錯誤的是()。
A.在UTF-8編碼中一個漢字需要占用3個字節(jié)
B.在GBK和CP936編碼中一個漢字需要2個字節(jié)
C.Python運算符%不僅可以用來求余數(shù),還可以用來格式化字符串
D.Python字符串方法replace()對字符串進行原地修改
27.結(jié)構(gòu)化程序設(shè)計的基本原則不包括A.多態(tài)性B.自頂向下C.模塊化D.逐步求精
28.下面敘述中錯誤的是()。
A.軟件測試的目的是發(fā)現(xiàn)錯誤并改正錯誤
B.對被調(diào)試的程序進行“錯誤定位”是程序調(diào)試的必要步驟
C.程序調(diào)試通常也稱為Debug
D.軟件測試應(yīng)嚴格執(zhí)行測試計劃,排除測試的隨意性
29.下面代碼的輸出結(jié)果為()。foriinrange(8):ifi%2!=1:continueelse:print(i,end=”,”)
A.0,B.1,C.1,3,5,7,D.0,2,4,6,
30.以下代碼的輸出結(jié)果是()。forsin”HelloWorld”:ifs==”W”:continueprint(s,end=””)
A.WorldB.HelloC.HelloorldD.HelloWorld
二、判斷題(10題)31.在Python中定義類時,如果某個成員名稱前有2個下劃線則表示是私有成員。A.是B.否
32.調(diào)用函數(shù)時,在實參前面加一個型號*表示序列解包。A.是B.否
33.使用del命令或者列表對象的remove()方法刪除列表中元素時會影響列表中部分元素的索引。
A.是B.否
34.已知A和B是兩個集合,并且表達式AB的值一定為True。
A.是B.否
35.不同作用域中的同名變量之間互相不影響,也就是說,在不同的作用域內(nèi)可以定義同名的變量。
A.是B.否
36.定義函數(shù)時,即使該函數(shù)不需要接收任何參數(shù),也必須保留一對空的圓括號來表示這是一個函數(shù)。
A.是B.否
37.在編寫函數(shù)時,建議首先對形參進行類型檢查和數(shù)值范圍檢查之后再編寫功能代碼,或者使用異常處理結(jié)構(gòu),盡量避免代碼拋出異常而導致程序崩潰。
A.是B.否
38.生成器推導式比列表推導式具有更高的效率,推薦使用。
A.是B.否
39.Python變量使用前必須先聲明,并且一旦聲明就不能再當前作用域內(nèi)改變其類型。
A.是B.否
40.二進制文件不能使用記事本程序打開。
A.是B.否
三、填空題(10題)41.表達式'%s'%65==str(65)的值為_____________。
42.已知x=[[1,3,3],[2,3,1]],那么表達式sorted(x,key=lambdaitem:(item[1],-item[2]))的值為____________________________________。
43.Python語句list(range(1,10,3))執(zhí)行結(jié)果為___________________。
44.已知x=[[1]]*3,那么執(zhí)行語句x[0][0]=5之后,變量x的值為________________。
45.使用pip工具把本機已安裝的Python擴展庫及版本信息輸出到文本文件requirements.txt中的完整命令是__________。
46.表達式len(range(1,10))的值為___________。
47.查看變量類型的Python內(nèi)置函數(shù)是________________。
48.表達式'abc'in('abcdefg')的值為______________。
49.以3為實部4為虛部,Python復數(shù)的表達形式為___________或________。
50.已知x=[1,2,3,2,3],執(zhí)行語句x.pop()之后,x的值為_____________。
四、操作題(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”文件進行字符頻次統(tǒng)計,輸出頻次最高的中文字符(不包含標點符號)及其頻次,字符與頻次之間采用英文冒號”:”分隔,將輸出結(jié)果保存在考生文件夾下,命名為"PY301—1.txt"。示例格式如下:的:83
試題程序:#以下代碼為提示框架
#請在…處使用一行或多行代碼替換
#請在________處使用一行代碼替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準
fo=open(”PY301—1.txt”,”w”)
d={}
fo.write(”{}:{}”.format(__________))
fo.close()問題2:在PY301—2.py文件中修改代碼,對“小女孩.txt”文件進行字符頻次統(tǒng)計,按照頻次由高到低,輸出前10個頻次最高的字符,不包含回車符,字符之間無間隔,連續(xù)輸出,將輸出結(jié)果保存在考生文件夾下,命名為“PY301—2.txt”。示例格式如下:,的一…(后略,共10個字符)
試題程序:
#以下代碼為提示框架
#請在…處使用一行或多行代碼替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準
fo=open(”PY301一2.txt”,“w”)d={}ls=list(d.items())
ls.sort(key=lambdax:x[1],reverse=True)#此行可以按照詞頻由高到低排序
問題3:在PY301一3.py文件中修改代碼,對“小女孩.txt”文件進行字符頻次統(tǒng)計,將所有字符按照頻次從高到低排序,字符包括中文、標點、英文等符號,但不包含空格和回車。將排序后的字符及頻次輸出到考生文件夾下,文件名為“小女孩一頻次排序.txt”。字符與頻次之間采用英文冒號”:”分隔,各字符之間采用英文逗號”,”分隔,參考CSV格式,最后無逗號,文件內(nèi)部示例格式如下:
著:30,那:29,火:29
試題程序:
#以下代碼為提示框架
#請在…處使用一行或多行代碼替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準
d={}
ls=list(d.items())
ls.sort(key=lambdax:x[1],reverse=True)}}#此行可以按照詞頻由高到低排序
52.考生文件夾下存在一個文件“PY202.Py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改,請在該文件中編寫代碼,以實現(xiàn)如下功能。用鍵盤輸入一組人員的姓名、性別、年齡等信息,信息間采用空格分隔,每個人的信息為一行,按鍵結(jié)束輸入。示例格式如下。張猛男35楊青女18汪海男26孫倩女22計算并輸出這組人員的平均年齡(保留1位小數(shù))和其中女性人數(shù),結(jié)果保存在考生文件夾下,命名為“PY202.txt”。格式如下。平均年齡是25.2女性人數(shù)是2試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準fo=open("PY202.txt","w”)data=input("請輸入一組人員的姓名、性別、年齡:")#姓名性別年齡…whiledata:data=input("請輸入一組人員的姓名、性別、年齡:")…fo.write("平均年齡是{:.1f}女性人數(shù)是{}".format(_____))fo.close()
53.考生文件夾下存在一個文件PY103.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:使用循環(huán)輸出從1到50之間的奇數(shù)。
試題程序:
#請在_____處使用一行代碼或表達式替換
#注意:請不要修改其他已給出代碼______whilecount<50:
ifcount%2==0:
print(count,end=”,”)
參考答案
1.C
2.C在樹中,樹中的節(jié)點數(shù)等于樹中所有節(jié)點的度之和再加1。本題中樹的度為3,有9個度為3的結(jié)點,5個度為1的結(jié)點,無度為2的結(jié)點,設(shè)有n個度為0的結(jié)點,則總結(jié)點數(shù)=\n9x3+5xl+0x2+n×0+1=33個。本題選擇C選項。
3.AB項是定義全局變量的關(guān)鍵字,C項是with…as用來代替?zhèn)鹘y(tǒng)的try…finally語法,D項的意思是程序什么都不做。
4.Aturtle庫是Python的標準庫,用于基本圖形的繪制;jieba庫是Python的第三方中文分詞庫;scipy是數(shù)據(jù)分析方向的第三方庫;Flask是Web開發(fā)方向的第三方庫。本題選擇A選項。
5.B棧是按“先進后出”的原則組織數(shù)據(jù)的,數(shù)據(jù)的插入和刪除都在棧頂進行操作。本題選擇B選項。
6.Copen()函數(shù)打開一個文件,并返回可以操作這個文件的變量f,并且open()函數(shù)有兩個參數(shù):文件名和打開模式。本題只是打開了文件,并沒有對文件進行操作,因此不會輸出文件的內(nèi)容。print(f)語句輸出的是變量f代表的文件的相關(guān)信息:<_io.TextIOWrappername=‘exam.txt’mode=‘r’encoding=‘cp936’>。若想要輸出文件的內(nèi)容,需要把文件的內(nèi)容讀入,如f1=f.read()。本題選擇C選項。
7.Brange()函數(shù)的語法:range(start,stop,step),作用是生成一個從start參數(shù)的值開始,到stop參數(shù)的值結(jié)束的數(shù)字序列(注意不包含數(shù)stop),step是步進參數(shù)。cLis=list(range(5)),生成一個列表,包含0,1,2,3,4。因為5不在CLis列表中,故返回False。
8.D對字符串中某個子串或區(qū)間的檢索稱為切片。切片的使用方式如下。<字符串或字符串變量>[N:M]切片獲取字符串從N到M(不包含M)的子字符串,其中N和M為字符串的索引,可以混合使用正向遞增索引和反向遞減索引。切片要求N和M都在字符串的索引區(qū)間,如果N大于等于M,則返回空字符串。如果N缺失,則默認將N設(shè)為0;如果M缺失,則默認表示到字符串結(jié)尾。題干中s[1:5]=‘2345’,s[0:3]=‘1231’,s[-10:-5]=‘12345’,s[0:4]=‘1234’。本題選擇D選項。
9.Bfun()函數(shù)進行加減計算,輸入為復數(shù),按復數(shù)加減運算法則計算結(jié)果為(2+3j)。
10.A在Python語言中,return語句用來結(jié)束函數(shù)并將程序返回到函數(shù)被調(diào)用的位置繼續(xù)執(zhí)行。return語句可以出現(xiàn)在函數(shù)中的任何部分,可以同時將0個、1個或多個函數(shù)運算結(jié)果返回給函數(shù)被調(diào)用處的變量。函數(shù)可以沒有return,此時函數(shù)并不返回值。B、D兩項錯誤。Python函數(shù)定義中沒有對參數(shù)指定類型,則函數(shù)內(nèi)的默認參數(shù)是對函數(shù)的默認參數(shù)屬性_defaults_的引用,C項錯誤。\neval()函數(shù)將去掉字符串最外側(cè)的引號,并按照Python語句方式執(zhí)行去掉引號后的字符內(nèi)容,使用方式:<變量>=eval(<字符串>),其中變量用來保存對字符串內(nèi)容進行Python運算的結(jié)果,故函數(shù)eval()可以用于數(shù)值表達式求值,如eval(”2*3+1”)=7。
11.B模塊獨立性是指每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。一般較優(yōu)秀的軟件設(shè)計,應(yīng)盡量做到高內(nèi)聚、低耦合,即降低模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨立性,所以A選項錯誤,B選項正確。耦合性是模塊間互相連接的緊密程度的度量而內(nèi)聚性是指一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度,選項C、D錯誤。本題選擇B選項。
12.C字符應(yīng)視為長度為1的字符串;字符串中的字符不可以進行數(shù)學運算,如果是數(shù)字字符串需要將其轉(zhuǎn)換為數(shù)值類型方可計算;字符串可進行切片,但不能賦值。
13.B在Python中,time是Python重要的標準庫之一,用于處理時間相關(guān)的問題,不屬于機器學習領(lǐng)域的第三方庫。TensorFLow、PyTorch、mxnet均屬于機器學習領(lǐng)域第三方庫。本題選擇B選項。
14.Afor…in遍歷結(jié)構(gòu)可以是字符串、文件、rangge()函數(shù)和組合數(shù)據(jù)類型。
15.Cid(x)是Python中的內(nèi)置函數(shù),用來查看變量在內(nèi)存中的地址。本題選擇C選項。
16.Brange()函數(shù)的語法為range(start,stop,\nstep),作用是生成一個從start參數(shù)的值開始,到stop參數(shù)的值結(jié)束的數(shù)字序列(注意不包含數(shù)參stop),step是步進參數(shù)。CLis=\nlist(range(5)),生成一個列表,包含0、1、2、3、4。因為5不在CLis列表中,故返回False。本題選擇B選項。
17.B關(guān)系數(shù)據(jù)庫中的關(guān)系是要滿足一定要求的,滿足不同程度要求的為不同的范式。滿足最低要求的叫第一范式,簡稱1NF。在滿足第一范式的基礎(chǔ)上,進一步滿足更多要求的則是第二范式。在滿足第二范式的基礎(chǔ)上,還可以再滿足第三范式,以此類推。對于關(guān)系模式,若其中的每個屬性都已不能再分為簡單項,則它屬于第一范式。若某個關(guān)系R為第一范式,并且R中每一個非主屬性完全依賴于R的某個候選鍵,則稱其為第二范式。第二范式消除了非主屬性對主鍵的部分依賴。如果關(guān)系R是第二范式,并且每個非主屬性都不傳遞依賴于R的候選鍵,則稱R為第三范式。(傳遞依賴:在關(guān)系模式中,如果Y→X,X→A,且X不決定Y、A不屬于X,那么Y→A是傳遞依賴。)本題中,關(guān)系S滿足第一范式和第二范式,但是S#→D#,D#→Da,存在傳遞依賴,因此不滿足第三范式。該關(guān)系滿足的最高范式是2NF。本題選擇B選項。
18.APython文件的讀寫方法有(file表示使用open函數(shù)創(chuàng)建的對象):\nfile.read([size]):參數(shù)可選,若未給定參數(shù)或參數(shù)為負則讀取整個文件內(nèi)容;若給出參數(shù),則讀取前size長度的字符串或字節(jié)流。\nfile.readline([size]):參數(shù)可選,若未給定參數(shù)或參數(shù)為負則讀取一行內(nèi)容;若給出參數(shù),則讀取該行前size長度的字符串或字節(jié)流。\nfile.readlines([hint]):參數(shù)可選,若未給定參數(shù)或參數(shù)為負則從文件中讀取所有行,以每行為元素形成一個列表;若給出參數(shù),則讀取hint行。\nfile.write(str):將字符串或字節(jié)流寫入文件。\nfile.writelines(1ines):向文件寫入一個序列字符串列表。
19.B
20.D屬性即對象所包含的信息,它在設(shè)計對象時確定,一般只能通過執(zhí)行對象的操作來改變。不同對象的同一屬性可以具有相同或不同的屬性值。例如,張三的年齡是20,李四的年齡是18,張三、李四是兩個不同的對象,他們共同的屬性”年齡”的值不同。
21.Brange()函數(shù)與for循環(huán)結(jié)合使用,一般可以創(chuàng)建一個整數(shù)列表,且range(start,stop[,step])包含3個參數(shù),代表列表的開始、結(jié)束以及步長,但其中不包含stop參數(shù)的范圍,即區(qū)間為左閉右開。print()函數(shù)的end參數(shù)用來設(shè)置輸出格式,默認為換行。該題輸出數(shù)字之間使用逗號分隔。本題選擇B選項。
22.Cdict()函數(shù)和{}都可以創(chuàng)建字典;序列類型包括列表、元組及字符串;字符串可以切片訪問,但是不能賦值。本題選擇C選項。
23.C在Python中,無論是標準庫、第三方庫還是自定義庫,在使用之前都需要進行導入,方法就是使用import語句導入模塊。本題選擇C選項。
24.B賦值運算的一般形式:變量=表達式,左邊只能是變量。A選項是連續(xù)賦值,C選項是序列賦值,D選項可以寫為x=x+y。本題選擇B選項。
25.D【答案】:D
【知識點】:棧和隊列
【解析】:棧和隊列都是線性結(jié)構(gòu),所以選項C錯誤;棧是一種先進后出的線性表,故選項A錯誤;隊列是一種先進先出的線性表,故選項B錯誤,所以選D。
26.D字符串方法replace()用來替換字符串中指定字符或子字符串的所有重復出現(xiàn),每次只能替換一個字符或一個字符串,把指定的字符串參數(shù)作為一個整體對待。該方法并不修改原字符串,而返回一個新字符串。本題選擇D選項。
27.A結(jié)構(gòu)化程序設(shè)計方法的主要原則可以概括為:自頂向下,逐步求精,模塊化和限制使用GOTO語句,其中不包括多態(tài)性。
28.A軟件測試的目的是為了發(fā)現(xiàn)錯誤而執(zhí)行程序,并不涉及改正錯誤,所以選項A錯誤。程序調(diào)試的基本步驟有錯誤定位、修改設(shè)計及代碼,以排除錯誤、進行回歸測試,防止引進新的錯誤。程序調(diào)試通常稱為Debug,即排錯。軟件測試的基本準則:所有測試都應(yīng)追溯到需求、嚴格執(zhí)行測試計劃以排除測試的隨意性、充分注意測試中的群集現(xiàn)象、程序員應(yīng)避免檢查自己的程序、窮舉測試不可能、妥善保存測試計劃等文件。本題選擇A選項。
29.C該程序段是輸出8以內(nèi)的奇數(shù),continue語句只結(jié)束本次循環(huán),不終止整個循環(huán)的執(zhí)行。
30.Cforsin”HelloWorld”:將字符串”HelloWorld”中的字符依次賦給變量s,之后進行if判斷,如果s=”w”,則continue,執(zhí)行下一個循環(huán),不執(zhí)行print(s,end=””),否則執(zhí)行print(s,end=””),所以最后輸出的結(jié)果是Helloorld。
31.Y
32.Y
33.Y
34.N
35.Y
36.Y
37.Y
38.Y
39.N
40.N
41.True
42.[[1,3,3],[2,3,1]]
43.[1,4,7]
44.[[5],[5],[5]]
45.pipfreeze>requirements.txt
46.9
47.type()
48.True
49.3+4j、3+4J
50.[1,2,3,2]
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用來存放標點符號。然后用for循環(huán)遍歷txt中的每個字符(word),并使用if條件進行判斷,若該字符在變量exclude中,說明該字符為標點符號,跳出該循環(huán);否則將該字符作為字典d中的一個鍵,該鍵所對應(yīng)的值置為1,在后面循環(huán)中只要遍歷的字符與該鍵相同,就將該鍵對應(yīng)的值加1。\r\n
ls=list(d.items())表示將字典類型變成列表類型,字典中的每個鍵值對對應(yīng)列表中的一個元組。隨后,對列表ls中的元組進行排序,用到sort()方法,參數(shù)“key=lambda.x:x[1]”中l(wèi)ambda是一個隱函數(shù),是固定寫法,不能寫成別的單詞;x表示列表中的一個元素,在這里表示一個元組,x只是臨時起的一個名字,也可以使用任意的名字;x[1]表示以元組中第二個元素排序。sort()方法的第二參數(shù)表示是按哪種方式排序,若為“revers
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國表面肌電測試系統(tǒng)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國一次鋰亞硫酰氯電池行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國動態(tài)圖像粒度粒形分析系統(tǒng)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2023年全球及中國無人駕駛接駁小巴行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025小飯店員工的勞動合同范本
- 出境旅游合同書
- 2025辦公室裝修合同書集錦
- 房產(chǎn)股權(quán)轉(zhuǎn)讓合同
- 存量房買賣合同合同范本
- 陸路貨物運輸合同承運人定義年
- 2023學年度第一學期高三英語備課組工作總結(jié)
- 臨建標準化圖集新版
- 安監(jiān)人員考核細則(2篇)
- 生活老師培訓資料課件
- 2020年新概念英語第一冊lesson97-102單元檢測
- 腹主動脈瘤(護理業(yè)務(wù)學習)
- 注射用醋酸亮丙瑞林微球
- 大學生就業(yè)指導PPT(第2版)全套完整教學課件
- 家具安裝工培訓教案優(yōu)質(zhì)資料
- 湖南大一型抽水蓄能電站施工及質(zhì)量創(chuàng)優(yōu)匯報
- envi二次開發(fā)素材包-idl培訓
評論
0/150
提交評論