浙江省寧波市全國計算機等級考試Python語言程序設計模擬考試(含答案)_第1頁
浙江省寧波市全國計算機等級考試Python語言程序設計模擬考試(含答案)_第2頁
浙江省寧波市全國計算機等級考試Python語言程序設計模擬考試(含答案)_第3頁
浙江省寧波市全國計算機等級考試Python語言程序設計模擬考試(含答案)_第4頁
浙江省寧波市全國計算機等級考試Python語言程序設計模擬考試(含答案)_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

浙江省寧波市全國計算機等級考試Python語言程序設計模擬考試(含答案)學校:________班級:________姓名:________考號:________

一、單選題(30題)1.軟件按功能可以分為應用軟件、系統(tǒng)軟件及支撐軟件(或工具軟件)。下面屬于應用軟件的是()。

A.編譯程序B.操作系統(tǒng)C.教務管理系統(tǒng)D.匯編程序

2.在進行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.關鍵字參數(shù)C.默認值參數(shù)D.位置參數(shù)

4.在軟件開發(fā)中,需求分析階段可以使用的工具是()。

A.N-S圖B.DFD圖C.PAD圖D.程序流程圖

5.下載但不安裝一個第三方庫的命名格式是()。

A.pipdownload<第三方庫名>

B.pipuninstall<第三方庫名>

C.pipinstall<第三方庫名>

D.pipsearch<第三方庫名>

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

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

7.下列關于Python列表的描述錯誤的是()。

A.列表元素可以被修改B.列表元素沒有長度限制C.列表元素的個數(shù)不限D.列表元素的數(shù)據(jù)類型必須一致

8.某樹的度為3,且有9個度為3的節(jié)點,5個度為1的節(jié)點,但沒有度為2的節(jié)點。則該樹總的節(jié)點數(shù)為()。

A.32B.14C.33D.19

9.黑盒測試技術依據(jù)的是()。

A.軟件功能的描述B.程序的邏輯結構C.程序的物理結構D.軟件行為的描述

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

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

11.正則非貪婪模式使用()符號設置

A.\$B.\∧C.\{}D.\?

12.執(zhí)行以下代碼的結果是()A.2B.22C.23D.24

13.下面代碼的輸出結果是()。deff(n):ifn==1:return1else:returnn*f(n—1)print(f(4))

A.24B.4C.0D.10

14.下列關于Python內置函數(shù)的使用,描述錯誤的是()。

A.int(x)是將x轉換為一個整數(shù)

B.Print(”6+5")的輸出是11

C.dic.Clear()的結果是清空字典die

D.使用append()函數(shù)可以向列表添加元素

15.以下關于函數(shù)優(yōu)點的描述中,正確的是()。

A.函數(shù)可以表現(xiàn)程序的復雜度B.函數(shù)可以使程序更加模塊化C.函數(shù)可以減少代碼多次使用D.函數(shù)便于書寫

16.以下用于計算機視覺領域的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í)行以下程序,導致輸出”輸入有誤”的輸入選項是()。try:ls=eval(input())*2print(ls)except:print(’輸入有誤’)

A.’aa’B.’12’C.aaD.12

19.以下構成Python循環(huán)結構的方法中,正確的是()。

A.whileB.loopC.ifD.do…for

20.以下程序的輸出結果是()。x=12+3*((5*8)-14)//6print(x)

A.25.0

B.65

C.25

D.24

21.在Python語言中,不屬于組合數(shù)據(jù)類型的是()。

A.浮點數(shù)類型B.字典類型C.列表類型D.字符串類型

22.以下代碼的輸出結果是()。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.軟件設計中模塊劃分應遵循的準則是()。A.低內聚低耦合

B.高內聚低耦合

C.低內聚高耦合

D.高內聚高耦合

25.以下關于程序的異常處理的描述中,錯誤的是()。

A.在try-except-else結構中,如果try塊的語句引發(fā)了異常則會執(zhí)行else塊中的代碼

B.異常處理結構中的finally塊中的代碼仍然有可能出錯從而再次引發(fā)異常

C.一般不建議在try中放太多代碼,而是應該只放入可能會引發(fā)異常的代碼

D.在異常處理結構中,不論是否發(fā)生異常,finally子句中的代碼總是會執(zhí)行的

26.以下程序的輸出結果是()。t=”theWorldisSObig.Iwanttosee”S=t[20:21]+’love’+t[:9]print(S)

A.Ilovethe

B.IloveWodd

C.IlovetheWorld

D.IlovetheWod

27.下列關于Python內置函數(shù)的使用描述錯誤的是()。

A.int(x)是將x轉換為一個整數(shù)

B.print(“6+5”)的輸出是11

C.die.clear()的結果是清空字典dic

D.使用aPPend()函數(shù)可以向列表添加元素

28.以下代碼的輸出結果是()。ls=[”2020”,”1903”,”Python”]ls.append(2050)ls.append([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中用來表示代碼塊所屬關系的語法是()。

A.花括號B.圓括號C.縮進D.冒號

30.有3個關系R、S、T如下:

由關系R和S通過運算得到關系T,則所使用的運算為()。

A.并B.自然連接C.笛卡兒積D.交

二、判斷題(10題)31.在函數(shù)內部,既可以使用global來聲明使用外部全局變量,也可以使用global直接定義全局變量。

A.是B.否

32.屬性可以像數(shù)據(jù)成員一樣進行訪問,但賦值時具有方法的優(yōu)點,可以對新值進行檢查。

A.是B.否

33.在Python中可以為自定義類的對象動態(tài)增加新成員。

A.是B.否

34.Python變量名區(qū)分大小寫,所以student和Student不是同一個變量。

A.是B.否

35.一個函數(shù)如果帶有默認值參數(shù),那么必須所有參數(shù)都設置默認值。

A.是B.否

36.Python采用的是基于值得自動內存管理方式。

A.是B.否

37.字典可以作為集合的元素。

A.是B.否

38.可以使用del刪除集合中的部分元素。

A.是B.否

39.對于生成器對象x=(3foriinrange(5)),連續(xù)兩次執(zhí)行l(wèi)ist(x)的結果是一樣的。

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.表達式''.join('asdssfff'.split('sd'))的值為____________。

44.表達式type(3+4j)in(int,float,complex)的值為____________。

45.表達式str([1,2,3])的值為__________________。

46.表達式'%s'%[1,2,3]的值為_____________。

47.表達式chr(ord('A')+2)的值為__________。

48.表達式int('123')的值為_____________。

49.一直g=lambdax,y=3,z=5:x*y*z,則語句print(g(1))的輸出結果為_______。

50.表達式sum(range(1,10))的值為_____________。

四、操作題(3題)51.考生文件夾下存在一個文件“PY102.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。a和b是兩個列表變量,列表a為[11,3,8]已給定,輸入列表b,計算a中元素與b中對應元素乘積的累加和。例如:輸入的列表b為[4,5,2],累加和為11*4+5*3+8*2=75,因此,屏幕輸出的計算結果為75。試題程序:#請在程序的_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼a=[11,3,8]b=eval(input())#例如..[4,5,2]—(1)—foriin(2):s+=a[i]*b[i]print(s)

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

1820161043

鄭珉鎬68668377567361696678

1820161044

沈紅偉91708l919680789l8994

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

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

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

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

#L中的元素是學生原始成績和總成績

…#此處可多行

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

…#此處可多行

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

1010112161722

張三

1010112161728

李四

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

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

53.考生文件夾下存在3個Python源文件,分別對應3個問題;1個文本文件,作為本題目的輸入數(shù)據(jù),請按照源文件內部說明修改代碼,實現(xiàn)以下功能。《賣火柴的小女孩》是丹麥童話故事作家安徒生寫的一篇童話故事,發(fā)表于1846年。主要講了一個賣火柴的小女孩在富人闔家歡樂、舉杯共慶的大年夜凍死在街頭的故事。這里給出《賣火柴的小女孩》的一個網(wǎng)絡版本文件,文件名為“小女孩.txt”。問題1:在“PY301-1.py”文件中修改代碼,對“小女孩.txt”文件進行字符頻次統(tǒng)計,輸出頻次最高的中文字符(不包含標點符號)及其頻次,字符與頻次之間采用英文冒號(:)分隔,將輸出結果保存在考生文件夾下,命名為“PY301-l.txt”。示例格式如下。的:83試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準…fo=open("PY301-1.txt","w")d={}fo.write("{}:{}".format(_____))fo.close()問題L在“PY301-2.Py”文件中修改代碼,對“小女孩.txt”文件進行字符頻次統(tǒng)計,按照頻次由高到低,輸出前10個頻次最高的字符,不包含回車符,字符之間無間隔,連續(xù)輸出,將輸出結果保存在考生文件夾下,命名為“PY301-2.txt”。示例格式如下。,的一...(共10個字符)試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準fo=open("PY301-2.txt",”w”)…d={}…Is=list(d.items())ls.sort(key=lambdax:x[l],reverse=True)#此行可以按照字符頻次由高到低排序…問題3:在PY301-3.py文件中修改代碼,對“小女孩.txt”文件進行字符頻次統(tǒng)計,將所有字符按照頻次從高到低排序,字符包括中文、標點、英文等,但不包含空格符和回車符。將排序后的字符及頻次輸出到考生文件夾下,文件名為“小女孩-頻次排序.txt”。字符與頻次之間采用英文冒號(:)分隔,各字符之間采用英文逗號(,)分隔,參考CSV格式,最后無逗號,文件內部示例格式如下。著:30,那:29,火:29試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準…d={}…Is=list(d.items())Is.sort(key=lambdax:x[1]#reverse=True)#此行可以按照字符頻次由高到低排序

參考答案

1.C編譯軟件、操作系統(tǒng)、匯編程序都屬于系統(tǒng)軟件,只有教務管理系統(tǒng)才是應用軟件。本題選擇C選項。

2.CCSV文件中以英文逗號分隔數(shù)據(jù),形成一行。在進行CSV文件讀寫時,常用的字符串處理方法有strip()、join()、split()。strip()方法用于刪除文件開頭和結尾的給定字符序列,參數(shù)為空時,默認刪除空白符(包括’\n’、’\r’、’\t’、'')。join()方法用于將數(shù)據(jù)以指定的字符(分隔符)連接成一個新的序列。split()方法用于將數(shù)據(jù)按某一個字符或字符串進行分割。index()方法用于檢測字符串中是否包含指定子字符串,在進行CSV文件讀寫時,相較于前面三種方法,最不可能使用。

3.Df()函數(shù)中參數(shù)數(shù)量是固定的,所以A選項錯誤;傳入?yún)?shù)時并沒有指定形參a或b,所以B選項錯誤;函數(shù)并沒有自帶默認值參數(shù),且使用函數(shù)時傳入了兩個實參,C選項錯誤。該函數(shù)的傳參方式采用默認的傳參方式,即位置參數(shù)傳參。本題選擇D選項。

4.B解析:軟件開發(fā)階段包括需求分析、總體設計、詳細設計、編碼和測試5個階段。其中需求分析階段常用的工具是數(shù)據(jù)流圖(簡稱DFD)和數(shù)據(jù)字典(簡稱DD)。常見的詳細設計的圖形描述工具主要有程序流程圖、N-S結構圖、問題分析圖(簡稱PAD圖)。

5.Apipdownload<第三方庫名>用于下載第三方庫的安裝包,但并不安裝;pipuninstall<第三方庫名>用于卸載一個已經安裝的第三方庫;pipinstall<第三方庫名>用于安裝第三方庫;pipsearch<第三方庫名>用于聯(lián)網(wǎng)搜索庫名或摘要中的關鍵字。本題選擇A選項。

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

7.D列表沒有長度限制,元素類型可以不同,不需要預定義長度。列表可以進行元素的增加、刪除、替換、查找等操作。

8.C在樹中,樹中的節(jié)點數(shù)等于樹中所有節(jié)點的度之和再加1。本題中樹的度為3,有9個度為3的結點,5個度為1的結點,無度為2的結點,設有n個度為0的結點,則總結點數(shù)=\n9x3+5xl+0x2+n×0+1=33個。本題選擇C選項。

9.A黑盒測試又稱功能測試或數(shù)據(jù)驅動測試,著重測試軟件功能,是把程序看成一只黑盒子,測試者完全不了解,或不考慮程序的結構和處理過程。它根據(jù)規(guī)格說明書的功能來設計測試用例,檢查程序的功能是否符合規(guī)格說明的要求。\n白盒測試是把程序看成裝在一只透明的白盒子里,測試者完全了解程序的結構和處理過程。它根據(jù)程序的內部邏輯來設計測試用例,檢查程序中的邏輯通路是否都按預定的要求正確地工作。

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ù)的階乘,經過一系列的運算將結果返回,4的階乘為24。

14.BB選項中正確的輸出應為6+5,若print()函數(shù)圓括號內的變量用引號標注,則視為字符串。本題選擇B選項。

15.B函數(shù)定義:函數(shù)是指一組語句的集合通過一個名字(函數(shù)名)封裝起來,要想執(zhí)行這個函數(shù),只需要調用其函數(shù)名即可。函數(shù)能提高應用的模塊性和代碼的重復利用率。本題選B選項。

16.AOpenCV—Python是圖像處理和計算機視覺方向的第三方庫;Matplotlib是數(shù)據(jù)可視化方向的第三方庫;Flask是Web開發(fā)方向的第三方庫;PyMongo是數(shù)據(jù)存儲方向的第三方庫。故答案為A項。

17.D

18.C無論用戶輸入的是字符還是數(shù)字,input()函數(shù)統(tǒng)一按照字符串類型輸出,當輸入aa時,以字符串類型’aa’返回;然后eval()函數(shù)處理字符串’aa’,去掉其兩側的引號,將其解釋為一個變量,由于之前沒有定義過該變量,因此解釋器報錯,輸出”輸入有誤”。

19.APython中的循環(huán)結構有for語句和while語句。if是選擇結構語句。本題選擇A選項。

20.C在Python中用算術運算符“//”來表示整數(shù)除法,返回一個不大于結果的最大的整數(shù),而“/”則表示浮點數(shù)除法,返回浮點結果。所以先計算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,當s==”d”或s=='\nh”時,結束本次循環(huán),不執(zhí)行print(s,end=”);反之,則執(zhí)行print(s,end\n=')。故輸出結果為granfater。本題選擇B選項。

23.B賦值運算的一般形式:變量=表達式,左邊只能是變量。A選項是連續(xù)賦值,C選項是序列賦值,D選項可以寫為x=x+y。本題選擇B選項。

24.B解析:耦合性和內聚性足模塊獨立性的兩個定性標準。內聚性是一個模塊內部各個元素間彼此結合的緊密程度的度量,作為軟件結構設計的設計原則,要求每個模塊的內部都具有很強的內聚性;耦合性是指模塊間相互連接的緊密程度的度量,一個模塊與其他模塊的耦合性越強則該模塊的獨立性越弱。一般優(yōu)秀的軟件設計應盡量做到高內聚、低耦合,即減弱模塊之間的耦合性和提高模塊內的內聚性,有利于提高模塊的獨立性。

25.A只有try語句塊中的語句正常執(zhí)行,不發(fā)生中斷或異常,else子句中的代碼才會執(zhí)行。本題選擇A選項。

26.C字符串的索引序號從0開始,t[20:21]是指字符串中序號是20的元素I,t[:9]是從序號0到8元素,用“+”連接字符串,最后輸出IlovetheWorld。本題選擇C選項。

27.BB選項中正確的輸出應為6+5,當Print()函數(shù)圓括號內的變量被引號標注,則該變量被視為字符串。本題選擇B選項。

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

29.C在Python中,縮進指每行語句開始前的空白區(qū)域,用來表示Python程序間的包含和層次關系。本題選擇C選項。

30.D自然連接是一種特殊的等值連接,它要求兩個關系中進行比較的分量必須是相同的屬性組,并且在結果中把重復的屬性列去掉,所以B選項錯誤。笛卡兒積是用R集合中元素為第一元素,S集合中元素為第二元素構成的有序對,所以C選項錯誤??梢院苊黠@地看出,關系T是從關系R與關系S中取得的相同的關系組,所以使用的是交運算。本題選擇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收集兩個列表中對應元素乘積的和,因此要先定義變量S,第1空應填入s=0。兩個列表中對應元素乘積可表示為a[i]*b[i],再求和S\r\n+=a[i]*b[i];由于列表中只有3個元素,索引從0開始,所以for循環(huán)遍歷中i的取值依次為0、1、2,因此第2空應填入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”文件中的信息,通過程序求出每個學生的總成績,然后按總成績從大到小排序,將總成績排名前10的學生的學號、姓名以及10門課成績寫入到”candidate0.txt”文件中。打開文件用open()函數(shù),用”r”只讀模式打開文件”score.txt”,用”w”模式創(chuàng)建文件”cand:idate0.txt”。\r\n

”score.txt”文件中每行為一個學生的信息,需要用readlines()函數(shù)讀入所有行,以每行為元素形成列表lines,然后用for循環(huán)遍歷該列表中的每個元素。在遍歷每個元素時,用strip()方法刪除元素首尾出現(xiàn)的空格,用split()方法以空格分隔學生的學號、姓名以及10門課成績得到列表student。由于要求出總成績,因此要使用for遍歷每個學生的10門課成績,將其累加賦值給sum,并將sum追加到student中。最后將student中所有元素追加到列表L中。\r\n

隨后,對列表L中的元素進行排序,用到sort()方法,參數(shù)”key=lambdax:x[一1]”中l(wèi)ambda是一個隱函數(shù),是固定寫法,不能寫成別的單詞;x表示列表中的一個元素,在這里表示一個列表(即一個學生的信息),x只是臨時起的一個名字,也可以使用任意的名字;x[一1]表示以列表中的最后一個元素(即總成績)排序。參數(shù)”reverse=True”表示按降序排序;若該參數(shù)缺省或”reverse=False”,表示按升序排序。\r\n

最后,通過for循環(huán)在列表L中提取出前10個元素(即前10名的學生信息,但不包含總成績),用空格分隔每個元素,并添加換行符,寫入到文件”candidate0.txt”中,再關閉所有文件。\r\n

(2)本題涉及”candidate0.txt”和”candidate.txt”兩個文件。首先要讀取”candidate0.txt”文件中的信息,通過程序判斷每個學生的所有課程成績是否都大于等于60,滿足條件的將該學生的學號和姓名寫入到”candidate.txt”文件中。打開文件用open()函數(shù),用”r”只讀模式打開文件”candidate0.txt”,用”w”模式創(chuàng)建文件”candidate.txt”,并定義一個列表L來存儲學號和姓名(做中轉)。\r\n”candidate0.txt”文件中有10行數(shù)據(jù),需要用readlines()函數(shù)讀入所有行,以每行為元素形成列表lines,然后用for循環(huán)遍歷該列表中的每個元素。在遍歷每個元素時,用strip()方法刪除元素首尾的空格,用split()方法以空格分隔學生的學號、姓名以及10門課成績得到列表student。然后對列表student使用for循環(huán)遍歷,用來判斷10門課程的成績是否都大于等于60,滿足條件就將列表student中的前兩個元素(即學號和姓名)追加到列表L中。\r\n

最后,通過for循環(huán)提取列表L中的所有元素,用空格分隔每個元素,并添加換行符,寫入到文件”candidate.txt”中,再關閉所有文件。

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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論