版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
浙江省寧波市全國計算機(jī)等級考試Python語言程序設(shè)計模擬考試(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件及支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是()。
A.編譯程序B.操作系統(tǒng)C.教務(wù)管理系統(tǒng)D.匯編程序
2.在進(jìn)行CSV文件讀寫時,最不可能使用的字符串處理方法是()。
A.strip()B.join()C.index()D.split()
3.下面代碼中描述的是哪一種傳人參數(shù)的方法?()deff(a,b):ifa>b:print("l")elifa==b:pritn(”2”)else:print("3”)f(2,3)
A.可變參數(shù)B.關(guān)鍵字參數(shù)C.默認(rèn)值參數(shù)D.位置參數(shù)
4.在軟件開發(fā)中,需求分析階段可以使用的工具是()。
A.N-S圖B.DFD圖C.PAD圖D.程序流程圖
5.下載但不安裝一個第三方庫的命名格式是()。
A.pipdownload<第三方庫名>
B.pipuninstall<第三方庫名>
C.pipinstall<第三方庫名>
D.pipsearch<第三方庫名>
6.當(dāng)用戶輸入2時,下面代碼的輸出結(jié)果是()。try:n=input(”請輸入一個整數(shù):”)defpow2(n):retumn**5pow2(n)except:print(”程序執(zhí)行錯誤”)
A.32B.2C.程序沒有任何輸出D.程序執(zhí)行錯誤
7.下列關(guān)于Python列表的描述錯誤的是()。
A.列表元素可以被修改B.列表元素沒有長度限制C.列表元素的個數(shù)不限D(zhuǎn).列表元素的數(shù)據(jù)類型必須一致
8.某樹的度為3,且有9個度為3的節(jié)點(diǎn),5個度為1的節(jié)點(diǎn),但沒有度為2的節(jié)點(diǎn)。則該樹總的節(jié)點(diǎn)數(shù)為()。
A.32B.14C.33D.19
9.黑盒測試技術(shù)依據(jù)的是()。
A.軟件功能的描述B.程序的邏輯結(jié)構(gòu)C.程序的物理結(jié)構(gòu)D.軟件行為的描述
10.以下程序的輸出結(jié)果是()。sum=1foriinrange(1,11):sum+=iprint(sum)
A.1B.56C.67D.56.0
11.正則非貪婪模式使用()符號設(shè)置
A.\$B.\∧C.\{}D.\?
12.執(zhí)行以下代碼的結(jié)果是()A.2B.22C.23D.24
13.下面代碼的輸出結(jié)果是()。deff(n):ifn==1:return1else:returnn*f(n—1)print(f(4))
A.24B.4C.0D.10
14.下列關(guān)于Python內(nèi)置函數(shù)的使用,描述錯誤的是()。
A.int(x)是將x轉(zhuǎn)換為一個整數(shù)
B.Print(”6+5")的輸出是11
C.dic.Clear()的結(jié)果是清空字典die
D.使用append()函數(shù)可以向列表添加元素
15.以下關(guān)于函數(shù)優(yōu)點(diǎn)的描述中,正確的是()。
A.函數(shù)可以表現(xiàn)程序的復(fù)雜度B.函數(shù)可以使程序更加模塊化C.函數(shù)可以減少代碼多次使用D.函數(shù)便于書寫
16.以下用于計算機(jī)視覺領(lǐng)域的Python第三方庫是()。
A.OpenCV—PythonB.MatplotlibC.FlaskD.PyMongo
17.下列程序的輸出是什么()A.A.endswith('.py'):py_list.append(file)print(py_list)
B.['foo.py','bar.py','spam.py','animal.py','test.py']
C.['foo.py','bar.txt','spam.py','animal.png','test.pyc']
D.['foo.py','spam.py','test.pyc']
E.['foo.py','spam.py']
18.執(zhí)行以下程序,導(dǎo)致輸出”輸入有誤”的輸入選項是()。try:ls=eval(input())*2print(ls)except:print(’輸入有誤’)
A.’aa’B.’12’C.aaD.12
19.以下構(gòu)成Python循環(huán)結(jié)構(gòu)的方法中,正確的是()。
A.whileB.loopC.ifD.do…for
20.以下程序的輸出結(jié)果是()。x=12+3*((5*8)-14)//6print(x)
A.25.0
B.65
C.25
D.24
21.在Python語言中,不屬于組合數(shù)據(jù)類型的是()。
A.浮點(diǎn)數(shù)類型B.字典類型C.列表類型D.字符串類型
22.以下代碼的輸出結(jié)果是()。forsin"grandfather":ifs==”d”ors==’h’:continueprint(s,end=")
A.grandfatherB.granfaterC.grandD.father
23.下列哪個語句在Python中是非法的?()
A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y
24.軟件設(shè)計中模塊劃分應(yīng)遵循的準(zhǔn)則是()。A.低內(nèi)聚低耦合
B.高內(nèi)聚低耦合
C.低內(nèi)聚高耦合
D.高內(nèi)聚高耦合
25.以下關(guān)于程序的異常處理的描述中,錯誤的是()。
A.在try-except-else結(jié)構(gòu)中,如果try塊的語句引發(fā)了異常則會執(zhí)行else塊中的代碼
B.異常處理結(jié)構(gòu)中的finally塊中的代碼仍然有可能出錯從而再次引發(fā)異常
C.一般不建議在try中放太多代碼,而是應(yīng)該只放入可能會引發(fā)異常的代碼
D.在異常處理結(jié)構(gòu)中,不論是否發(fā)生異常,finally子句中的代碼總是會執(zhí)行的
26.以下程序的輸出結(jié)果是()。t=”theWorldisSObig.Iwanttosee”S=t[20:21]+’love’+t[:9]print(S)
A.Ilovethe
B.IloveWodd
C.IlovetheWorld
D.IlovetheWod
27.下列關(guān)于Python內(nèi)置函數(shù)的使用描述錯誤的是()。
A.int(x)是將x轉(zhuǎn)換為一個整數(shù)
B.print(“6+5”)的輸出是11
C.die.clear()的結(jié)果是清空字典dic
D.使用aPPend()函數(shù)可以向列表添加元素
28.以下代碼的輸出結(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’]]
29.Python中用來表示代碼塊所屬關(guān)系的語法是()。
A.花括號B.圓括號C.縮進(jìn)D.冒號
30.有3個關(guān)系R、S、T如下:
由關(guān)系R和S通過運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。
A.并B.自然連接C.笛卡兒積D.交
二、判斷題(10題)31.在函數(shù)內(nèi)部,既可以使用global來聲明使用外部全局變量,也可以使用global直接定義全局變量。
A.是B.否
32.屬性可以像數(shù)據(jù)成員一樣進(jìn)行訪問,但賦值時具有方法的優(yōu)點(diǎn),可以對新值進(jìn)行檢查。
A.是B.否
33.在Python中可以為自定義類的對象動態(tài)增加新成員。
A.是B.否
34.Python變量名區(qū)分大小寫,所以student和Student不是同一個變量。
A.是B.否
35.一個函數(shù)如果帶有默認(rèn)值參數(shù),那么必須所有參數(shù)都設(shè)置默認(rèn)值。
A.是B.否
36.Python采用的是基于值得自動內(nèi)存管理方式。
A.是B.否
37.字典可以作為集合的元素。
A.是B.否
38.可以使用del刪除集合中的部分元素。
A.是B.否
39.對于生成器對象x=(3foriinrange(5)),連續(xù)兩次執(zhí)行l(wèi)ist(x)的結(jié)果是一樣的。
A.是B.否
40.Python元組支持雙向索引。
A.是B.否
三、填空題(10題)41.已知列表x=[1,2,3],那么執(zhí)行語句x.insert(0,4)只有,x的值為___________。
42.已知列表x=[1,3,2],那么執(zhí)行語句a,b,c=sorted(x)之后,b的值為____。
43.表達(dá)式''.join('asdssfff'.split('sd'))的值為____________。
44.表達(dá)式type(3+4j)in(int,float,complex)的值為____________。
45.表達(dá)式str([1,2,3])的值為__________________。
46.表達(dá)式'%s'%[1,2,3]的值為_____________。
47.表達(dá)式chr(ord('A')+2)的值為__________。
48.表達(dá)式int('123')的值為_____________。
49.一直g=lambdax,y=3,z=5:x*y*z,則語句print(g(1))的輸出結(jié)果為_______。
50.表達(dá)式sum(range(1,10))的值為_____________。
四、操作題(3題)51.考生文件夾下存在一個文件“PY102.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。a和b是兩個列表變量,列表a為[11,3,8]已給定,輸入列表b,計算a中元素與b中對應(yīng)元素乘積的累加和。例如:輸入的列表b為[4,5,2],累加和為11*4+5*3+8*2=75,因此,屏幕輸出的計算結(jié)果為75。試題程序:#請在程序的_____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼a=[11,3,8]b=eval(input())#例如..[4,5,2]—(1)—foriin(2):s+=a[i]*b[i]print(s)
52.某班學(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門課成績。補(bǔ)充考生文件夾下文件PY301一1.py,完成這一功能。試題程序:
#請在…處使用多行代碼替換
##注意:其他已給出代碼僅作為提示,可以修改L=[]
#L中的元素是學(xué)生原始成績和總成績
…#此處可多行
L.sort(key=lambdax:x[一1],reverse=True)拌按學(xué)生總成績從大到小排序
…#此處可多行
問題2:讀取文件candidate0.txt,從中選出候選人,并將學(xué)號和姓名寫入文件candidate.txt,格式如下:
1010112161722
張三
1010112161728
李四
補(bǔ)充考生文件夾下文件PY301—2.py,完成這一功能。
試題程序:'''輸入文件:candidate0.txt輸出文件:candidate.txt'''
53.考生文件夾下存在3個Python源文件,分別對應(yīng)3個問題;1個文本文件,作為本題目的輸入數(shù)據(jù),請按照源文件內(nèi)部說明修改代碼,實現(xiàn)以下功能?!顿u火柴的小女孩》是丹麥童話故事作家安徒生寫的一篇童話故事,發(fā)表于1846年。主要講了一個賣火柴的小女孩在富人闔家歡樂、舉杯共慶的大年夜凍死在街頭的故事。這里給出《賣火柴的小女孩》的一個網(wǎng)絡(luò)版本文件,文件名為“小女孩.txt”。問題1:在“PY301-1.py”文件中修改代碼,對“小女孩.txt”文件進(jìn)行字符頻次統(tǒng)計,輸出頻次最高的中文字符(不包含標(biāo)點(diǎn)符號)及其頻次,字符與頻次之間采用英文冒號(:)分隔,將輸出結(jié)果保存在考生文件夾下,命名為“PY301-l.txt”。示例格式如下。的:83試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)…fo=open("PY301-1.txt","w")d={}fo.write("{}:{}".format(_____))fo.close()問題L在“PY301-2.Py”文件中修改代碼,對“小女孩.txt”文件進(jìn)行字符頻次統(tǒng)計,按照頻次由高到低,輸出前10個頻次最高的字符,不包含回車符,字符之間無間隔,連續(xù)輸出,將輸出結(jié)果保存在考生文件夾下,命名為“PY301-2.txt”。示例格式如下。,的一...(共10個字符)試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fo=open("PY301-2.txt",”w”)…d={}…Is=list(d.items())ls.sort(key=lambdax:x[l],reverse=True)#此行可以按照字符頻次由高到低排序…問題3:在PY301-3.py文件中修改代碼,對“小女孩.txt”文件進(jìn)行字符頻次統(tǒng)計,將所有字符按照頻次從高到低排序,字符包括中文、標(biāo)點(diǎn)、英文等,但不包含空格符和回車符。將排序后的字符及頻次輸出到考生文件夾下,文件名為“小女孩-頻次排序.txt”。字符與頻次之間采用英文冒號(:)分隔,各字符之間采用英文逗號(,)分隔,參考CSV格式,最后無逗號,文件內(nèi)部示例格式如下。著:30,那:29,火:29試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)…d={}…Is=list(d.items())Is.sort(key=lambdax:x[1]#reverse=True)#此行可以按照字符頻次由高到低排序
參考答案
1.C編譯軟件、操作系統(tǒng)、匯編程序都屬于系統(tǒng)軟件,只有教務(wù)管理系統(tǒng)才是應(yīng)用軟件。本題選擇C選項。
2.CCSV文件中以英文逗號分隔數(shù)據(jù),形成一行。在進(jìn)行CSV文件讀寫時,常用的字符串處理方法有strip()、join()、split()。strip()方法用于刪除文件開頭和結(jié)尾的給定字符序列,參數(shù)為空時,默認(rèn)刪除空白符(包括’\n’、’\r’、’\t’、'')。join()方法用于將數(shù)據(jù)以指定的字符(分隔符)連接成一個新的序列。split()方法用于將數(shù)據(jù)按某一個字符或字符串進(jìn)行分割。index()方法用于檢測字符串中是否包含指定子字符串,在進(jìn)行CSV文件讀寫時,相較于前面三種方法,最不可能使用。
3.Df()函數(shù)中參數(shù)數(shù)量是固定的,所以A選項錯誤;傳入?yún)?shù)時并沒有指定形參a或b,所以B選項錯誤;函數(shù)并沒有自帶默認(rèn)值參數(shù),且使用函數(shù)時傳入了兩個實參,C選項錯誤。該函數(shù)的傳參方式采用默認(rèn)的傳參方式,即位置參數(shù)傳參。本題選擇D選項。
4.B解析:軟件開發(fā)階段包括需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼和測試5個階段。其中需求分析階段常用的工具是數(shù)據(jù)流圖(簡稱DFD)和數(shù)據(jù)字典(簡稱DD)。常見的詳細(xì)設(shè)計的圖形描述工具主要有程序流程圖、N-S結(jié)構(gòu)圖、問題分析圖(簡稱PAD圖)。
5.Apipdownload<第三方庫名>用于下載第三方庫的安裝包,但并不安裝;pipuninstall<第三方庫名>用于卸載一個已經(jīng)安裝的第三方庫;pipinstall<第三方庫名>用于安裝第三方庫;pipsearch<第三方庫名>用于聯(lián)網(wǎng)搜索庫名或摘要中的關(guān)鍵字。本題選擇A選項。
6.Dinput()函數(shù)從控制臺獲得用戶的一行輸入,無論用戶輸入什么內(nèi)容,input()函數(shù)都以字符串類型返回結(jié)果。當(dāng)用戶輸入2時,n=’2’,這是字符2,不是數(shù)字2,不能進(jìn)行數(shù)值運(yùn)算,故程序會執(zhí)行except后面的語句,輸出程序執(zhí)行錯誤。本題選D選項。
7.D列表沒有長度限制,元素類型可以不同,不需要預(yù)定義長度。列表可以進(jìn)行元素的增加、刪除、替換、查找等操作。
8.C在樹中,樹中的節(jié)點(diǎn)數(shù)等于樹中所有節(jié)點(diǎn)的度之和再加1。本題中樹的度為3,有9個度為3的結(jié)點(diǎn),5個度為1的結(jié)點(diǎn),無度為2的結(jié)點(diǎn),設(shè)有n個度為0的結(jié)點(diǎn),則總結(jié)點(diǎn)數(shù)=\n9x3+5xl+0x2+n×0+1=33個。本題選擇C選項。
9.A黑盒測試又稱功能測試或數(shù)據(jù)驅(qū)動測試,著重測試軟件功能,是把程序看成一只黑盒子,測試者完全不了解,或不考慮程序的結(jié)構(gòu)和處理過程。它根據(jù)規(guī)格說明書的功能來設(shè)計測試用例,檢查程序的功能是否符合規(guī)格說明的要求。\n白盒測試是把程序看成裝在一只透明的白盒子里,測試者完全了解程序的結(jié)構(gòu)和處理過程。它根據(jù)程序的內(nèi)部邏輯來設(shè)計測試用例,檢查程序中的邏輯通路是否都按預(yù)定的要求正確地工作。
10.Bforiinrange(1,11)是將1,2,3,4,5,6,7,8,9,10依次賦給變量i,用變量sum累加每一次變化的i的值,最終sum=56。本題選擇B選項。
11.D
12.D
13.A該代碼的功能是根據(jù)傳人的參數(shù)求取該數(shù)的階乘,經(jīng)過一系列的運(yùn)算將結(jié)果返回,4的階乘為24。
14.BB選項中正確的輸出應(yīng)為6+5,若print()函數(shù)圓括號內(nèi)的變量用引號標(biāo)注,則視為字符串。本題選擇B選項。
15.B函數(shù)定義:函數(shù)是指一組語句的集合通過一個名字(函數(shù)名)封裝起來,要想執(zhí)行這個函數(shù),只需要調(diào)用其函數(shù)名即可。函數(shù)能提高應(yīng)用的模塊性和代碼的重復(fù)利用率。本題選B選項。
16.AOpenCV—Python是圖像處理和計算機(jī)視覺方向的第三方庫;Matplotlib是數(shù)據(jù)可視化方向的第三方庫;Flask是Web開發(fā)方向的第三方庫;PyMongo是數(shù)據(jù)存儲方向的第三方庫。故答案為A項。
17.D
18.C無論用戶輸入的是字符還是數(shù)字,input()函數(shù)統(tǒng)一按照字符串類型輸出,當(dāng)輸入aa時,以字符串類型’aa’返回;然后eval()函數(shù)處理字符串’aa’,去掉其兩側(cè)的引號,將其解釋為一個變量,由于之前沒有定義過該變量,因此解釋器報錯,輸出”輸入有誤”。
19.APython中的循環(huán)結(jié)構(gòu)有for語句和while語句。if是選擇結(jié)構(gòu)語句。本題選擇A選項。
20.C在Python中用算術(shù)運(yùn)算符“//”來表示整數(shù)除法,返回一個不大于結(jié)果的最大的整數(shù),而“/”則表示浮點(diǎn)數(shù)除法,返回浮點(diǎn)結(jié)果。所以先計算5*8=40,40-14=26,26*3=78,78//6=13,12+13=25。本題選擇C選項。
21.A最常用的組合數(shù)據(jù)類型有3大類,分別是集合類型、序列類型和映射類型。其中序列類型包括字符串類型、列表類型和元組類型,字典類型屬于映射類型。本題選A選項。
22.Bfor循環(huán)將字符串grandfather中的字符依次賦給變量s,當(dāng)s==”d”或s=='\nh”時,結(jié)束本次循環(huán),不執(zhí)行print(s,end=”);反之,則執(zhí)行print(s,end\n=')。故輸出結(jié)果為granfater。本題選擇B選項。
23.B賦值運(yùn)算的一般形式:變量=表達(dá)式,左邊只能是變量。A選項是連續(xù)賦值,C選項是序列賦值,D選項可以寫為x=x+y。本題選擇B選項。
24.B解析:耦合性和內(nèi)聚性足模塊獨(dú)立性的兩個定性標(biāo)準(zhǔn)。內(nèi)聚性是一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度的度量,作為軟件結(jié)構(gòu)設(shè)計的設(shè)計原則,要求每個模塊的內(nèi)部都具有很強(qiáng)的內(nèi)聚性;耦合性是指模塊間相互連接的緊密程度的度量,一個模塊與其他模塊的耦合性越強(qiáng)則該模塊的獨(dú)立性越弱。一般優(yōu)秀的軟件設(shè)計應(yīng)盡量做到高內(nèi)聚、低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。
25.A只有try語句塊中的語句正常執(zhí)行,不發(fā)生中斷或異常,else子句中的代碼才會執(zhí)行。本題選擇A選項。
26.C字符串的索引序號從0開始,t[20:21]是指字符串中序號是20的元素I,t[:9]是從序號0到8元素,用“+”連接字符串,最后輸出IlovetheWorld。本題選擇C選項。
27.BB選項中正確的輸出應(yīng)為6+5,當(dāng)Print()函數(shù)圓括號內(nèi)的變量被引號標(biāo)注,則該變量被視為字符串。本題選擇B選項。
28.C要向列表中添加元素,可以使用append()方法,添加的元素類型可以不同,可以是數(shù)字、字符串、列表等,要注意的是append()方法不能同時添加多個元素。本題選擇C選項。
29.C在Python中,縮進(jìn)指每行語句開始前的空白區(qū)域,用來表示Python程序間的包含和層次關(guān)系。本題選擇C選項。
30.D自然連接是一種特殊的等值連接,它要求兩個關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉,所以B選項錯誤。笛卡兒積是用R集合中元素為第一元素,S集合中元素為第二元素構(gòu)成的有序?qū)?,所以C選項錯誤??梢院苊黠@地看出,關(guān)系T是從關(guān)系R與關(guān)系S中取得的相同的關(guān)系組,所以使用的是交運(yùn)算。本題選擇D選項。
31.Y
32.Y
33.Y
34.Y
35.N
36.Y
37.N
38.N
39.N
40.Y
41.[4,1,2,3]
42.2
43.'assfff'
44.True
45.'[1,2,3]'
46.'[1,2,3]'
47.'C'
48.123
49.15
50.45
51.a=[11,3,8]b=eval(input())S=0foriinrange(3):s+=a[i]*b[i]print(s)本題用變量S收集兩個列表中對應(yīng)元素乘積的和,因此要先定義變量S,第1空應(yīng)填入s=0。兩個列表中對應(yīng)元素乘積可表示為a[i]*b[i],再求和S\r\n+=a[i]*b[i];由于列表中只有3個元素,索引從0開始,所以for循環(huán)遍歷中i的取值依次為0、1、2,因此第2空應(yīng)填入range(3)。
52.(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\nforiinL:\r\n
fi.write(''.join(i)+'\\n')\r\nfo.close()\r\nfi.close()(1)本題涉及”score.txt”和”candidate0.txt”兩個文件。首先要讀取”score.txt”文件中的信息,通過程序求出每個學(xué)生的總成績,然后按總成績從大到小排序,將總成績排名前10的學(xué)生的學(xué)號、姓名以及10門課成績寫入到”candidate0.txt”文件中。打開文件用open()函數(shù),用”r”只讀模式打開文件”score.txt”,用”w”模式創(chuàng)建文件”cand:idate0.txt”。\r\n
”score.txt”文件中每行為一個學(xué)生的信息,需要用readlines()函數(shù)讀入所有行,以每行為元素形成列表lines,然后用for循環(huán)遍歷該列表中的每個元素。在遍歷每個元素時,用strip()方法刪除元素首尾出現(xiàn)的空格,用split()方法以空格分隔學(xué)生的學(xué)號、姓名以及10門課成績得到列表student。由于要求出總成績,因此要使用for遍歷每個學(xué)生的10門課成績,將其累加賦值給sum,并將sum追加到student中。最后將student中所有元素追加到列表L中。\r\n
隨后,對列表L中的元素進(jìn)行排序,用到sort()方法,參數(shù)”key=lambdax:x[一1]”中l(wèi)ambda是一個隱函數(shù),是固定寫法,不能寫成別的單詞;x表示列表中的一個元素,在這里表示一個列表(即一個學(xué)生的信息),x只是臨時起的一個名字,也可以使用任意的名字;x[一1]表示以列表中的最后一個元素(即總成績)排序。參數(shù)”reverse=True”表示按降序排序;若該參數(shù)缺省或”reverse=False”,表示按升序排序。\r\n
最后,通過for循環(huán)在列表L中提取出前10個元素(即前10名的學(xué)生信息,但不包含總成績),用空格分隔每個元素,并添加換行符,寫入到文件”candidate0.txt”中,再關(guān)閉所有文件。\r\n
(2)本題涉及”candidate0.txt”和”candidate.txt”兩個文件。首先要讀取”candidate0.txt”文件中的信息,通過程序判斷每個學(xué)生的所有課程成績是否都大于等于60,滿足條件的將該學(xué)生的學(xué)號和姓名寫入到”candidate.txt”文件中。打開文件用open()函數(shù),用”r”只讀模式打開文件”candidate0.txt”,用”w”模式創(chuàng)建文件”candidate.txt”,并定義一個列表L來存儲學(xué)號和姓名(做中轉(zhuǎn))。\r\n”candidate0.txt”文件中有10行數(shù)據(jù),需要用readlines()函數(shù)讀入所有行,以每行為元素形成列表lines,然后用for循環(huán)遍歷該列表中的每個元素。在遍歷每個元素時,用strip()方法刪除元素首尾的空格,用split()方法以空格分隔學(xué)生的學(xué)號、姓名以及10門課成績得到列表student。然后對列表student使用for循環(huán)遍歷,用來判斷10門課程的成績是否都大于等于60,滿足條件就將列表student中的前兩個元素(即學(xué)號和姓名)追加到列表L中。\r\n
最后,通過for循環(huán)提取列表L中的所有元素,用空格分隔每個元素,并添加換行符,寫入到文件”candidate.txt”中,再關(guān)閉所有文件。
53.(1)fi=open("小女孩.txt","r")fo=open(”PY301—1.txt”,”w”)txt=fi.read()d={}\r\nexclude=",。!?、()【】<>《》=:+-*-“”…"forwordintxt:ifwordinexclude:continueelse:d[word]=d.get(word,0)+1ls=list(d.items())ls.sort(key=lambda\r\nx:x[1],reverse=True)fo.write(”{}:{}”format(ls[0][0],ls[0][1]))fo.close()(2)fi=open("小女孩.txt","r")fo=open(”PY301—2.txt”,”w”)txt=fi.read()d={}forwordintxt;d[word]=d.get(word,0)+1deld["\\n"]ls=list(d.ite
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能媒體發(fā)布服務(wù)系統(tǒng)開發(fā)合同
- 智能安全巡檢系統(tǒng)合同
- 企業(yè)項目孵化投資合同
- 外科疾病的護(hù)理措施
- 2025年粵教版八年級科學(xué)上冊階段測試試卷
- 江西省中小學(xué)生素質(zhì)科技課堂-《懸崖勒馬》活動說課稿
- 2024民間借貸民事上訴狀起草與執(zhí)行服務(wù)合同3篇
- 醫(yī)學(xué)生臨床型課題開題報告
- 2024年滬教版七年級生物上冊月考試卷
- 市政道路電力施工方案
- 水泥行業(yè)數(shù)字化轉(zhuǎn)型服務(wù)方案
- 深圳市南山區(qū)2024-2025學(xué)年第一學(xué)期期末教學(xué)質(zhì)量檢測九年級物理 24-25上九年級物理
- 應(yīng)急設(shè)施設(shè)備和物資儲備管理制度(4篇)
- 團(tuán)委書記個人工作總結(jié)
- 高危多發(fā)性骨髓瘤診斷與治療中國專家共識(2024年版)解讀
- 英語語法與長難句理解知到智慧樹章節(jié)測試課后答案2024年秋山東石油化工學(xué)院
- 2025年新高考語文古詩文理解性默寫(含新高考60篇)
- 中醫(yī)內(nèi)科學(xué)虛勞培訓(xùn)課件
- DB31-T 1477-2024 空間地理數(shù)據(jù)歸集技術(shù)要求
- 期末測試題(含答案)2024-2025學(xué)年譯林版七年級英語上冊
- 二零二四年度物業(yè)管理合同標(biāo)的的管理內(nèi)容和質(zhì)量要求
評論
0/150
提交評論