版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
河北省石家莊市全國計算機等級考試Python語言程序設(shè)計預(yù)測試題(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.文件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
2.以下關(guān)于Python的描述中,正確的是()。A.條件4<=5<=6是合法的,輸出False
B.條件4<=5<=6是不合法的
C.條件4<=5<=6是合法的,輸出True
D.條件4<=5<=6是不合法的,拋出異常
3.以下屬于turtle庫顏色控制函數(shù)的是()。
A.right()B.pensize()C.seth()D.pencolor()
4.下面代碼的輸出結(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”
5.在命名Python標(biāo)識符時,以下命名合理的是()
A.listB.forC.usersD.type
6.下面代碼的輸出結(jié)果是()。f=lambdaX,Y:Xifx<yelseya=f(”aa”,”bb”)b=f(”bb”,”aa”)print(a,b)
A.aaaaB.aabbC.bbaaD.bbbb
7.以下程序的輸出結(jié)果是()。foriin“miss”: forjinrange(3): print(i,end=‘’) ifi==“i”: break
A.missmissmissB.mmmissssssC.mmmiiissssssD.mmmssssss
8.下列代碼的結(jié)果是()A.A.numgreaterthan4B.numlessthan4C.TrueD.False
9.定義在類中的方法之外的變量是()
A.實例變量B.類變量C.公有變量D.私有變量
10.下面代碼的輸出結(jié)果是()。foriinrange(0,10,2):print(i,end=””)
A.02468B.2468C.0246810D.246810
11.對于以下代碼的描述正確的是()。s=”Pythonisgood"1="isn’tit?"length=len(s)s_title=s.title()s_l=s+1s_number=s[1:6]print(length)
A.length為12
B.s_title為”PYTHONISGOOD”
C.s_l為”Pythonisgoodisn’tit?”
D.s_number為”Python”
12.以下程序的輸出結(jié)果是()。ss=set(“htslbht”)sorted(ss)foriinss: print(i,end=‘’)
A.hlbstB.htslbhtC.tsblthD.hhlstt
13.以下的函數(shù)定義中,錯誤的是()。
A.defvfunc(s,a=1,*b):
B.defvfunc(a=3,b):
C.defvfunc(a,**b):
D.defvfunc(a,b=2):
14.一棵二叉樹共有25個節(jié)點,其中5個是葉子節(jié)點,則度為1的節(jié)點數(shù)為()。
A.16B.10C.6D.4
15.下面關(guān)于遞歸函數(shù),描述錯誤的是()。
A.遞歸函數(shù)必須有一個明確的結(jié)束條件
B.遞歸函數(shù)就是一個函數(shù)在內(nèi)部調(diào)用自身本身
C.遞歸效率不高,遞歸層次過多會導(dǎo)致棧溢出
D.每進(jìn)入更深一層的遞歸時,問題規(guī)模相對于前一次遞歸是不變的
16.在Python3下輸入100000000L,會得到()
A.100000000LB.100000000C.SyntaxError:invalidsyntaxD.1e8
17.關(guān)于以下程序的描述中,正確的是()。.deffunc(a,b): c=a**2+b b=a returnca=10b=2c=func(b,a)+a
A.執(zhí)行該函數(shù)后,變量c的值為112
B.該函數(shù)名稱為fun
C.執(zhí)行該函數(shù)后,變量b的值為2
D.執(zhí)行該函數(shù)后,變量b的值為10
18.以下程序的輸出結(jié)果是()。forcin’PythonNCRE’:ifc==’N’:breakprint?
A.無輸出B.PythonC.PythoD.PythonCRE
19.以下關(guān)于CSV文件的描述中,正確的是()。
A.CSV文件只能采用Unicode編碼表示字符
B.CSV文件的每一行是一維數(shù)據(jù),可以使用Python的元組類型表示
C.CSV文件是一種通用的文件,主要用于不同程序之間的數(shù)據(jù)交換
D.CSV文件是一個一維數(shù)據(jù)
20.執(zhí)行以下代碼的結(jié)果是?intx=-3;inty=-10;System.out.println(y%x);A.-1B.2C.1D.3
21.在數(shù)據(jù)管理技術(shù)發(fā)展的三個階段中,數(shù)據(jù)共享最好的是()。
A.人工管理階段B.文件系統(tǒng)階段C.數(shù)據(jù)庫系統(tǒng)階段D.三個階段相同
22.下面關(guān)于Python的說法正確的是()。
A.Python不支持面向?qū)ο蟪绦蛟O(shè)計
B.Python中使用的所有函數(shù)庫,都是采用Python語言編寫的
C.Python中的內(nèi)置函數(shù)需要用關(guān)鍵字import來導(dǎo)入,而不能直接使用
D.Python中如果導(dǎo)入了某個模塊,在后面的代碼中就可以使用它的所有公共函數(shù)、類及屬性
23.下列關(guān)于Python的描述正確的是()。
A.Python的整數(shù)類型有長度限制,超過上限會產(chǎn)生溢出錯誤
B.Python中采用嚴(yán)格的“縮進(jìn)”來表明程序格式,不可嵌套
C.Python中可以用八進(jìn)制來表示整數(shù)
D.Python的浮點數(shù)類型沒有長度限制,只受限于內(nèi)存的大小
24.下列敘述中正確的是()。
A.快速排序適用于順序存儲的線性表
B.快速排序適用于鏈?zhǔn)酱鎯Φ木€性表
C.鏈?zhǔn)酱鎯Φ木€性表不可能排序
D.堆排序適用于非線性結(jié)構(gòu)
25.以下對Python文件處理的描述中,錯誤的是()。
A.當(dāng)文件以文本方式打開時,讀寫按照字節(jié)流方式
B.Python能夠以文本和二進(jìn)制兩種方式處理文件
C.Python通過解釋器內(nèi)置的open()函數(shù)打開一個文件
D.文件使用結(jié)束后可以用close()方法關(guān)閉,釋放文件的使用授權(quán)
26.以下不屬于數(shù)據(jù)分析領(lǐng)域的Python第三方庫是()。
A.PandasB.PyQt5C.NumpyD.Seabom
27.字符串tstr=’television’,顯示結(jié)果為vi的選項是()。
A.pxint(tstr[4:7])
B.ptint(tstr[5:7])
C.print(tstr[一6:6])
D.print(tstr[4:一2])
28.下載但不安裝一個第三方庫的命名格式是()。
A.pipdownload<第三方庫名>
B.pipuninstall<第三方庫名>
C.pipinstall<第三方庫名>
D.pipsearch<第三方庫名>
29.以下程序的輸出結(jié)果是()。>>>s=(3,)>>>type(s)A.<class‘diet’>
B.<class‘tuple’>
C.<class‘list’>
D.<class‘set’>
30.以下程序的輸出結(jié)果是()。forsin“PythonNCRE”: ifs==“N”: break print(s,end=“”)
A.PythonCREB.NC.PythonD.PythonNCRE
二、判斷題(10題)31.Python2.x和Python3.x中input()函數(shù)的返回值都是字符串。
A.是B.否
32.列表對象的extend()方法屬于原地操作,調(diào)用前后列表對象的地址不變。
A.是B.否
33.Python集合中的元素可以是列表。
A.是B.否
34.定義類時如果實現(xiàn)了__len__()方法,該類對象即可支持內(nèi)置函數(shù)len()。
A.是B.否
35.在調(diào)用函數(shù)時,可以通過關(guān)鍵參數(shù)的形式進(jìn)行傳值,從而避免必須記住函數(shù)形參順序的麻煩。
A.是B.否
36.表達(dá)式pow(3,2)==3**2的值為True。
A.是B.否
37.在一個軟件的設(shè)計與開發(fā)中,所有類名、函數(shù)名、變量名都應(yīng)該遵循統(tǒng)一的風(fēng)格和規(guī)范。
A.是B.否
38.Python2.x和Python3.x中input()函數(shù)的返回值都是字符串。
A.是B.否
39.在Python中可以使用id作為變量名,盡管不建議這樣做。A.是B.否
40.程序中異常處理結(jié)構(gòu)在大多數(shù)情況下是沒必要的。
A.是B.否
三、填空題(10題)41.表達(dá)式len(range(1,10))的值為___________。
42.已知x=[3,7,5],那么執(zhí)行語句x.sort(reverse=True)之后,x的值為_________________。
43.語句sorted([1,2,3],reverse=True)==reversed([1,2,3])執(zhí)行結(jié)果為_________。
44.已知x是一個列表對象,那么執(zhí)行語句y=x[:]之后表達(dá)式id(x)==id(y)的值為___________。
45.已知x=3,那么執(zhí)行語句x*=6之后,x的值為________________。
46.表達(dá)式[xforxin[1,2,3,4,5]ifx<3]的值為_____________________。
47.表達(dá)式len('abc'.ljust(20))的值為______________。
48.字典對象的______________方法返回字典的“值”列表。
49.表達(dá)式{1,2,3}|{3,4,5}的值為_____________________。
50.表達(dá)式'ab'in'acbed'的值為________。
四、操作題(3題)51.某班學(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'''
52.考生文件夾下存在一個文件“PY102.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。用鍵盤輸入直角三角形的兩條直角邊長度,計算三角形的面積。
例如:輸入三角形第一條直角邊長:3輸入三角形第二條直角邊長:4直角三角形的面積為:6.0
試題程序:#請在_____處使用一行代碼或表達(dá)式替換
#注意:請不要修改其他已給出代碼
a=float(input("輸入三角形第一條直角邊長:"))
b=float(input("輸入三角形第二條直角邊長:"))
_____(1)_____print("直角三角形的面積為:{_____(3)_____}".format(area))
53.考生文件夾下存在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)}}#此行可以按照詞頻由高到低排序
參考答案
1.Copen()函數(shù)打開一個文件,并返回可以操作這個文件的變量txt,并且open()函數(shù)有兩個參數(shù):文件名和打開模式。本題只是打開了文件,并沒有對文件進(jìn)行操作,因此不會輸出文件的內(nèi)容。print(txt)語句輸出的是變量txt\n代表的文件的相關(guān)信息:<_io.TextIOWrappername=’family,txt'mode=’r’encoding=\n‘cP936'>。若想要輸出文件的內(nèi)容,需要把文件的內(nèi)容讀入,如txtl=txt.read()。本題選擇C選項。
2.C判斷條件4<=5<=6是成立的,故輸出True。本題選擇C選項。
3.Dturtle庫中,pencolor()用于設(shè)置畫筆的顏色;color()用于設(shè)置畫筆和填充顏色;pensize()用于設(shè)置畫筆線條的粗細(xì)為指定大小;seth(angle)用于設(shè)置當(dāng)前朝向為angle角度;right(angle)用于設(shè)置向右旋轉(zhuǎn)angle角度。本題選擇D選項。
4.Bappend()是向列表元素的結(jié)尾增加元素。
5.C
6.Alambda關(guān)鍵字用來定義匿名函數(shù)。格式為:<函數(shù)名>=lambda<參數(shù)列表>:<表達(dá)式>。本題是用來比較字符串大小,因為aa>bb,所以輸出均為aa。
7.B外層for循環(huán)依次將字符串“mlss”中的字符賦給變量i,內(nèi)層for控制循環(huán)3次,注意是先執(zhí)行print再判斷if條件,輸出第一個i后,碰到if判斷條件,當(dāng)i==“i”時退出內(nèi)層循環(huán),所以結(jié)果為mmmlssssss。本題選擇B選項。
8.A
9.B
10.Arange(start,end,step)產(chǎn)生的是以[start,end)為區(qū)間并且步長為step的一個序列。通過for循環(huán)遍歷輸出,輸出格式以空格輸出。
11.Clen()方法用來獲取字符串的長度,所以length應(yīng)為14;title()方法把字符串每個單詞的首字母變?yōu)榇髮懀詰?yīng)為Python\nIsGood;索引從0開始,所以s[1:6]應(yīng)為ython。本題選擇C選項。
12.Aset()函數(shù)是將其他的組合數(shù)據(jù)類型變成集合類型,返回結(jié)果是一個無重復(fù)且排序任意的集合n因此,set(“htslbht”)的返回值是一個類似{‘h’,‘l’,‘b’,‘s’,‘t’}的集合,然后將其賦值給ss。sorted(ss)的返回值是對ss進(jìn)行排序后的結(jié)果,即執(zhí)行sorted(ss)后,ss的值并沒有改變,最后仍輸出hlbst。本題選擇A選項。
13.B函數(shù)定義時的語法如下:\ndef<函數(shù)名>(<非可選參數(shù)列表>,<可選參數(shù)>=<默認(rèn)值>):\n<函數(shù)體>\nreturn<返回值列表>\n可選參數(shù)一般放置在非可選參數(shù)的后面。B項錯誤。
14.A根據(jù)二叉樹的性質(zhì)3:在任意一棵二叉樹中,度為0的葉子結(jié)點總是比度為2的結(jié)點多一個,所以本題中度為2的結(jié)點是5-1\n=4個,所以度為1的結(jié)點的個數(shù)是25-5-4=16個。本題選擇A選項。
15.DA選項正確,遞歸函數(shù)必須要有一個明確的結(jié)束條件作為遞歸的出口;B選項正是遞歸函數(shù)的含義,正確;C選項正確,在計算機中,函數(shù)調(diào)用是通過棧這種數(shù)據(jù)結(jié)構(gòu)實現(xiàn)的,每當(dāng)進(jìn)入一個函數(shù)調(diào)用,棧就會加一層棧幀,每當(dāng)函數(shù)返回,棧就會減一層棧幀,由于棧的大小不是無限的,所以,遞歸調(diào)用的次數(shù)過多,會導(dǎo)致棧溢出;D選項,每當(dāng)進(jìn)入更深一層的遞歸時,問題規(guī)模顯然會相對前一次遞歸減小。
16.C
17.C程序中,將實參b的值傳給形參a,將實參a的值傳給形參b,則在函數(shù)體中c=2**2+10=14,函數(shù)返回14,則實參c=14+10=24;形參a和b在函數(shù)結(jié)束后會自動釋放,并沒有影響到實參a和b的值,故實參a仍然是10,實參b仍然是2。本題選擇C選項。
18.A本題中,break語句出現(xiàn)在print語句之前,當(dāng)if的條件為True時,執(zhí)行break語句,跳出for循環(huán),不再執(zhí)行循環(huán)體中break后面的語句,故無輸出。
19.CCSV文件是一種通用的、相對簡單的文件,最廣泛的應(yīng)用是在程序之間轉(zhuǎn)移表格數(shù)據(jù)。CSV文件沒有通用標(biāo)準(zhǔn)規(guī)范,使用的字符編碼同樣沒有被指定,但ASCII是最基本的通用編碼。CSV文件可以保存一維數(shù)據(jù)或二維數(shù)據(jù),每一行是一維數(shù)據(jù),可以使用Python的列表類型表示。本題選擇C選項。
20.A
21.C數(shù)據(jù)管理發(fā)展至今已經(jīng)歷了三個階段:人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中最后一個階段結(jié)構(gòu)簡單,使用方便邏輯性強物理性少,在各方面的表現(xiàn)都最好,一直占據(jù)數(shù)據(jù)庫領(lǐng)域的主導(dǎo)地位,所以選擇C)。
22.DA選項,Python是支持面向?qū)ο蟪绦蛟O(shè)計的;B選項,并不是所有的函數(shù)庫都是采用Python編寫的,很多采用C、C++、Java等語言編寫的專業(yè)庫可以經(jīng)過簡單的接口封裝供Python程序調(diào)用;C選項,Python中的內(nèi)置函數(shù)可以直接使用而不需要用import來導(dǎo)入。本題選擇D選項。
23.CPython的整數(shù)類型沒有長度限制;Python采用嚴(yán)格的“縮進(jìn)”格式,可以嵌套;Python的浮點數(shù)類型有長度限制,也受限于內(nèi)存的大小。本題選擇C選項。
24.A排序可以在不同的存儲結(jié)構(gòu)上實現(xiàn),但快速排序法適用于順序存儲的線性表,不適用于鏈?zhǔn)酱鎯Φ木€性表。堆排序適用于線性結(jié)構(gòu),不適用于非線性結(jié)構(gòu)。本題選擇A選項。
25.A文件包括文本文件和二進(jìn)制文件兩種類型。Python對文本文件和二進(jìn)制文件采用統(tǒng)一的操作步驟,即“打開一操作一關(guān)閉”,B項正確。采用文本方式讀人文件,文件經(jīng)過編碼形成字符串,打印出有含義的字符;采用二進(jìn)制方式打開文件,文件被解析為字節(jié)流,A項錯誤。Python通過open()函數(shù)打開一個文件,并返回一個操作這個文件的變量,語法:<變量名>=open(<文件路徑及文件名>,<打開模式>),C項正確。文件使用結(jié)束后要用close()方法關(guān)閉,釋放文件的使用授權(quán),語法:<變量名>.close(),D項正確。
26.BPyQt5是用戶圖形化界面方向的第三方庫;Pandas、Numpy、Seaborn、Scipy都是數(shù)據(jù)分析方向的第三方庫。
27.C對字符串中某個子串或區(qū)間的檢索稱為切片。切片的使用方式如下:\n<字符串或字符串變量>[N:M]\n切片獲取字符串從N到M(不包含M)的子字符串,其中N和M為字符串的索引序號,可以混合使用正向遞增序號和反向遞減序號。切片要求N和M都在字符串的索引區(qū)間,如果N大于等于M,則返回空字符串。如果N缺失,則默認(rèn)將N設(shè)為0;如果M缺失,則默認(rèn)表示到字符串結(jié)尾。\n題干中tstr[4:7]=’vis’,tstr[5:7]=’is’,tstr[4:一2]=’visi’,tstr[一6:6]=’vi’
28.Apipdownload<第三方庫名>用于下載第三方庫的安裝包,但并不安裝;pipuninstall<第三方庫名>用于卸載一個已經(jīng)安裝的第三方庫;pipinstall<第三方庫名>用于安裝第三方庫;pipsearch<第三方庫名>用于聯(lián)網(wǎng)搜索庫名或摘要中的關(guān)鍵字。本題選擇A選項。
29.B變量s是元組類型,type()返回的是表達(dá)式的值的類型。本題選擇B選項。
30.Cfor循環(huán)將字符串“PythonNCRE”的字符依次賦給變量S,當(dāng)s==“N”時,跳出for循環(huán),故輸出為Python。本題選擇C選項。
31.N
32.Y
33.N
34.Y
35.Y
36.Y
37.Y
38.N
39.Y
40.N
41.9
42.[7,5,3]
43.False
44.False
45.18
46.[1,2]
47.20
48.values()
49.{1,2,3,4,5}
50.False
51.(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)閉所有文件。
52.a=float(input(”輸入三角形第一條直角邊長:"))b=float(input(“輸入三角形第二條直角邊長:"))Area=0.5*(a*b)print(”直角三角形的面積為:{:.1f}”.
format(area))本題考查format()方法的使用和計算直角三角形面積的公式。直角三角形的面積等于兩條直角邊的乘積再乘以1/2,所以第1空應(yīng)填area=0.5*(\r\na*b)。題干中最后輸出保留了一位小數(shù),所以format()中的字符串槽內(nèi)需要設(shè)置精度字段,因此第2空應(yīng)填入:.If。
53.(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.
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 音樂制作中的心理學(xué)原理應(yīng)用-洞察分析
- 移動互聯(lián)網(wǎng)時代的跨境電子商務(wù)-洞察分析
- 2025年滬科版七年級物理下冊月考試卷含答案
- 2025年華師大新版九年級物理下冊階段測試試卷含答案
- 2025年華師大版九年級化學(xué)上冊月考試卷
- 二零二五年度酒后代駕服務(wù)合同匯編及案例分析2篇
- 2025年度個人健康體檢套餐購買合同4篇
- 2025年浙教版八年級地理上冊階段測試試卷
- 2025年度綠色環(huán)保產(chǎn)業(yè)項目貸款合同范本4篇
- 二零二五年度新型材料刮大白施工合同范本3篇
- 第二章 運營管理戰(zhàn)略
- 《三本白皮書》全文內(nèi)容及應(yīng)知應(yīng)會知識點
- 專題14 思想方法專題:線段與角計算中的思想方法壓軸題四種模型全攻略(解析版)
- 醫(yī)院外來器械及植入物管理制度(4篇)
- 圖像識別領(lǐng)域自適應(yīng)技術(shù)-洞察分析
- 港口與港口工程概論
- 《念珠菌感染的治療》課件
- 門店裝修設(shè)計手冊
- 新概念英語第二冊考評試卷含答案(第49-56課)
- 商業(yè)倫理與企業(yè)社會責(zé)任(山東財經(jīng)大學(xué))智慧樹知到期末考試答案章節(jié)答案2024年山東財經(jīng)大學(xué)
- 【奧運會獎牌榜預(yù)測建模實證探析12000字(論文)】
評論
0/150
提交評論