




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
湖南省永州市全國計算機(jī)等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.S和T是兩個集合,對S&T的描述正確的是()。
A.S和T的交運算,包括同時在集合S和T中的元素
B.S和T的并運算,包括在集合S和T中的所有元素
C.S和T的差運算,包括在集合S但不在T中的元素
D.S和T的補(bǔ)運算,包括S和T中的幾個非相同元素
2.以下程序的輸出結(jié)果是()。ls=[’綠茶’,’烏龍茶’,’紅茶’,’白茶’,’黑茶’]x=’烏龍茶’print(ls.index(x,0))
A.一3B.0C.1D.一4
3.下列哪種情況不會導(dǎo)致Python對象的引用計數(shù)增加()
A.對象被創(chuàng)建B.被作為參數(shù)傳遞給函數(shù)C.成為容器對象的元素D.該對象無法訪問時
4.以下程序的輸出結(jié)果是()。x=4ca=‘123456’ifstr(x)inca: print(ca.replace(ca[x],str(x-2)))
A.123456B.123426C.5D.2
5.擬在屏幕上輸出HelloWorld,使用的Python語句是()。
A.printf(‘HelloWorld’)
B.print(HelloWorld)
C.print(“HelloWorld")
D.printf("HelloWorld")
6.不屬于Python數(shù)據(jù)分析及可視化處理的第三方庫的是()。
A.seabornB.randomC.mayavi2D.NumPy
7.以下代碼的輸出結(jié)果是()。d={”大海”:”藍(lán)色”,”天空":”灰色","大地":”黑色”}print(d["大地”],d.get("天空”,"黃色”))
A.黑色黑色B.黑色灰色C.黑色黃色D.黑色藍(lán)色
8.一棵二叉樹共有25個節(jié)點,其中5個是葉子節(jié)點,則度為1的節(jié)點數(shù)為()。
A.16B.10C.6D.4
9.執(zhí)行以下代碼的結(jié)果是?A.0B.1C.2D.3
10.下列敘述中正確的是()。
A.順序存儲結(jié)構(gòu)的存儲一定是連續(xù)的,鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空間不一定是連續(xù)的
B.順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈?zhǔn)酱鎯Y(jié)構(gòu)只針對非線性結(jié)構(gòu)
C.順序存儲結(jié)構(gòu)能存儲有序表,鏈?zhǔn)酱鎯Y(jié)構(gòu)不能存儲有序表
D.鏈?zhǔn)酱鎯Y(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間
11.結(jié)構(gòu)化程序設(shè)計的基本原則不包括A.多態(tài)性B.自頂向下C.模塊化D.逐步求精
12.執(zhí)行以下代碼的結(jié)果是()A.2B.4C.5D.8
13.下面描述錯誤的是()。
A.對象一定有標(biāo)識B.對象一定有屬性和方法(或操作)C.對象具有封裝性D.不同對象的同一屬性一定有相同的屬性值
14.以下哪個語句不適宜對異常捕獲()
A.try..catchB.assertC.withD.ifelif
15.程序流程圖是()。
A.總體設(shè)計階段使用的表達(dá)工具B.詳細(xì)設(shè)計階段使用的表達(dá)工具C.編碼階段使用的表達(dá)工具D.測試階段使用的表達(dá)工具
16.用Pyinstaller工具打包Python源文件時一F參數(shù)的含義是()。
A.指定所需要的第三方庫路徑
B.在dist文件夾中只生成獨立的打包文件
C.指定生成打包文件的目錄
D.刪除生成的臨時文件
17.執(zhí)行以下代碼的結(jié)果是()A.2B.5C.8D.Anexceptionisthrown
18.下列關(guān)于Python中復(fù)數(shù)類型的描述錯誤的是()。
A.復(fù)數(shù)由實數(shù)部分和虛數(shù)部分構(gòu)成
B.復(fù)數(shù)可以看作二元有序?qū)崝?shù)對(a,b)
C.虛數(shù)部分必須有后綴j,且為小寫
D.復(fù)數(shù)中的虛數(shù)部分不能單獨存在,必須有實數(shù)部分
19.在Python中,使用for—n…方式形成的循環(huán)不能遍歷的類型是()。
A.列表B.復(fù)數(shù)C.字符串D.字典
20.以下程序的輸出結(jié)果是()。s=”LOVES'’print(”{:*^13}".format(s))
A.LOVESB.********LOVESC.LOVES********D.****LOVES****
21.在Python中,將二維數(shù)據(jù)寫入CSV文件,最可能使用的函數(shù)是()。
A.write()B.split()C.join()D.exists()
22.以下屬于Python中Web開發(fā)的第三方庫的是()。
A.DjangoB.TinyDBC.audiolazyD.Pattern
23.現(xiàn)在假設(shè)有一個包含一個函數(shù)的程序放在一個文件中,在主程序文件中使用下面各種方法來導(dǎo)入它,哪一種方法是錯誤的?()
A.importmodule
B.frommoduleasfimportfunction
C.importmoduleasm
D.frommoduleimport*
24.若I,j均為整形數(shù)值對象,以下哪個語句計算i被j除后的余數(shù)()
A.imodjB.i/jC.i%jD.i//j
25.下面代碼的輸出結(jié)果是()。forxinrange(2,8):y=0y+=Xprint(y)
A.27B.7C.8D.35
26.以下描述錯誤的是()。
A.Python是一門動態(tài)的解釋型語言
B.當(dāng)Python腳本程序發(fā)生異常時,如果不處理,運行結(jié)果不可預(yù)測
C.編程語言中的異常和錯誤是完全相同的概念
D.Python通過try、except等保留字提供異常處理功能
27.以下代碼的輸出結(jié)果是()。forsin”PythonNCRE”:ifs==”N”:breakprint(s,end=””)
A.PythonCREB.NC.PythonD.PythonNCRE
28.設(shè)str1=‘*@python@*’,語句print(str1[2:].strip(‘@’))的執(zhí)行結(jié)果是()。
A.python@*B.python*C.*@python@*D.*python*
29.下面關(guān)于遞歸函數(shù)的描述中,錯誤的是()。
A.遞歸函數(shù)必須有一個明確的結(jié)束條件
B.遞歸函數(shù)就是一個函數(shù)在內(nèi)部調(diào)用自身
C.遞歸效率不高,遞歸層次過多會導(dǎo)致棧溢出
D.每進(jìn)入更深一層的遞歸時,問題規(guī)模相對前一次遞歸是不變的
30.樹的度為3,且有9個度為3的節(jié)點,5個度為1的節(jié)點,但沒有度為2的節(jié)點。則該樹中的葉子節(jié)點數(shù)為()。
A.18B.33C.19D.32
二、判斷題(10題)31.在Python中定義函數(shù)時不需要聲明函數(shù)參數(shù)的類型。
A.是B.否
32.Python是一種跨平臺、開源、免費的高級動態(tài)編程語言。
A.是B.否
33.形參可以看做是函數(shù)內(nèi)部的局部變量,函數(shù)運行結(jié)束之后形參就不可訪問了。
A.是B.否
34.在Python中可以使用if作為變量名。
A.是B.否
35.對文件進(jìn)行讀寫操作之后必須顯式關(guān)閉文件以確保所有內(nèi)容都得到保存。
A.是B.否
36.對于Python類中的私有成員,可以通過“對象名._類名__私有成員名”的方式來訪問。
A.是B.否
37.元組可以作為字典的“鍵”。
A.是B.否
38.調(diào)用函數(shù)時,在實參前面加一個型號*表示序列解包。
A.是B.否
39.不同版本的Python不能安裝到同一臺計算機(jī)上。
A.是B.否
40.已知seq為長度大于10的列表,并且已導(dǎo)入random模塊,那么[random.choice(seq)foriinrange(10)]和random.sample(seq,10)等價。A.是B.否
三、填空題(10題)41.已知x={'a':'b','c':'d'},那么表達(dá)式'a'inx的值為______________。
42.已知x=[3,7,5],那么執(zhí)行語句x=x.sort(reverse=True)之后,x的值為_________。
43.表達(dá)式int('101',2)的值為__________。
44.已知列表x=[1,2],執(zhí)行語句y=x后,表達(dá)式id(x)==id(y)的值為_______。
45.表達(dá)式len(range(1,10))的值為___________。
46.已知x=[[1,2,3,],[4,5,6]],那么表達(dá)式sum([i*jfori,jinzip(*x)])的值為______。
47.已知x=[1,11,111],那么執(zhí)行語句x.sort(key=lambdax:len(str(x)),reverse=True)之后,x的值為__________________。
48.表達(dá)式print(0b10101)的值為____________。
49.表達(dá)式'Thefirst:{1},thesecondis{0}'.format(65,97)的值為______________________________。
50.假設(shè)re模塊已導(dǎo)入,那么表達(dá)式re.findall('(\d)\\1+','33abcd112')的值為___________________。
四、操作題(3題)51.考生文件夾下存在一個文件“PY201.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。使用turtle庫的turtle.right()函數(shù)和turtle.fd()函數(shù)繪制一個五角星,邊長為200像素,5個內(nèi)角度數(shù)為36度,效果如下所示。試題程序:#請在程序的_____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼fromturtleimport*foriin_____(1)_____:fd(_____(2)_____)_____(3)_____
52.考生文件夾下存在2個Python源文件和3個文本文件,分別對應(yīng)兩個問題,請按照文件內(nèi)說明修改代碼,實現(xiàn)以下功能。《論語》是儒家學(xué)派的經(jīng)典著作之一,主要記錄了孔子及其弟子言行。這里給出了一個網(wǎng)絡(luò)版本的《論語》,文件名稱為“論語.txt”,其內(nèi)容采用逐句“原文”與逐句“注釋”相結(jié)合的形式組織,通過【原文】標(biāo)記《論語》原文內(nèi)容,通過【注釋】標(biāo)記《論語》注釋內(nèi)容,具體格式請參考“論語.txt”文件。問題1:在“PY301-1.py”文件中修改代碼,提取“論語.txt”文件中的原文內(nèi)容,輸出保存到考生文件夾下,文件名為“論語-原文.txt”。具體要求:僅保留“論語.txt”文件中所有【原文】標(biāo)簽下面的內(nèi)容,不保留標(biāo)簽,并去掉每行行首空格及行尾空格,無空行。原文圓括號及內(nèi)部數(shù)字是源文件中注釋內(nèi)容的標(biāo)記,請保留。文件輸出格式請參考“論語-原文-輸出示例.txt”文件。注意:輸出示例僅幫助考生了解輸出格式,不作它用。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fi=open(“論語.txt",)fo=open(“論語-原文.txt",)…Forlineinfi:…fo.write(line.lstrip())問題2:在“PY301-2.py”文件中修改代碼,對“論語-原文.txt”或“論語.txt”文件進(jìn)一步提純,去掉每行文字中所有圓括號及內(nèi)部數(shù)字,保存為“論語-提純原文.txt”文件。文件輸出格式請參考“論語-提純原文-輸出示例.txt”文件。注意:示例輸出文件僅幫助考生了解輸出格式,不做它用。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fi=open("論語-原文.txt",_____)fo=open("論語-提純原文.txt",_____)Forlineinfi:line=line.replace()
53.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:
鍵盤輸入正整數(shù)n,按要求把n輸出到屏幕,格式要求:寬度為25個字符,等號字符(=)填充,右對齊,帶千位分隔符。如果輸入正整數(shù)超過25位,則按照真實長度輸出。
例如:鍵盤輸入正整數(shù)n為1234,屏幕輸出===================1,234
試題程序:
#請完善如下代碼
s=input()
print(”{________(1)_________}”.format(________(2)_________))
參考答案
1.AS&T返回一個新集合,包括同時在集合S和T中的元素。本題選擇A選項。
2.C列表的index()方法用于從列表中找出某個對象第一個匹配項的索引位置,如果這個對象不在列表中會報一個異常。其語法為:list.index(obj[,start=0[,stop=len(L)]]),其中obj為必須參數(shù),指要查找的對象;start為可選參數(shù),指從哪個索引位置開始查找,默認(rèn)為0;stop為可選參數(shù),指查找到哪個索引位置結(jié)束,默認(rèn)為列表的長度。本題中,查找對象為’烏龍茶’,從索引位置為0處開始查找,查找到第二個元素匹配,故返回其索引位置1。
3.D
4.Bstr(4)=‘4’,此字符在字符串ca中,滿足if條件,執(zhí)行輸出語句。ca.replace(ca[4],str(4-2))是指返回字符串ca副本,ca[4]是指字符串中序號為4的字符‘5’,str(4-2)返回字符‘2’,也就是用字符‘2’來替換字符‘5’。本題選擇B選項。
5.C在Python中,輸出用print()函數(shù),HelloWorld是字符串類型,需要加單引號或雙引號。本題選擇C選項。
6.B屬于Python數(shù)據(jù)分析及可視化的第三方庫的有seabom、NumPy、scipy、pandas、matplotlib、TVTK、mayavi(也稱mayavi2)等。random庫是Python用于產(chǎn)生各種分布的偽隨機(jī)數(shù)序列的庫。本題選擇B選項。
7.B在Python中,字典是存儲可變數(shù)量鍵值對的數(shù)據(jù)結(jié)構(gòu),通過字典類型實現(xiàn)映射。字典使用花括號({})創(chuàng)建,每個元素是一個鍵值對,語法格式為:{<鍵1>:<值1>,<鍵2>:\n<值2>,'…,<鍵n:<值n>}其中,鍵和值通過冒號連接,不同鍵值對通過逗號隔開。字典具有和集合類似的性質(zhì),即鍵值對之間沒有順序且不能重復(fù)。d[鍵]獲取鍵對應(yīng)值的值,d.get(key,defart)方法用來返回key對應(yīng)的值,如果字典中不存在該鍵,則返回默認(rèn)值。本題選擇B選項。
8.A根據(jù)二叉樹的性質(zhì)3:在任意一棵二叉樹中,度為0的葉子結(jié)點總是比度為2的結(jié)點多一個,所以本題中度為2的結(jié)點是5-1\n=4個,所以度為1的結(jié)點的個數(shù)是25-5-4=16個。本題選擇A選項。
9.C
10.A解析:順序存儲結(jié)構(gòu)就是用一組地址連續(xù)的存儲單元依次存儲該線性表中的各個元素,鏈?zhǔn)酱鎯Y(jié)構(gòu)中各數(shù)據(jù)結(jié)點的存儲序號是不連續(xù)的,并且各結(jié)點在存儲空間中的位置關(guān)系與邏輯關(guān)系也不一致,所以選項A是正確的。兩者都可以存儲線性的、有序的邏輯結(jié)構(gòu),所以選項B、C不正確。順序結(jié)構(gòu)使用的是連續(xù)物理空間,鏈?zhǔn)浇Y(jié)構(gòu)可以使用零散的物理空間存儲,鏈?zhǔn)浇Y(jié)構(gòu)更靈活,不存在誰節(jié)約空間的說法,所以選項D不正確。
11.A結(jié)構(gòu)化程序設(shè)計方法的主要原則可以概括為:自頂向下,逐步求精,模塊化和限制使用GOTO語句,其中不包括多態(tài)性。
12.D
13.D屬性即對象所包含的信息,它在設(shè)計對象時確定,一般只能通過執(zhí)行對象的操作來改變。不同對象的同一屬性可以具有相同或不同的屬性值。例如,張三的年齡是20,李四的年齡是18,張三、李四是兩個不同的對象,他們共同的屬性”年齡”的值不同。
14.D
15.B詳細(xì)設(shè)計階段常見的工具有程序流程圖、N—S圖、PAD圖、HIPO圖、判定表等。本題選B選項。
16.B一F是指在dist文件夾中只生成獨立的打包文件(即exe文件),所有的第三方依賴、資源和代碼均打包進(jìn)此exe中。
17.D
18.CPython中復(fù)數(shù)類型的虛數(shù)部分的后綴可以為j或者J;復(fù)數(shù)的實部可以單獨存在,但是虛部不可以單獨存在;復(fù)數(shù)由實部和虛部構(gòu)成,可以使用z.\nreal和z.imag分別獲得它的實部和虛部。本題選擇C選項。
19.B在Python中,使用for…in…方式形成的循環(huán)能遍歷的類型有字符串、文件、range()函數(shù)或組合數(shù)據(jù)類型,不能遍歷復(fù)數(shù)。本題選擇B選項。
20.D本題考查的是字符串輸出格式化知識點,其中“{:*^13},,表示輸出的字符串長度為13,居中對齊,空白處用“*”填充。最后輸出的是****LOVES****,D項正確。
21.C在Python中,二維列表對象輸出CSV文件時,采用遍歷循環(huán)和字符串的join()方法相結(jié)合的方法。方法如下:#ls代表二維列表,此處省略f=open('cpi.csv','w')forrowinIs£.write(“,'.join(row)\\n')f.close()本題選擇C選項。
22.AB選項是一個微型的面向文檔的數(shù)據(jù)庫,C選項是Python的數(shù)字信號處理包,D選項是Python的網(wǎng)絡(luò)信息挖掘模塊。本題選擇A選項。
23.BD選項用于導(dǎo)入模塊中所有的函數(shù)從而直接調(diào)用該模塊中的函數(shù);A選項直接導(dǎo)入整個模塊,再利用“模塊名.函數(shù)名”這樣的方式來運行該模塊中的函數(shù);C選項只是在導(dǎo)入該模塊時給該模塊起了一個別名,本質(zhì)和A選項一樣。B選項正確的寫法應(yīng)該是frommoduleimportfunctionasf,所以B選項錯誤。
24.C
25.B變量x依次被賦值為[2,8)區(qū)間的自然數(shù),在循環(huán)內(nèi)定義一變量y并賦值為0,即每次計算累加和之前y都被清零,所以結(jié)果為7。
26.C異常指的是在程序運行過程中發(fā)生的異常事件,通常是由外部問題(如硬件錯誤、輸入錯誤)所導(dǎo)致的。錯誤是指導(dǎo)致系統(tǒng)不能按照用戶意圖工作的一切原因、事件。在程序設(shè)計過程中,由于某些錯誤的存在,致使程序無法正常運行,處理這些錯誤以使程序正確運行就稱為錯誤處理。異常和錯誤是完全不同的概念。本題選擇C選項。
27.Cfor循環(huán)將字符串”PythonNCRE”的字符依次賦給變量s,當(dāng)s==”N”時,跳出for循環(huán),故輸出為Python。本題選C選項。
28.Astr1[2:]表示對字符串str1進(jìn)行切片,即從序號為2的字符開始切片直到字符串結(jié)尾(字符串最左側(cè)的字符序號為0),其結(jié)果為“npython@*”;strip(Chars)方法是從字符串中去掉其左側(cè)和右側(cè)chars中列出的字符,“python@*”.strip(‘@’)表示將字符串左側(cè)和右側(cè)的”字符去掉,由于字符串左側(cè)和右側(cè)均無“@”字符,因此結(jié)果為“python@*”。本題選擇A選項。
29.DA選項正確,遞歸函數(shù)必須有一個明確的結(jié)束條件作為遞歸的出口;B選項正是遞歸函數(shù)的含義,正確;C選項正確,在計算機(jī)中,函數(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ī)模顯然會相對前一次遞歸減小。本題選擇D選項。
30.C設(shè)葉子結(jié)點數(shù)為〃,則該樹的結(jié)點數(shù)為n+9+5=n+\n14,根據(jù)樹中的結(jié)點數(shù)=樹中所有結(jié)點的度之和+1,得9×3+0×2+5×1+n×0+1=n+14,則n=19。本題選擇C選項。
31.Y
32.Y
33.Y
34.N
35.Y
36.Y
37.Y
38.Y
39.N
40.N
41.True
42.None
43.5
44.True
45.9
46.32
47.[111,11,1]
48.21
49.'Thefirst:97,thesecondis65'
50.['3','1']
51.fromturtleimport*foriinrange(5):fd(200)right(144)該題考查的是Python標(biāo)準(zhǔn)庫——turtle庫,繪制五角星。因為繪制5條邊,所以循環(huán)執(zhí)行5次,故第1空填range(5)。因為五角星邊長為200像素,所以第2空填200。最后由于本題要求使用right()函數(shù),且五角星的內(nèi)角為36度,因此第3空填right(\r\n144)。
52.fi=open(“論語.txt'”r”)fo=open(”論語-原文.txt”,”w”)Flag=falseforlineinfi:If”【“inline:Flag=falseIf”【原文】”inline:Flag=tureContinueIffiag=ture:fo.write(line.lstrip())Fi.close()Fo.close()fi=open("論語-原文.txt"’r’)fo=open("論語-提純原文.txt”,’w’)forlineinfi:Foriinrange(1,23):line=line,replace(“{}”.format(i),””)fowrite(line)Fi.close()Fo.close()(1)題目要求從“論語.txt”文件中提取內(nèi)容,輸出保存到文件“論語-原文.txt”中,因此需要用”r”模式打開“論語”txt”,用”\r\nw”模式創(chuàng)建文件“論語-原文.txt”。本題要求區(qū)域性提取,與單行提取不同,因此,可以借助寫標(biāo)記flag來標(biāo)記操作的是哪里的文本。使用for循環(huán)遍歷“論語.txt”中的每一行,當(dāng)該行存在時,說明已經(jīng)到了新的區(qū)域,寫標(biāo)記設(shè)置為否,即flag\r\n=False;當(dāng)該行存在【原文】時,寫標(biāo)記設(shè)置為True;當(dāng)寫標(biāo)記為True時,就將當(dāng)前行內(nèi)容寫入新的文件”論語-原文.txt"中。對文件操作完成后,使用close()方法關(guān)閉文件。(2)題目要求對“論語-原文.txt”進(jìn)一步提純,保存為“論語-提純原文.txt”文件,因此需要用”r”模式打開“論語-原文.txt”,用”\r\nw”模式創(chuàng)建文件“論語-提純原文.txt”。題目要求去掉每行文字中所有圓括號及內(nèi)部數(shù)字,可在for循環(huán)遍歷“論語-原文.txt”文件中的每一行時,用空格來代替出現(xiàn)的“(數(shù)字)”形式。分析“論語-原文.txt”文件可知,其中出現(xiàn)(1)~(22)共22種可能,因此內(nèi)部嵌套for循環(huán)需要從1遍歷到22,構(gòu)造(i)并替換。替換后將該行內(nèi)容寫入文件“論語-提純原文.txt”中。對文件操作完成后,使用close()方法關(guān)閉文件。
53.s=input()\r\nprint(”{:=>25}”.format(eval(s)))該題目主要考查Python字符串的格式化方法。Python語言推薦使用.format()格式化方法,其使用方式如下:\r\n
<模板字符串>.format(<逗號分隔的參數(shù)>)\r\n
其中,模板字符串是一個由字符串和槽組成的字符串,用來控制字符串和變量的顯示效果。槽用大括號({})表示,對應(yīng)format()方法中逗號分隔的參數(shù)。如果模板字符串中有多個槽,可以通過format()參數(shù)的序號在模板字符串槽中指定參數(shù)的使用,參數(shù)從0開始編號。例如:\r\n”{0}日:學(xué)而不思則罔,思而不學(xué){1}。”.format(”孔子”,”則殆”)\r\n
其結(jié)果為:’孔子日:學(xué)而不思則罔,思而不學(xué)則殆。’\r\n
format()方法的槽除了包括參數(shù)序號,還可以包括格式控制信息,語法格式如下:\r\n
{<參數(shù)序號>:<格式控制標(biāo)記>}\r\n其中,格式控制標(biāo)記包括:<填充><對齊><寬度><,><.精度><類型>6個字段,由引導(dǎo)符號(:)作為引導(dǎo)標(biāo)記,這些字段都是可選的,可以組合使用。\r\n
<填充>:指用于填充的單個字符。\r\n
<對齊>:分別使用<、>和^三個符號表示左對齊、右對齊和居中對齊。\r\n<寬度>:當(dāng)前槽的設(shè)定輸出字符寬度。\r\n<,>:用于顯示數(shù)字類型的千位分隔符。\r\n
<.精度>:由小數(shù)點(.)開頭,對于浮點數(shù),精度表示小數(shù)部分輸出的有效位數(shù);對于字符串,精度表示輸出的最大長度。\r\n
<類型>:表示輸出整數(shù)和浮點數(shù)類型的格式規(guī)則。\r\n
本題格式要求為:寬度為25個字符,等號字符(=)填充,右對齊,帶千位分隔符。則模板字符串為:{:=>25,}。\r\n
由于題目要求帶千位分隔符,所以模板字符串對應(yīng)的:format()方法中的參數(shù)必須是數(shù)字類型,但無論用戶輸入的是字符還是數(shù)字,input()函數(shù)統(tǒng)一按照字符串類型輸出,這時就需要先使用eval()函數(shù)去掉字符串最外側(cè)的引號,然后再參與運算。湖南省永州市全國計算機(jī)等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.S和T是兩個集合,對S&T的描述正確的是()。
A.S和T的交運算,包括同時在集合S和T中的元素
B.S和T的并運算,包括在集合S和T中的所有元素
C.S和T的差運算,包括在集合S但不在T中的元素
D.S和T的補(bǔ)運算,包括S和T中的幾個非相同元素
2.以下程序的輸出結(jié)果是()。ls=[’綠茶’,’烏龍茶’,’紅茶’,’白茶’,’黑茶’]x=’烏龍茶’print(ls.index(x,0))
A.一3B.0C.1D.一4
3.下列哪種情況不會導(dǎo)致Python對象的引用計數(shù)增加()
A.對象被創(chuàng)建B.被作為參數(shù)傳遞給函數(shù)C.成為容器對象的元素D.該對象無法訪問時
4.以下程序的輸出結(jié)果是()。x=4ca=‘123456’ifstr(x)inca: print(ca.replace(ca[x],str(x-2)))
A.123456B.123426C.5D.2
5.擬在屏幕上輸出HelloWorld,使用的Python語句是()。
A.printf(‘HelloWorld’)
B.print(HelloWorld)
C.print(“HelloWorld")
D.printf("HelloWorld")
6.不屬于Python數(shù)據(jù)分析及可視化處理的第三方庫的是()。
A.seabornB.randomC.mayavi2D.NumPy
7.以下代碼的輸出結(jié)果是()。d={”大海”:”藍(lán)色”,”天空":”灰色","大地":”黑色”}print(d["大地”],d.get("天空”,"黃色”))
A.黑色黑色B.黑色灰色C.黑色黃色D.黑色藍(lán)色
8.一棵二叉樹共有25個節(jié)點,其中5個是葉子節(jié)點,則度為1的節(jié)點數(shù)為()。
A.16B.10C.6D.4
9.執(zhí)行以下代碼的結(jié)果是?A.0B.1C.2D.3
10.下列敘述中正確的是()。
A.順序存儲結(jié)構(gòu)的存儲一定是連續(xù)的,鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空間不一定是連續(xù)的
B.順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈?zhǔn)酱鎯Y(jié)構(gòu)只針對非線性結(jié)構(gòu)
C.順序存儲結(jié)構(gòu)能存儲有序表,鏈?zhǔn)酱鎯Y(jié)構(gòu)不能存儲有序表
D.鏈?zhǔn)酱鎯Y(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間
11.結(jié)構(gòu)化程序設(shè)計的基本原則不包括A.多態(tài)性B.自頂向下C.模塊化D.逐步求精
12.執(zhí)行以下代碼的結(jié)果是()A.2B.4C.5D.8
13.下面描述錯誤的是()。
A.對象一定有標(biāo)識B.對象一定有屬性和方法(或操作)C.對象具有封裝性D.不同對象的同一屬性一定有相同的屬性值
14.以下哪個語句不適宜對異常捕獲()
A.try..catchB.assertC.withD.ifelif
15.程序流程圖是()。
A.總體設(shè)計階段使用的表達(dá)工具B.詳細(xì)設(shè)計階段使用的表達(dá)工具C.編碼階段使用的表達(dá)工具D.測試階段使用的表達(dá)工具
16.用Pyinstaller工具打包Python源文件時一F參數(shù)的含義是()。
A.指定所需要的第三方庫路徑
B.在dist文件夾中只生成獨立的打包文件
C.指定生成打包文件的目錄
D.刪除生成的臨時文件
17.執(zhí)行以下代碼的結(jié)果是()A.2B.5C.8D.Anexceptionisthrown
18.下列關(guān)于Python中復(fù)數(shù)類型的描述錯誤的是()。
A.復(fù)數(shù)由實數(shù)部分和虛數(shù)部分構(gòu)成
B.復(fù)數(shù)可以看作二元有序?qū)崝?shù)對(a,b)
C.虛數(shù)部分必須有后綴j,且為小寫
D.復(fù)數(shù)中的虛數(shù)部分不能單獨存在,必須有實數(shù)部分
19.在Python中,使用for—n…方式形成的循環(huán)不能遍歷的類型是()。
A.列表B.復(fù)數(shù)C.字符串D.字典
20.以下程序的輸出結(jié)果是()。s=”LOVES'’print(”{:*^13}".format(s))
A.LOVESB.********LOVESC.LOVES********D.****LOVES****
21.在Python中,將二維數(shù)據(jù)寫入CSV文件,最可能使用的函數(shù)是()。
A.write()B.split()C.join()D.exists()
22.以下屬于Python中Web開發(fā)的第三方庫的是()。
A.DjangoB.TinyDBC.audiolazyD.Pattern
23.現(xiàn)在假設(shè)有一個包含一個函數(shù)的程序放在一個文件中,在主程序文件中使用下面各種方法來導(dǎo)入它,哪一種方法是錯誤的?()
A.importmodule
B.frommoduleasfimportfunction
C.importmoduleasm
D.frommoduleimport*
24.若I,j均為整形數(shù)值對象,以下哪個語句計算i被j除后的余數(shù)()
A.imodjB.i/jC.i%jD.i//j
25.下面代碼的輸出結(jié)果是()。forxinrange(2,8):y=0y+=Xprint(y)
A.27B.7C.8D.35
26.以下描述錯誤的是()。
A.Python是一門動態(tài)的解釋型語言
B.當(dāng)Python腳本程序發(fā)生異常時,如果不處理,運行結(jié)果不可預(yù)測
C.編程語言中的異常和錯誤是完全相同的概念
D.Python通過try、except等保留字提供異常處理功能
27.以下代碼的輸出結(jié)果是()。forsin”PythonNCRE”:ifs==”N”:breakprint(s,end=””)
A.PythonCREB.NC.PythonD.PythonNCRE
28.設(shè)str1=‘*@python@*’,語句print(str1[2:].strip(‘@’))的執(zhí)行結(jié)果是()。
A.python@*B.python*C.*@python@*D.*python*
29.下面關(guān)于遞歸函數(shù)的描述中,錯誤的是()。
A.遞歸函數(shù)必須有一個明確的結(jié)束條件
B.遞歸函數(shù)就是一個函數(shù)在內(nèi)部調(diào)用自身
C.遞歸效率不高,遞歸層次過多會導(dǎo)致棧溢出
D.每進(jìn)入更深一層的遞歸時,問題規(guī)模相對前一次遞歸是不變的
30.樹的度為3,且有9個度為3的節(jié)點,5個度為1的節(jié)點,但沒有度為2的節(jié)點。則該樹中的葉子節(jié)點數(shù)為()。
A.18B.33C.19D.32
二、判斷題(10題)31.在Python中定義函數(shù)時不需要聲明函數(shù)參數(shù)的類型。
A.是B.否
32.Python是一種跨平臺、開源、免費的高級動態(tài)編程語言。
A.是B.否
33.形參可以看做是函數(shù)內(nèi)部的局部變量,函數(shù)運行結(jié)束之后形參就不可訪問了。
A.是B.否
34.在Python中可以使用if作為變量名。
A.是B.否
35.對文件進(jìn)行讀寫操作之后必須顯式關(guān)閉文件以確保所有內(nèi)容都得到保存。
A.是B.否
36.對于Python類中的私有成員,可以通過“對象名._類名__私有成員名”的方式來訪問。
A.是B.否
37.元組可以作為字典的“鍵”。
A.是B.否
38.調(diào)用函數(shù)時,在實參前面加一個型號*表示序列解包。
A.是B.否
39.不同版本的Python不能安裝到同一臺計算機(jī)上。
A.是B.否
40.已知seq為長度大于10的列表,并且已導(dǎo)入random模塊,那么[random.choice(seq)foriinrange(10)]和random.sample(seq,10)等價。A.是B.否
三、填空題(10題)41.已知x={'a':'b','c':'d'},那么表達(dá)式'a'inx的值為______________。
42.已知x=[3,7,5],那么執(zhí)行語句x=x.sort(reverse=True)之后,x的值為_________。
43.表達(dá)式int('101',2)的值為__________。
44.已知列表x=[1,2],執(zhí)行語句y=x后,表達(dá)式id(x)==id(y)的值為_______。
45.表達(dá)式len(range(1,10))的值為___________。
46.已知x=[[1,2,3,],[4,5,6]],那么表達(dá)式sum([i*jfori,jinzip(*x)])的值為______。
47.已知x=[1,11,111],那么執(zhí)行語句x.sort(key=lambdax:len(str(x)),reverse=True)之后,x的值為__________________。
48.表達(dá)式print(0b10101)的值為____________。
49.表達(dá)式'Thefirst:{1},thesecondis{0}'.format(65,97)的值為______________________________。
50.假設(shè)re模塊已導(dǎo)入,那么表達(dá)式re.findall('(\d)\\1+','33abcd112')的值為___________________。
四、操作題(3題)51.考生文件夾下存在一個文件“PY201.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。使用turtle庫的turtle.right()函數(shù)和turtle.fd()函數(shù)繪制一個五角星,邊長為200像素,5個內(nèi)角度數(shù)為36度,效果如下所示。試題程序:#請在程序的_____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼fromturtleimport*foriin_____(1)_____:fd(_____(2)_____)_____(3)_____
52.考生文件夾下存在2個Python源文件和3個文本文件,分別對應(yīng)兩個問題,請按照文件內(nèi)說明修改代碼,實現(xiàn)以下功能。《論語》是儒家學(xué)派的經(jīng)典著作之一,主要記錄了孔子及其弟子言行。這里給出了一個網(wǎng)絡(luò)版本的《論語》,文件名稱為“論語.txt”,其內(nèi)容采用逐句“原文”與逐句“注釋”相結(jié)合的形式組織,通過【原文】標(biāo)記《論語》原文內(nèi)容,通過【注釋】標(biāo)記《論語》注釋內(nèi)容,具體格式請參考“論語.txt”文件。問題1:在“PY301-1.py”文件中修改代碼,提取“論語.txt”文件中的原文內(nèi)容,輸出保存到考生文件夾下,文件名為“論語-原文.txt”。具體要求:僅保留“論語.txt”文件中所有【原文】標(biāo)簽下面的內(nèi)容,不保留標(biāo)簽,并去掉每行行首空格及行尾空格,無空行。原文圓括號及內(nèi)部數(shù)字是源文件中注釋內(nèi)容的標(biāo)記,請保留。文件輸出格式請參考“論語-原文-輸出示例.txt”文件。注意:輸出示例僅幫助考生了解輸出格式,不作它用。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fi=open(“論語.txt",)fo=open(“論語-原文.txt",)…Forlineinfi:…fo.write(line.lstrip())問題2:在“PY301-2.py”文件中修改代碼,對“論語-原文.txt”或“論語.txt”文件進(jìn)一步提純,去掉每行文字中所有圓括號及內(nèi)部數(shù)字,保存為“論語-提純原文.txt”文件。文件輸出格式請參考“論語-提純原文-輸出示例.txt”文件。注意:示例輸出文件僅幫助考生了解輸出格式,不做它用。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fi=open("論語-原文.txt",_____)fo=open("論語-提純原文.txt",_____)Forlineinfi:line=line.replace()
53.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:
鍵盤輸入正整數(shù)n,按要求把n輸出到屏幕,格式要求:寬度為25個字符,等號字符(=)填充,右對齊,帶千位分隔符。如果輸入正整數(shù)超過25位,則按照真實長度輸出。
例如:鍵盤輸入正整數(shù)n為1234,屏幕輸出===================1,234
試題程序:
#請完善如下代碼
s=input()
print(”{________(1)_________}”.format(________(2)_________))
參考答案
1.AS&T返回一個新集合,包括同時在集合S和T中的元素。本題選擇A選項。
2.C列表的index()方法用于從列表中找出某個對象第一個匹配項的索引位置,如果這個對象不在列表中會報一個異常。其語法為:list.index(obj[,start=0[,stop=len(L)]]),其中obj為必須參數(shù),指要查找的對象;start為可選參數(shù),指從哪個索引位置開始查找,默認(rèn)為0;stop為可選參數(shù),指查找到哪個索引位置結(jié)束,默認(rèn)為列表的長度。本題中,查找對象為’烏龍茶’,從索引位置為0處開始查找,查找到第二個元素匹配,故返回其索引位置1。
3.D
4.Bstr(4)=‘4’,此字符在字符串ca中,滿足if條件,執(zhí)行輸出語句。ca.replace(ca[4],str(4-2))是指返回字符串ca副本,ca[4]是指字符串中序號為4的字符‘5’,str(4-2)返回字符‘2’,也就是用字符‘2’來替換字符‘5’。本題選擇B選項。
5.C在Python中,輸出用print()函數(shù),HelloWorld是字符串類型,需要加單引號或雙引號。本題選擇C選項。
6.B屬于Python數(shù)據(jù)分析及可視化的第三方庫的有seabom、NumPy、scipy、pandas、matplotlib、TVTK、mayavi(也稱mayavi2)等。random庫是Python用于產(chǎn)生各種分布的偽隨機(jī)數(shù)序列的庫。本題選擇B選項。
7.B在Python中,字典是存儲可變數(shù)量鍵值對的數(shù)據(jù)結(jié)構(gòu),通過字典類型實現(xiàn)映射。字典使用花括號({})創(chuàng)建,每個元素是一個鍵值對,語法格式為:{<鍵1>:<值1>,<鍵2>:\n<值2>,'…,<鍵n:<值n>}其中,鍵和值通過冒號連接,不同鍵值對通過逗號隔開。字典具有和集合類似的性質(zhì),即鍵值對之間沒有順序且不能重復(fù)。d[鍵]獲取鍵對應(yīng)值的值,d.get(key,defart)方法用來返回key對應(yīng)的值,如果字典中不存在該鍵,則返回默認(rèn)值。本題選擇B選項。
8.A根據(jù)二叉樹的性質(zhì)3:在任意一棵二叉樹中,度為0的葉子結(jié)點總是比度為2的結(jié)點多一個,所以本題中度為2的結(jié)點是5-1\n=4個,所以度為1的結(jié)點的個數(shù)是25-5-4=16個。本題選擇A選項。
9.C
10.A解析:順序存儲結(jié)構(gòu)就是用一組地址連續(xù)的存儲單元依次存儲該線性表中的各個元素,鏈?zhǔn)酱鎯Y(jié)構(gòu)中各數(shù)據(jù)結(jié)點的存儲序號是不連續(xù)的,并且各結(jié)點在存儲空間中的位置關(guān)系與邏輯關(guān)系也不一致,所以選項A是正確的。兩者都可以存儲線性的、有序的邏輯結(jié)構(gòu),所以選項B、C不正確。順序結(jié)構(gòu)使用的是連續(xù)物理空間,鏈?zhǔn)浇Y(jié)構(gòu)可以使用零散的物理空間存儲,鏈?zhǔn)浇Y(jié)構(gòu)更靈活,不存在誰節(jié)約空間的說法,所以選項D不正確。
11.A結(jié)構(gòu)化程序設(shè)計方法的主要原則可以概括為:自頂向下,逐步求精,模塊化和限制使用GOTO語句,其中不包括多態(tài)性。
12.D
13.D屬性即對象所包含的信息,它在設(shè)計對象時確定,一般只能通過執(zhí)行對象的操作來改變。不同對象的同一屬性可以具有相同或不同的屬性值。例如,張三的年齡是20,李四的年齡是18,張三、李四是兩個不同的對象,他們共同的屬性”年齡”的值不同。
14.D
15.B詳細(xì)設(shè)計階段常見的工具有程序流程圖、N—S圖、PAD圖、HIPO圖、判定表等。本題選B選項。
16.B一F是指在dist文件夾中只生成獨立的打包文件(即exe文件),所有的第三方依賴、資源和代碼均打包進(jìn)此exe中。
17.D
18.CPython中復(fù)數(shù)類型的虛數(shù)部分的后綴可以為j或者J;復(fù)數(shù)的實部可以單獨存在,但是虛部不可以單獨存在;復(fù)數(shù)由實部和虛部構(gòu)成,可以使用z.\nreal和z.imag分別獲得它的實部和虛部。本題選擇C選項。
19.B在Python中,使用for…in…方式形成的循環(huán)能遍歷的類型有字符串、文件、range()函數(shù)或組合數(shù)據(jù)類型,不能遍歷復(fù)數(shù)。本題選擇B選項。
20.D本題考查的是字符串輸出格式化知識點,其中“{:*^13},,表示輸出的字符串長度為13,居中對齊,空白處用“*”填充。最后輸出的是****LOVES****,D項正確。
21.C在Python中,二維列表對象輸出CSV文件時,采用遍歷循環(huán)和字符串的join()方法相結(jié)合的方法。方法如下:#ls代表二維列表,此處省略f=open('cpi.csv','w')forrowinIs£.write(“,'.join(row)\\n')f.close()本題選擇C選項。
22.AB選項是一個微型的面向文檔的數(shù)據(jù)庫,C選項是Python的數(shù)字信號處理包,D選項是Python的網(wǎng)絡(luò)信息挖掘模塊。本題選擇A選項。
23.BD選項用于導(dǎo)入模塊中所有的函數(shù)從而直接調(diào)用該模塊中的函數(shù);A選項直接導(dǎo)入整個模塊,再利用“模塊名.函數(shù)名”這樣的方式來運行該模塊中的函數(shù);C選項只是在導(dǎo)入該模塊時給該模塊起了一個別名,本質(zhì)和A選項一樣。B選項正確的寫法應(yīng)該是frommoduleimportfunctionasf,所以B選項錯誤。
24.C
25.B變量x依次被賦值為[2,8)區(qū)間的自然數(shù),在循環(huán)內(nèi)定義一變量y并賦值為0,即每次計算累加和之前y都被清零,所以結(jié)果為7。
26.C異常指的是在程序運行過程中發(fā)生的異常事件,通常是由外部問題(如硬件錯誤、輸入錯誤)所導(dǎo)致的。錯誤是指導(dǎo)致系統(tǒng)不能按照用戶意圖工作的一切原因、事件。在程序設(shè)計過程中,由于某些錯誤的存在,致使程序無法正常運行,處理這些錯誤以使程序正確運行就稱為錯誤處理。異常和錯誤是完全不同的概念。本題選擇C選項。
27.Cfor循環(huán)將字符串”PythonNCRE”的字符依次賦給變量s,當(dāng)s==”N”時,跳出for循環(huán),故輸出為Python。本題選C選項。
28.Astr1[2:]表示對字符串str1進(jìn)行切片,即從序號為2的字符開始切片直到字符串結(jié)尾(字符串最左側(cè)的字符序號為0),其結(jié)果為“npython@*”;strip(Chars)方法是從字符串中去掉其左側(cè)和右側(cè)chars中列出的字符,“python@*”.strip(‘@’)表示將字符串左側(cè)和右側(cè)的”字符去掉,由于字符串左側(cè)和右側(cè)均無“@”字符,因此結(jié)果為“python@*”。本題選擇A選項。
29.DA選項正確,遞歸函數(shù)必須有一個明確的結(jié)束條件作為遞歸的出口;B選項正是遞歸函數(shù)的含義,正確;C選項正確,在計算機(jī)中,函數(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ī)模顯然會相對前一次遞歸減小。本題選擇D選項。
30.C設(shè)葉子結(jié)點數(shù)為〃,則該樹的結(jié)點數(shù)為n+9+5=n+\n14,根據(jù)樹中的結(jié)點數(shù)=樹中所有結(jié)點的度之和+1,得9×3+0×2+5×1+n×0+1=n+14,則n=19。本題選擇C選項。
31.Y
32.Y
33.Y
34.N
35.Y
36.Y
37.Y
38.Y
39.N
40.N
41.True
42.None
43.5
44.True
45.9
46.32
47.[111,11,1]
48.21
49.'Thefirst:97,thesecondis65'
50.['3','1']
51.fromturtleimport*foriinrange(5):fd(200)right(144)該題考查的是Python標(biāo)準(zhǔn)庫——turtle庫,繪制五角星。因為繪制5條邊,所以循環(huán)執(zhí)行5次,故第1空填range(5)。因為五角星邊長為200像素,所以第2空填200。最后由于本題要求使用right()函數(shù),且五角星的內(nèi)角為36度,因此第3空填right(\r\n144)。
52.fi=open(“論語.txt'”r”)fo=open(”論語-原文.txt”,”w”)Flag=falseforlineinfi:If”【“inline:Flag=falseIf”【原文】”inline:Flag=tureContinueIffiag=ture:fo.write(line.lstrip())Fi.close()Fo.close()fi=open("論語-原文.txt"’r’)fo=open("論語-提純原文.txt”,’w’)forlineinfi:Foriinrange(1,23):line=line,replace(“{}”.format(i),””)fowrite(line)Fi.close()Fo.close()(1)題目要求從“論語.txt”文件中提取內(nèi)容,輸出保存到文件“論語-原文.txt”中,因此需要用”r”模式打開“論語”txt”,用”\r\nw”模式創(chuàng)建文件“論語-原文.txt”。本題要求區(qū)域性提取,與單行提取不同,因此,可以借助寫標(biāo)記flag來標(biāo)記操作的是哪里的文本。使用for循環(huán)遍歷“論語.txt”中的每一行,當(dāng)該行存在時,說明已經(jīng)到了新的區(qū)域,寫標(biāo)記設(shè)置為否,即flag\r\n=False;當(dāng)該行存在【原文】時,寫標(biāo)記設(shè)置為True;當(dāng)寫標(biāo)記為True時,就將當(dāng)前行內(nèi)容寫入新的文件”論語-原文.txt"中。對文件操作完成后,使用close()方法關(guān)閉文件。(2)題目要求對“論語-原文.txt”進(jìn)一步提純,保存為“論語-提純原文.txt”文件,因此需要用”r”模式打開“論語-原文.txt”,用”\r\nw”模式創(chuàng)建文件“論語-提純原文.txt”。題目要求去掉每行文字中所有圓括號及內(nèi)部數(shù)字,可在for循環(huán)遍歷“論語-原文.txt”文件中的每一行時,用空格來代替出現(xiàn)的“(數(shù)字)”形式。分析“論語-原文.txt”文件可知,其中出現(xiàn)(1)~(22)共22種可能,因此內(nèi)部嵌套for循環(huán)需要從1遍歷到22,構(gòu)造(i)并替換。替換后將該行內(nèi)容寫入文件“論語-提純原文.txt”中。對文件操作完成后,使用close()方法關(guān)閉文件。
53.s=input()\r\nprint(”{:=>25}”.format(eval(s)))該題目主要考查Python字符串的格式化方法。Python語言推薦使用.format()格式化方法,其使用方式如下:\r\n
<模板字符串>.format(<逗號分隔的參數(shù)>)\r\n
其中,模板字符串是一個由字符串和槽組成的字符串,用來控制字符串和變量的顯示效果。槽用大括號({})表示,對應(yīng)format()方法中逗號分隔的參數(shù)。如果模板字符串中有多個槽,可以通過format()參數(shù)的序號在模板字符串槽中指定參數(shù)的使用,參數(shù)從0開始編號。例如:\r\n”{0}日:學(xué)而不思則罔,思而不學(xué){1}。”.format(”孔子”,”則殆”)\r\n
其結(jié)果為:’孔子日:學(xué)而不思則罔,思而不學(xué)則殆。’\r\n
format()方法的槽除了包括參數(shù)序號,還可以包括格式控制信息,語法格式如下:\r\n
{<參數(shù)序號>:<格式控制標(biāo)記>}\r\n其中,格式控制標(biāo)記包括:<填充><對齊><寬度><,><.精度><類型>6個字段,由引導(dǎo)符號(:)作為引導(dǎo)標(biāo)記,這些字段都是可選的,可以組合使用。\r\n
<填充>:指用于填充的單個字符。\r\n
<對齊>:分別使用<、>和^三個符號表示左對齊、右對齊和居中對齊。\r\n<寬度>:當(dāng)前槽的設(shè)定輸出字符寬度。\r\n<,>:用于顯示數(shù)字類型的千位分隔符。\r\n
<.精度>:由小數(shù)點(.)開頭,對于浮點數(shù),精度表示小數(shù)部分輸出的有效位數(shù);對于字符串,精度表示輸出的最大長度。\r\n
<類型>:表示輸出整數(shù)和浮點數(shù)類型的格式規(guī)則。\r\n
本題格式要求為:寬度為25個字符,等號字符(=)填充,右對齊,帶千位分隔符。則模板字符串為:{:=>25,}。\r\n
由于題目要求帶千位分隔符,所以模板字符串對應(yīng)的:format()方法中的參數(shù)必須是數(shù)字類型,但無論用戶輸入的是字符還是數(shù)字,input()函數(shù)統(tǒng)一按照字符串類型輸出,這時就需要先使用eval()函數(shù)去掉字符串最外側(cè)的引號,然后再參與運算。湖南省永州市全國計算機(jī)等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.S和T是兩個集合,對S&T的描述正確的是()。
A.S和T的交運算,包括同時在集合S和T中的元素
B.S和T的并運算,包括在集合S和T中的所有元素
C.S和T的差運算,包括在集合S但不在T中的元素
D.S和T的補(bǔ)運算,包括S和T中的幾個非相同元素
2.以下程序的輸出結(jié)果是()。ls=[’綠茶’,’烏龍茶’,’紅茶’,’白茶’,’黑茶’]x=’烏龍茶’print(ls.index(x,0))
A.一3B.0C.1D.一4
3.下列哪種情況不會導(dǎo)致Python對象的引用計數(shù)增加()
A.對象被創(chuàng)建B.被作為參數(shù)傳遞給函數(shù)C.成為容器對象的元素D.該對象無法訪問時
4.以下程序的輸出結(jié)果是()。x=4ca=‘123456’ifstr(x)inca: print(ca.replace(ca[x],str(x-2)))
A.123456B.123426C.5D.2
5.擬在屏幕上輸出HelloWorld,使用的Python語句是()。
A.printf(‘HelloWorld’)
B.print(HelloWorld)
C.print(“HelloWorld")
D.printf("HelloWorld")
6.不屬于Python數(shù)據(jù)分析及可視化處理的第三方庫的是()。
A.seabornB.randomC.mayavi2D.NumPy
7.以下代碼的輸出結(jié)果是()。d={”大海”:”藍(lán)色”,”天空":”灰色","大地":”黑色”}print(d["大地”],d.get("天空”,"黃色”))
A.黑色黑色B.黑色灰色C.黑色黃色D.黑色藍(lán)色
8.一棵二叉樹共有25個節(jié)點,其中5個是葉子節(jié)點,則度為1的節(jié)點數(shù)為()。
A.16B.10C.6D.4
9.執(zhí)行以下代碼的結(jié)果是?A.0B.1C.2D.3
10.下列敘述中正確的是()。
A.順序存儲結(jié)構(gòu)的存儲一定是連續(xù)的,鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空間不一定是連續(xù)的
B.順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈?zhǔn)酱鎯Y(jié)構(gòu)只針對非線性結(jié)構(gòu)
C.順序存儲結(jié)構(gòu)能存儲有序表,鏈?zhǔn)酱鎯Y(jié)構(gòu)不能存儲有序表
D.鏈?zhǔn)酱鎯Y(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間
11.結(jié)構(gòu)化程序設(shè)計的基本原則不包括A.多態(tài)性B.自頂向下C.模塊化D.逐步求精
12.執(zhí)行以下代碼的結(jié)果是()A.2B.4C.5D.8
13.下面描述錯誤的是()。
A.對象一定有標(biāo)識B.對象一定有屬性和方法(或操作)C.對象具有封裝性D.不同對象的同一屬性一定有相同的屬性值
14.以下哪個語句不適宜對異常捕獲()
A.try..catchB.assertC.withD.ifelif
15.程序流程圖是()。
A.總體設(shè)計階段使用的表達(dá)工具B.詳細(xì)設(shè)計階段使用的表達(dá)工具C.編碼階段使用的表達(dá)工具D.測試階段使用的表達(dá)工具
16.用Pyinstaller工具打包Python源文件時一F參數(shù)的含義是()。
A.指定所需要的第三方庫路徑
B.在dist文件夾中只生成獨立的打包文件
C.指定生成打包文件的目錄
D.刪除生成的臨時文件
17.執(zhí)行以下代碼的結(jié)果是()A.2B.5C.8D.Anexceptionisthrown
18.下列關(guān)于Python中復(fù)數(shù)類型的描述錯誤的是()。
A.復(fù)數(shù)由實數(shù)部分和虛數(shù)部分構(gòu)成
B.復(fù)數(shù)可以看作二元有序?qū)崝?shù)對(a,b)
C.虛數(shù)部分必須有后綴j,且為小寫
D.復(fù)數(shù)中的虛數(shù)部分不能單獨存在,必須有實數(shù)部分
19.在Python中,使用for—n…方式形成的循環(huán)不能遍歷的類型是()。
A.列表B.復(fù)數(shù)C.字符串D.字典
20.以下程序的輸出結(jié)果是()。s=”LOVES'’print(”{:*^13}".format(s))
A.LOVESB.********LOVESC.LOVES********D.****LOVES****
21.在Python中,將二維數(shù)據(jù)寫入CSV文件,最可能使用的函數(shù)是()。
A.write()B.split()C.join()D.exists()
22.以下屬于Python中Web開發(fā)的第三方庫的是()。
A.DjangoB.TinyDBC.audiolazyD.Pattern
23.現(xiàn)在假設(shè)有一個包含一個函數(shù)的程序放在一個文件中,在主程序文件中使用下面各種方法來導(dǎo)入它,哪一種方法是錯誤的?()
A.importmodule
B.frommoduleasfimportfunction
C.importmoduleasm
D.frommoduleimport*
24.若I,j均為整形數(shù)值對象,以下哪個語句計算i被j除后的余數(shù)()
A.imodjB.i/jC.i%jD.i//j
25.下面代碼的輸出結(jié)果是()。forxinrange(2,8):y=0y+=Xprint(y)
A.27B.7C.8D.35
26.以下描述錯誤的是()。
A.Python是一門動態(tài)的解釋型語言
B.當(dāng)Python腳本程序發(fā)生異常時,如果不處理,運行結(jié)果不可預(yù)測
C.編程語言中的異常和錯誤是完全相同的概念
D.Python通過try、except等保留字提供異常處理功能
27.以下代碼的輸出結(jié)果是()。forsin”PythonNCRE”:ifs==”N”:breakprint(s,end=””)
A.PythonCREB.NC.PythonD.PythonNCRE
28.設(shè)str1=‘*@python@*’,語句print(str1[2:].strip(‘@’))的執(zhí)行結(jié)果是()。
A.python@*B.python*C.*@python@*D.*python*
29.下面關(guān)于遞歸函數(shù)的描述中,錯誤的是()。
A.遞歸函數(shù)必須有一個明確的結(jié)束條件
B.遞歸函數(shù)就是一個函數(shù)在內(nèi)部調(diào)用自身
C.遞歸效率不高,遞歸層次過多會導(dǎo)致棧溢出
D.每進(jìn)入更深一層的遞歸時,問題規(guī)模相對前一次遞歸是不變的
30.樹的度為3,且有9個度為3的節(jié)點,5個度為1的節(jié)點,但沒有度為2的節(jié)點。則該樹中的葉子節(jié)點數(shù)為()。
A.18B.33C.19D.32
二、判斷題(10題)31.在Python中定義函數(shù)時不需要聲明函數(shù)參數(shù)的類型。
A.是B.否
32.Python是一種跨平臺、開源、免費的高級動態(tài)編程語言。
A.是B.否
33.形參可以看做是函數(shù)內(nèi)部的局部變量,函數(shù)運行結(jié)束之后形參就不可訪問了。
A.是B.否
34.在Python中可以使用if作為變量名。
A.是B.否
35.對文件進(jìn)行讀寫操作之后必須顯式關(guān)閉文件以確保所有內(nèi)容都得到保存。
A.是B.否
36.對于Python類中的私有成員,可以通過“對象名._類名__私有成員名”的方式來訪問。
A.是B.否
37.元組可以作為字典的“鍵”。
A.是B.否
38.調(diào)用函數(shù)時,在實參前面加一個型號*表示序列解包。
A.是B.否
39.不同版本的Python不能安裝到同一臺計算機(jī)上。
A.是B.否
40.已知seq為長度大于10的列表,并且已導(dǎo)入random模塊,那么[random.choice(seq)foriinrange(10)]和random.sample(seq,10)等價。A.是B.否
三、填空題(10題)41.已知x={'a':'b','c':'d'},那么表達(dá)式'a'inx的值為______________。
42.已知x=[3,7,5],那么執(zhí)行語句x=x.sort(reverse=True)之后,x的值為_________。
43.表達(dá)式int('101',2)的值為__________。
44.已知列表x=[1,2],執(zhí)行語句y=x后,表達(dá)式id(x)==id(y)的值為_______。
45.表達(dá)式len(range(1,10))的值為___________。
46.已知x=[[1,2,3,],[4,5,6]],那么表達(dá)式sum([i*jfori,jinzip(*x)])的值為______。
47.已知x=[1,11,111],那么執(zhí)行語句x.sort(key=lambdax:len(str(x)),reverse=True)之后,x的值為__________________。
48.表達(dá)式print(0b10101)的值為____________。
49.表達(dá)式'Thefirst:{1},thesecondis{0}'.format(65,97)的值為______________________________。
50.假設(shè)re模塊已導(dǎo)入,那么表達(dá)式re.findall('(\d)\\1+','33abcd112')的值為___________________。
四、操作題(3題)51.考生文件夾下存在一個文件“PY201.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。使用turtle庫的turtle.right()函數(shù)和turtle.fd()函數(shù)繪制一個五角星,邊長為200像素,5個內(nèi)角度數(shù)為36度,效果如下所示。試題程序:#請在程序的_____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼fromturtleimport*foriin_____(1)_____:fd(_____(2)_____)_____(3)_____
52.考生文件夾下存在2個Python源文件和3個文本文件,分別對應(yīng)兩個問題,請按照文件內(nèi)說明修改代碼,實現(xiàn)以下功能。《論語》是儒家學(xué)派的經(jīng)典著作之一,主要記錄了孔子及其弟子言行。這里給出了一個網(wǎng)絡(luò)版本的《論語》,文件名稱為“論語.txt”,其內(nèi)容采用逐句“原文”與逐句“注釋”相結(jié)合的形式組織,通過【原文】標(biāo)記《論語》原文內(nèi)容,通過【注釋】標(biāo)記《論語》注釋內(nèi)容,具體格式請參考“論語.txt”文件。問題1:在“PY301-1.py”文件中修改代碼,提取“論語.txt”文件中的原文內(nèi)容,輸出保存到考生文件夾下,文件名為“論語-原文.txt”。具體要求:僅保留“論語.txt”文件中所有【原文】標(biāo)簽下面的內(nèi)容,不保留標(biāo)簽,并去掉每行行首空格及行尾空格,無空行。原文圓括號及內(nèi)部數(shù)字是源文件中注釋內(nèi)容的標(biāo)記,請保留。文件輸出格式請參考“論語-原文-輸出示例.txt”文件。注意:輸出示例僅幫助考生了解輸出格式,不作它用。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fi=open(“論語.txt",)fo=open(“論語-原文.txt",)…Forlineinfi:…fo.write(line.lstrip())問題2:在“PY301-2.py”文件中修改代碼,對“論語-原文.txt”或“論語.txt”文件進(jìn)一步提純,去掉每行文字中所有圓括號及內(nèi)部數(shù)字,保存為“論語-提純原文.txt”文件。文件輸出格式請參考“論語-提純原文-輸出示例.txt”文件。注意:示例輸出文件僅幫助考生了解輸出格式,不做它用。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fi=open("論語-原文.txt",_____)fo=open("論語-提純原文.txt",_____)Forlineinfi:line=line.replace()
53.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:
鍵盤輸入正整數(shù)n,按要求把n輸出到屏幕,格式要求:寬度為25個字符,等號字符(=)填充,右對齊,帶千位分隔符。如果輸入正整數(shù)超過25位,則按照真實長度輸出。
例如:鍵盤輸入正整數(shù)n為1234,屏幕輸出===================1,234
試題程序:
#請完善如下代碼
s=input()
print(”{________(1)_________}”.format(________(2)_________))
參考答案
1.AS&T返回一個新集合,包括同時在集合S和T中的元素。本題選擇A選項。
2.C列表的index()方法用于從列表中找出某個對象第一個匹配項的索引位置,如果這個對象不在列表中會報一個異常。其語法為:list.index(obj[,start=0[,stop=len(L)]]),其中obj為必須參數(shù),指要查找的對象;start為可選參數(shù),指從哪個索引位置開始查找,默認(rèn)為0;stop為可選參數(shù),指查找到哪個索引位置結(jié)束,默認(rèn)為列表的長度。本題中,查找對象為’烏龍茶’,從索引位置為0處開始查找,查找到第二個元素匹配,故返回其索引位置1。
3.D
4.Bstr(4)=‘4’,此字符在字符串ca中,滿足if條件,執(zhí)行輸出語句。ca.replace(ca[4],str(4-2))是指返回字符串ca副本,ca[4]是指字符串中序號為4的字符‘5’,str(4-2)返回字符‘2’,也就是用字符‘2’來替換字符‘5’。本題選擇B選項。
5.C在Python中,輸出用print()函數(shù),HelloWorld是字符串類型,需要加單引號或雙引號。本題選擇C選項。
6.B屬于Python數(shù)據(jù)分析及可視化的第三方庫的有seabom、NumPy、scipy、pandas、matplotlib、TVTK、mayavi(也稱mayavi2)等。random庫是Python用于產(chǎn)生各種分布的偽隨機(jī)數(shù)序列的庫。本題選擇B選項。
7.B在Python中,字典是存儲可變數(shù)量鍵值對的數(shù)據(jù)結(jié)構(gòu),通過字典類型實現(xiàn)映射。字典使用花括號({})創(chuàng)建,每個元素是一個鍵值對,語法格式為:{<鍵1>:<值1>,<鍵2>:\n<值2>,'…,<鍵n:<值n>}其中,鍵和值通過冒號連接,不同鍵值對通過逗號隔開。字典具有和集合類似的性質(zhì),即鍵值對之間沒有順序且不能重復(fù)。d[鍵]獲取鍵對應(yīng)值的值,d.get(key,defart)方法用來返回key對應(yīng)的值,如果字典中不存在該鍵,則返回默認(rèn)值。本題選擇B選項。
8.A根據(jù)二叉樹的性質(zhì)3:在任意一棵二叉樹中,度為0的葉子結(jié)點總是比度為2的結(jié)點多一個,所以本題中度為2的結(jié)點是5-1\n=4個,所以度為1的結(jié)點的個數(shù)是25-5-4=16個。本題選擇A選項。
9.C
10.A解析:順序存儲
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 草原土地流轉(zhuǎn)與承包管理合同
- 采礦權(quán)質(zhì)押貸款合同范本下載
- 公司檢測合同管理制度
- 公司保潔車輛管理制度
- 免疫規(guī)劃資料管理制度
- 關(guān)于辦公著裝管理制度
- 小學(xué)質(zhì)量獎懲管理制度
- 工程業(yè)務(wù)洽談管理制度
- 基層工會上墻管理制度
- 城管沒收暫扣管理制度
- 新聞學(xué)概論ppt全套教學(xué)課件
- 2022更新國家開放大學(xué)電大本科《英語教學(xué)理論與實踐》2023-2024期末試題及答案(試卷代號:1366)
- 2022年中南大學(xué)網(wǎng)絡(luò)教育《公務(wù)員制度-》在線作業(yè)二及參考答案
- 私教工作表格健康問卷
- 國外教材精選 課后習(xí)題答案量子力學(xué)概論 格里菲斯 習(xí)題解
- 稀土產(chǎn)業(yè)園建設(shè)項目建議書(參考范文)
- Q∕GDW 12166-2021 換流站直流類設(shè)備質(zhì)量評級技術(shù)導(dǎo)則
- 少先隊員入隊好人好事記錄表
- 土木工程施工課程設(shè)計土木工程施工課程設(shè)計
- 型鍋爐高硫無煙煤煙氣袋式除塵濕式脫硫系統(tǒng)設(shè)計
- 《千克、克、噸》知識點歸納
評論
0/150
提交評論