江西省九江市全國計算機等級考試Python語言程序設(shè)計專項練習(xí)(含答案)_第1頁
江西省九江市全國計算機等級考試Python語言程序設(shè)計專項練習(xí)(含答案)_第2頁
江西省九江市全國計算機等級考試Python語言程序設(shè)計專項練習(xí)(含答案)_第3頁
江西省九江市全國計算機等級考試Python語言程序設(shè)計專項練習(xí)(含答案)_第4頁
江西省九江市全國計算機等級考試Python語言程序設(shè)計專項練習(xí)(含答案)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

江西省九江市全國計算機等級考試Python語言程序設(shè)計專項練習(xí)(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.以下不屬于Python中異常處理結(jié)構(gòu)的是()。

A.try-except

B.try-except-if

C.try-except-else

D.try-except-finally

2.下面關(guān)于CSV文件描述錯誤的是()。

A.CSV文件格式是一種通用的文件格式,應(yīng)用于程序之間轉(zhuǎn)移表格數(shù)據(jù)

B.CSV文件的每一行是一維數(shù)據(jù),可以使用Python中的列表類型表示

C.CSV文件通過多種編碼表示字符

D.整個CSV文件是一個二維數(shù)據(jù)

3.下列敘述中正確的是()。A.線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)與順序存儲結(jié)構(gòu)所需要的存儲空間是相同的

B.線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)所需要的存儲空間一般要多于順序存儲結(jié)構(gòu)

C.線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)所需要的存儲空間一般要少于順序存儲結(jié)構(gòu)

D.線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)與順序存儲結(jié)構(gòu)在存儲空間的需求上沒有可比性

4.文件family.txt在當(dāng)前代碼所在目錄內(nèi),其內(nèi)容是一段文本:Wearefamily,以下代碼的輸出結(jié)果是()。txt=open(”family.txt”,”r”)print(txt)txt.close()

A.txtB.family.txtC.非其他答案D.Wearefamily

5.在Python的類定義中,對函數(shù)變量的訪問形式為()。

A.<對象>.<變量>B.<對象>.方法(變量)C.<類名>.<變量>D.<對象>.方法(變量)

6.下面代碼的輸出結(jié)果是()。foriinrange(0,10,2):print(i,end=””)

A.02468B.2468C.0246810D.246810

7.以下代碼的作用是?A.改變python的啟動路徑

B.改變python目前的工作路徑

C.添加一個新的python模塊的搜索路徑

D.從/root/mydir中移除所有的文件夾

8.定義在類中的方法之外的變量是()

A.實例變量B.類變量C.公有變量D.私有變量

9.以下關(guān)于Python循環(huán)結(jié)構(gòu)的描述中,錯誤的是()。

A.break用來結(jié)束當(dāng)前的循環(huán)語句,但不跳出當(dāng)前的循環(huán)體

B.遍歷循環(huán)中的遍歷結(jié)構(gòu)可以是字符串、文件、組合數(shù)據(jù)類型及range()函數(shù)等

C.Python通過for、while等保留字構(gòu)建循環(huán)結(jié)構(gòu)

D.continue只結(jié)束本次循環(huán)

10.數(shù)據(jù)流圖(DFD)的作用是()。

A.描述軟件系統(tǒng)的控制流B.支持軟件系統(tǒng)功能建模C.支持軟件系統(tǒng)的面向?qū)ο蠓治鯠.描述軟件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)

11.在命名Python標(biāo)識符時,以下命名合理的是()

A.listB.forC.usersD.type

12.以下程序的輸出結(jié)果是()。forsin“PythonNCRE”: ifs==“N”: break print(s,end=“”)

A.PythonCREB.NC.PythonD.PythonNCRE

13.執(zhí)行以下代碼的結(jié)果是?A.(1,2,3,4)B.(1,2,3,[1,2,4])C.異常報錯D.(1,2,3,[1,2,3],4)

14.下面描述錯誤的是()。

A.對象一定有標(biāo)識B.對象一定有屬性和方法(或操作)C.對象具有封裝性D.不同對象的同一屬性一定有相同的屬性值

15.當(dāng)用戶輸入2時,下面代碼的輸出結(jié)果是()。try:n=input(“請輸入一個整數(shù):”)defpow2(n):returnn**5pow2(n)except:print(”程序執(zhí)行錯誤”)

A.32B.2C.程序沒有任何輸出D.程序執(zhí)行錯誤

16.Python提供3種基本的數(shù)字類型,它們是()。

A.整數(shù)類型、浮點數(shù)類型、復(fù)數(shù)類型

B.整數(shù)類型、二進制類型、浮點數(shù)類型

C.整數(shù)類型、二進制類型、布爾類型

D.整數(shù)類型、二進制類型、復(fù)數(shù)類型

17.下面的排序算法中初始數(shù)據(jù)集的排列順序?qū)λ惴ǖ男阅軣o影響的是()A.插入排序B.堆排序C.冒泡排序D.快速排序

18.以下程序的輸出結(jié)果是()。sum=1foriinrange(1,11):sum+=iprint(sum)

A.1B.56C.67D.56.0

19.在屏幕上輸出HelloWorld,使用的Python語句是()。

A.printf(‘HelloWorld’)

B.print(HelloWorld)

C.print(“HelloWorld”)

D.printf(“HelloWorld”)

20.以下不屬于Python語言保留字的是()。

A.passB.useC.withD.None

21.以下關(guān)于Python字符串的描述中,錯誤的是()。

A.在Python字符串中,可以混合使用正整數(shù)和負(fù)整數(shù)進行索引和切片

B.Python字符串采用[N:M]格式進行切片,獲取字符串從索引N到M的子字符串(包含N和M)

C.字符串‘my\\text.dat’中第1個‘\’表示轉(zhuǎn)義字符

D.空字符串可以表示為“”或‘’

22.下列關(guān)于Python語言的描述正確的是()。

A.條件2<=3<=5是合法的,輸出False。

B.條件2<=3<=5是不合法的。

C.條件2<=3<=5是合法的,輸出True。

D.條件2<=3<=5是不合法的,會拋出異常。

23.生成一個k比特長度的隨機整數(shù)的函數(shù)是()。

A.random.choice(k)

B.random.shuffle(k)

C.random.getrandbits(k)

D.random.sample(k)

24.以下程序的輸出結(jié)果是()。Is=[‘book’,666,[2018,‘python’,314],20]print(ls[2][1][-2])

A.nB.pythonC.oD.結(jié)果錯誤

25.在Python中,用來安裝第三方庫的工具是()。

A.installB.pipC.PyQt5D.pyinstaller

26.從鍵盤輸入數(shù)字10,以下程序的輸出結(jié)果是()。try: n=input(“請輸入一個整數(shù):”) defpow2(n): returnn*nexcept: print(”程序執(zhí)行錯誤")

A.100B.10C.程序執(zhí)行錯誤D.程序沒有任何輸出

27.請問以下代碼輸出為()A.A.BabyB.AdultC.MiddleageD.Teenage

28.假設(shè)city.csv文件內(nèi)容如下:巴哈馬,巴林,孟加拉國,巴巴多斯白俄羅斯,比利時,伯利茲以下代碼的輸出結(jié)果是()。f=open(”city.csv”,”r”)ls=f.read().split(”,”)f.close()print(ls)

A.[’巴哈馬’,’巴林’,’孟加拉國’,’巴巴多斯\n白俄羅斯’,’比利時’,’伯利茲’]

B.[’巴哈馬’,’巴林’,’孟加拉國’,’巴巴多斯’,’白俄羅斯’,’比利時’,’伯利茲’]

C.[’巴哈馬,巴林,孟加拉國,巴巴多斯,白俄羅斯,比利時,伯利茲’]

D.[’巴哈馬’,’巴林’,’孟加拉國’,’巴巴多斯’,’\n’,’白俄羅斯’,’比利時’,’伯利茲’]

29.以下代碼的輸出結(jié)果是()。ls=[”2020”,”1903”,”Python”]ls.a(chǎn)ppend(2050)ls.a(chǎn)ppend([2020,”2020”])print(ls)

A.[’2020’,’1903’,’Python’,2020,[2050,’2020’]]

B.[’2020’,’1903’,’Python’,2020]

C.[’2020’,’1903’,’Python’,2050,[2050,’2020’]]

D.[’2020’,’1903’,’Python’,2050,[’2020’]]

30.以下程序中,while循環(huán)的循環(huán)次數(shù)是()。i=0Whilei<10:ifi<1:print(“Python")continueifi==5:print(“World!”)breaki+=1

A.10B.5C.4D.死循環(huán),不能確定

二、判斷題(10題)31.Python列表、元組、字符串都屬于有序序列。

A.是B.否

32.假設(shè)x是含有5個元素的列表,那么切片操作x[10:]是無法執(zhí)行的,會拋出異常。

A.是B.否

33.Python3.x支持使用中文作為變量名。

A.是B.否

34.Python2.x和Python3.x中input()函數(shù)的返回值都是字符串。

A.是B.否

35.在編寫應(yīng)用程序時,應(yīng)合理控制線程數(shù)量,線程并不是越多越好。

A.是B.否

36.Python字符串方法replace()對字符串進行原地修改。

A.是B.否

37.表達式[]==None的值為True。

A.是B.否

38.在Python中定義函數(shù)時不需要聲明函數(shù)參數(shù)的類型。

A.是B.否

39.Python是一種跨平臺、開源、免費的高級動態(tài)編程語言。

A.是B.否

40.如果僅僅是用于控制循環(huán)次數(shù),那么使用foriinrange(20)和foriinrange(20,40)的作用是等價的。

A.是B.否

三、填空題(10題)41.已知列表x=[1,2,3],那么執(zhí)行語句x.insert(0,4)只有,x的值為___________。

42.已知x=3,那么執(zhí)行語句x+=6之后,x的值為_______________。

43.以3為實部4為虛部,Python復(fù)數(shù)的表達形式為___________或________。

44.表達式'C:\\Windows\\notepad.exe'.startswith('C:')的值為_________。

45.表達式'abc10'.isalpha()的值為________________。

46.表達式':'.join('abcdefg'.split('cd'))的值為______________。

47.在Python中定義類時,與運算符“//”對應(yīng)的特殊方法名為_______________。

48.表達式3//5的值為_______________。

49.表達式abs(-3)的值為___________。

50.Python標(biāo)準(zhǔn)庫os中用來列出指定文件夾中的文件和子文件夾列表的方式是____________。

四、操作題(3題)51.考生文件夾下存在一個文件“PY201.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。使用turtle庫的turtle.fd()函數(shù)和turtle.le£t()函數(shù)繪制一長為200像素黃底紅邊的太陽花,效果如下所示。

試題程序:#請在程序的_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼importturtleturtle.color(_____(1)_____,_____(2)_____)turtle._____(3)_____foriinrange(36):turtle.fd(_____(4)_____)turtle.left(_____(5)_____)turtle.end_fill()

52.考生文件夾下存在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)計,輸出頻次最高的中文字符(不包含標(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”文件進行字符頻次統(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”文件進行字符頻次統(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)}}#此行可以按照詞頻由高到低排序

53.某班學(xué)生評選一等獎學(xué)金,學(xué)生的10門主干課成績存在考生文件夾下文件score.txt中,每行為一個學(xué)生的信息,分別記錄了學(xué)生學(xué)號、姓名以及10門課成績,格式如下:

1820161043

鄭珉鎬68668377567361696678

1820161044

沈紅偉91708l919680789l8994

從這些學(xué)生中選出獎學(xué)金候選人,條件是:①總成績排名在前10名;②全部課程及格(成績大于等于60)。

問題1:給出按總成績從高到低排序的前10名學(xué)生名單,并寫入文件candidate0.txt,每行記錄一個學(xué)生的信息,分別為學(xué)生學(xué)號、姓名以及10門課成績。補充考生文件夾下文件PY301一1.py,完成這一功能。試題程序:

#請在…處使用多行代碼替換

##注意:其他已給出代碼僅作為提示,可以修改L=[]

#L中的元素是學(xué)生原始成績和總成績

…#此處可多行

L.sort(key=lambdax:x[一1],reverse=True)拌按學(xué)生總成績從大到小排序

…#此處可多行

問題2:讀取文件candidate0.txt,從中選出候選人,并將學(xué)號和姓名寫入文件candidate.txt,格式如下:

1010112161722

張三

1010112161728

李四

補充考生文件夾下文件PY301—2.py,完成這一功能。

試題程序:'''輸入文件:candidate0.txt輸出文件:candidate.txt'''

參考答案

1.BPython中異常處理結(jié)構(gòu)有try-except、try-except-else及\ntry-except-flnally。本題選擇B選項。

2.CCSV文件采用純文本格式,通過單一編碼表示字符。以行為單位,開頭不留空行,行之間沒有空行。每行表示一個一維數(shù)據(jù),多行表示多維數(shù)據(jù)。以逗號分隔每列數(shù)據(jù),列數(shù)據(jù)為空也要保留逗號。本題選擇C選項。

3.B線性鏈?zhǔn)酱鎯Y(jié)構(gòu)中每個結(jié)點都由數(shù)據(jù)域與指針域兩部分組成,增加了存儲空間,所以一般要多于順序存儲結(jié)構(gòu)。

4.Copen()函數(shù)打開一個文件,并返回可以操作這個文件的變量txt,并且open()函數(shù)有兩個參數(shù):文件名和打開模式。本題只是打開了文件,并沒有對文件進行操作,因此不會輸出文件的內(nèi)容。print(txt)語句輸出的是變量txt代表的文件的相關(guān)信息:<_io.TextIOWrappername=’family.txt’mode=’r’encoding=’cp936’>。若想要輸出文件的內(nèi)容,需要把文件的內(nèi)容讀人,如txt1=_txt.read()。本題選C選項。

5.A訪問函數(shù)的變量時,需要使用點表示法:<對象>.<變量名>。本題選擇A選項。

6.Arange(start,end,step)產(chǎn)生的是以[start,end)為區(qū)間并且步長為step的一個序列。通過for循環(huán)遍歷輸出,輸出格式以空格輸出。

7.C

8.B

9.A在Python中,break意為結(jié)束循環(huán),continue是結(jié)束當(dāng)前循環(huán)進入下一個循環(huán)。本題選擇A選項。

10.B數(shù)據(jù)流圖是系統(tǒng)邏輯模型的圖形表示,從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動變化過程,它直接支持系統(tǒng)的功能建模。

11.C

12.Cfor循環(huán)將字符串“PythonNCRE”的字符依次賦給變量S,當(dāng)s==“N”時,跳出for循環(huán),故輸出為Python。本題選擇C選項。

13.B

14.D屬性即對象所包含的信息,它在設(shè)計對象時確定,一般只能通過執(zhí)行對象的操作來改變。不同對象的同一屬性可以具有相同或不同的屬性值。例如,張三的年齡是20,李四的年齡是18,張三、李四是兩個不同的對象,他們共同的屬性”年齡”的值不同。

15.Dinput()函數(shù)從控制臺獲得用戶的一行輸入,無論用戶輸入什么內(nèi)容,inPut()函數(shù)都以字符串類型返回結(jié)果。當(dāng)用戶輸入2時,n=’2’,這是字符2,不是數(shù)字,不能進行數(shù)值運算,故程序會執(zhí)行except后面的語句,輸出程序執(zhí)行錯誤。本題選擇D選項。

16.APython提供的3種基本的數(shù)字類型為整數(shù)類型、浮點數(shù)類型、復(fù)數(shù)類型,分別對應(yīng)數(shù)學(xué)中的整數(shù)、實數(shù)和復(fù)數(shù)。本題選擇A選項。

17.B

18.Bforiinrange(1,11)是將1,2,3,4,5,6,7,8,9,10依次賦給變量i,用變量sum累加每一次變化的i的值,最終sum=56。本題選擇B選項。

19.C在Python中,輸出是Print()函數(shù),HelloWorld是字符串類型,需要加單引號或雙引號。本題選擇C選項。

20.BPython總共有35個保留字,分別是:and,as,assett,async,await,break,class,eontinue,def,del,elif,else,except,F(xiàn)alse,fihally,for,from,global,if,impor.t,in,is,lambda,None,nonlocal,not,or,pass,raise,return,True,try,whiIe,with,yield。

21.BPython字符串采用[N:M]格式進行切片,獲取字符串從索引N到M的子字符串(包含N,不包含M)。本題選擇B選項。

22.CA選項中條件是合法的,輸出True,只有不合法的條件才會輸出False;B選項中條件是合法的;D選項中條件不合法輸出False,而不是拋出異常。

23.Crandom.choice(k)用于從序列的元素中隨機挑選一個元素;random.shuffle(k)用于將序列的所有元素隨機排序;random.getrandbits(k)用于生成一個k比特長度的隨機整數(shù);random.sample(k)用于隨機地從指定列表中提取出k個不同的元素。本題選擇C選項。

24.C列表索引從0開始,列表遵循正向遞增索引和反向遞減索引,故ls[2][1][-2]是字符o。本題選擇C選項。

25.B在Python中,使用pip工具來安裝和管理Python第三方庫,pip屬于Python的一部分。本題選擇B選項。

26.DPython使用保留字try和except進行異常處理,基本的語法如下。try:\t<語句塊1>except:\t<語句塊2>“語句塊1”是正常執(zhí)行的程序內(nèi)容,當(dāng)執(zhí)行這個語句塊發(fā)生異常時,則執(zhí)行except保留字后面的“語句塊2”。當(dāng)輸入10時,執(zhí)行try后面的語句,n=10,函數(shù)pow2()只進行了定義,但未進行調(diào)用,所以此時程序只執(zhí)行了輸入語句,不執(zhí)行函數(shù),語句運行正常,并不執(zhí)行except后面的語句,故程序沒有任何輸出。本題選擇D選項。

27.B

28.A在Python中,split()方法通過指定分隔符對字符串進行切片,返回分隔后的字符串列表。以split(”,”)方法從CSV文件中獲得內(nèi)容時,無法去除換行符?!桶投嗨梗躰白俄羅斯’作為一個列表元素出現(xiàn),所以ls=[’巴哈馬’,’巴林’,’孟加拉國’,’巴巴多斯\n白俄羅斯’,’比利時’,’伯利茲’],最后輸出列表。本題選A選項。

29.C要向列表中添加元素,可以使用append()方法,添加的元素類型可以不同,可以是數(shù)字、字符串、列表等,要注意的是append()方法不能同時添加多個元素。本題選擇C選項。

30.Dwhile循環(huán)的判斷條件為真時,進人循環(huán)體,為假時,直接執(zhí)行while同級的代碼。初始值為i=0,進入循環(huán)體之后,因為i<\n1,執(zhí)行continue語句跳出本次循環(huán),進入下一循環(huán)。i的值始終為0,故程序為死循環(huán)。本題選擇D選項。

31.Y

32.N

33.Y

34.N

35.Y

36.N

37.N

38.Y

39.Y

40.Y

41.[4,1,2,3]

42.9

43.3+4j、3+4J

44.True

45.False

46.'ab:efg'

47.__floordiv__()

48.0

49.3

50.listdir()

51.importturtleturtle.color(“red”.”yellow”)turtle.begin_fill()foriinrange(36):turtle.fd(200)turtle,left(110)turtle.end_fill()該題考查的是用Python標(biāo)準(zhǔn)庫turtle庫繪制太陽花。根據(jù)題干可知,太陽花的邊為紅色且用黃色填充,因此第1空填red,第2空填yellow。由于涉及填充圖形,所以要調(diào)用begin_fill()函數(shù),因此第3空應(yīng)填入be-gin_fill()。題目要求邊長為200像素,則第4空應(yīng)填200。太陽花一共36個角,每個角10度,因此繪制一條邊需要逆時針旋轉(zhuǎn)170度再繪制下一條邊,因此第5空應(yīng)填入170。

52.(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條件進行判斷,若該字符在變量exclude中,說明該字符為標(biāo)點符號,跳出該循環(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ù)表示是按哪種方式排序,若為“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條件語句進行判斷;題目要求不包含回車符,因此需要使用del刪除字典d中鍵為”\n”的元素。最后要無間隔輸出前10個頻次最高的字符,需要對排序好的列表ls進行for循環(huán)遍歷,找到前10個元組的第一個元素,并將其直接寫入到文件“PY301—2.txt”中。\r\n

(3)問題3和問題2的區(qū)別在于統(tǒng)計的字符中不能包含空格,因此需要使用del刪除字典d中鍵為空格的元素。最后要將所有字符和其頻次輸出,需要對排序好的列表ls進行for循環(huán)遍歷,遍歷列表中的每個元組,并將元組中的兩個元素通過“:”連接,再用逗號分隔每個字符寫入到文件“小女孩一頻次排序.txt”中。

53.(1)L=[]\r\n

fo=open("score.txt","r")\r\n

fi=open("candidate0.txt","w")\r\n

lines=fo.readlines()\r\n

forlineinlines:\r\n

line=line.strip()\r\n

student=line.split('')\r\n

sum=0\r\n

foriinrange(1,11):\r\n

sum+=int(student[-i])\r\n

studene.append(str(sum))\r\n

L.append(student):\r\n

L.sort(key=lambda.x:x[一1],reverse=True)\r\nforiinrange(10):\r\nfi.write('',join(L[i][:-1])+'\\n')\r\nfo.close()\r\nfi.close()(2)'''\r\n輸入文件:candidate0.txt\r\n輸出文件:candidate.txt\r\n'''\r\nfo=open("candidate0.txt","r")\r\nfi=open("candlidate.txt","w")\r\nL=[]#存儲候選人\r\nlines=fo.readlines()\r\nforlineinlines:\r\n

line=line.strip()\r\n

student=line.split('')\r\n

foriinstudent[-10:]:\r\n

ifint(i)<60:\r\n

break\r\n

else:\r\n

I:append(student[:2])\r\nforiin

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論