版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
遼寧省阜新市全國(guó)計(jì)算機(jī)等級(jí)考試Python語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(30題)1.以下不屬于Python控制結(jié)構(gòu)的是()。
A.順序結(jié)構(gòu)B.循環(huán)結(jié)構(gòu)C.分支結(jié)構(gòu)D.數(shù)據(jù)結(jié)構(gòu)
2.表達(dá)式list(map(lambdax:x*2,[1,2,3,4,’hi’]))的返回值是()
A.[1,2,3,4,’hi’]
B.[2,4,6,8,'hihi']
C.[2,4,6,8,'hi','hi']
D.異常
3.以下程序的輸出結(jié)果是()。Is=[‘book’,666,[2018,‘python’,314],20]print(ls[2][1][-2])
A.nB.pythonC.oD.結(jié)果錯(cuò)誤
4.下列不屬于處理Python中字典的方法的是()。
A.pop()B.replace()C.get()D.popitem()
5.以下哪種類型是Python的映射類型?()
A.strB.tupleC.listD.dict
6.下面的排序算法中初始數(shù)據(jù)集的排列順序?qū)λ惴ǖ男阅軣o(wú)影響的是()A.插入排序B.堆排序C.冒泡排序D.快速排序
7.某完全二叉樹(shù)有256個(gè)節(jié)點(diǎn),則該二叉樹(shù)的深度為()。
A.7B.8C.9D.10
8.用Pyinstaller工具打包Python源文件時(shí)一F參數(shù)的含義是()。
A.指定所需要的第三方庫(kù)路徑
B.在dist文件夾中只生成獨(dú)立的打包文件
C.指定生成打包文件的目錄
D.刪除生成的臨時(shí)文件
9.以下程序的輸出結(jié)果是()。forcin’PythonNCRE’:ifc==’N’:breakprint?
A.無(wú)輸出B.PythonC.PythoD.PythonCRE
10.算法的空間復(fù)雜度是指()。
A.算法在執(zhí)行過(guò)程中所需要的計(jì)算機(jī)存儲(chǔ)空間
B.算法所處理的數(shù)據(jù)量
C.算法程序中的語(yǔ)句或指令條數(shù)
D.算法在執(zhí)行過(guò)程中所需要的臨時(shí)工作單元數(shù)
11.下面代碼的輸出結(jié)果是()。foriinrange(3):print(i,end=’,')
A.0,l,2B.0,l,2,C.l,2,3D.l,2,3,
12.有三個(gè)關(guān)系R、S和T如下:[*9]由關(guān)系R和S通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。
A.笛卡爾積B.交C.并D.自然連接
13.dict([['one',1],['two',2]])的返回是()
A.{'one':1,'two':2}
B.[{'one':1,'two':2}]
C.{2,3}
D.['one','two']
14.以下程序的輸出結(jié)果是()。
A.LOVESB.********LOVESC.LOVES********D.****LOVES****
15.以下程序的輸出結(jié)果是()。x=10whilex:x-=1ifnotx%2:print(x,end=‘’)else:print(x)A.86420B.975311C.97531D.864200
16.在Python語(yǔ)言中,讀入CSV文件保存的二維數(shù)據(jù),按特定分隔符抽取信息,最可能用到的函數(shù)是()。
A.read()B.join()C.replace()D.split()
17.random庫(kù)采用更多的偽隨機(jī)數(shù)序列生成算法是()。
A.梅森旋轉(zhuǎn)算法B.蒙特卡洛方法C.線性同余法D.平方取中法
18.對(duì)于以下代碼的描述正確的是()。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”
19.文件exam.txt與以下代碼在同一目錄下,其內(nèi)容是一段文本:bigBen,以下代碼的輸出結(jié)果是()。f=open(”exam.txt”)print(f)f.close()
A.bigBenB.exam.txtC.<_io.TextIOWrapper…>D.exam
20.以下保留字不屬于分支或循環(huán)邏輯的是()。
A.elifB.doC.forD.while
21.以下代碼的輸出結(jié)果是()。deffibRate(n):ifn<=0:return—1elifn==1:retum—1elifn==2:return1else:L=[1,5]foriinrange(2,n):L.a(chǎn)ppend(L[一1]+L[一2])returnL[一2]%L[一1]print(fibRate(7))
A.0.6B.28C.一1D.1
22.下列說(shuō)法正確的是()。
A.set()可以將任何類型轉(zhuǎn)換為集合類型
B.remove()方法刪除集合中的元素,不管元素存不存在都不報(bào)錯(cuò)
C.集合中的元素不可重復(fù),元素類型只能是不可變數(shù)據(jù)類型
D.集合元素是有序的
23.數(shù)據(jù)庫(kù)管理系統(tǒng)能實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的查詢、插入、修改及刪除,這類功能稱為()。
A.數(shù)據(jù)控制功能B.數(shù)據(jù)定義功能C.數(shù)據(jù)存儲(chǔ)功能D.數(shù)據(jù)操縱功能
24.下面關(guān)于Python中類的繼承,說(shuō)法錯(cuò)誤的是()。
A.創(chuàng)建子類時(shí),父類必須包含在當(dāng)前文件夾且位于子類的前面
B.定義子類時(shí),必須在括號(hào)內(nèi)指明子類所要繼承的父類的名稱
C.如果調(diào)用的是繼承的父類中的公有方法,可以在這個(gè)公有方法中訪問(wèn)父類中的私有屬性和私有方法
D.如果在子類中實(shí)現(xiàn)了一個(gè)公有方法,該方法也能調(diào)用繼承的父類中的私有方法和私有屬性
25.以下程序的輸出結(jié)果是()。f=lambdax,y:xifx<yelseya=f(“aa”,“bb”)b=f(“bb”,“aa”)print(a,b)
A.aaaaB.aabbC.bbaaD.bbbb
26.以下關(guān)于浮點(diǎn)數(shù)3.0和整數(shù)3的描述,正確的是()。
A.兩者使用相同的硬件執(zhí)行單元B.兩者使用相同的計(jì)算機(jī)指令處理方法C.兩者是相同的數(shù)據(jù)類型D.兩者具有相同的值
27.概念模型是()。
A.用于現(xiàn)實(shí)世界的建模,與具體的DBMS有關(guān)
B.用于信息世界的建模,與具體的DBMS有關(guān)
C.用于現(xiàn)實(shí)世界的建模,與具體的DBMS無(wú)關(guān)
D.用于信息世界的建模,與具體的DBMS無(wú)關(guān)
28.某二叉樹(shù)有5個(gè)度為2的節(jié)點(diǎn),則該二叉樹(shù)中的葉子節(jié)點(diǎn)數(shù)是()。
A.10B.8C.6D.4
29.關(guān)于以下代碼的描述中,正確的是()。deffact(n):s=1foriinrange(1,n+1):s*=ireturns
A.代碼中n是可選參數(shù)
B.fact(n)函數(shù)功能為求n的階乘
C.s是全局變量
D.range()函數(shù)的范圍是[1,n+1]
30.deque是一種()數(shù)據(jù)結(jié)構(gòu)
A.HeapB.StackC.隊(duì)列D.雙端隊(duì)列
二、判斷題(10題)31.0o12f是合法的八進(jìn)制數(shù)字。
A.是B.否
32.Python支持多繼承,如果父類中有相同的方法名,而在子類中調(diào)用時(shí)沒(méi)有指定父類名,則Python解釋器將從左向右按順序進(jìn)行搜索。
A.是B.否
33.已知x為非空列表,那么表達(dá)式sorted(x,reverse=True)==list(reversed(x))的值一定是True。
A.是B.否
34.正則表達(dá)式模塊re的match()方法是從字符串的開(kāi)始匹配特定模式,而search()方法是在整個(gè)字符串中尋找模式,這兩個(gè)方法如果匹配成功則返回match對(duì)象,匹配失敗則返回空值None。
A.是B.否
35.刪除列表中重復(fù)元素最簡(jiǎn)單的方法是將其轉(zhuǎn)換為集合后再重新轉(zhuǎn)換為列表。
A.是B.否
36.Python變量名必須以字母或下劃線開(kāi)頭,并且區(qū)分字母大小寫。
A.是B.否
37.已知seq為長(zhǎng)度大于10的列表,并且已導(dǎo)入random模塊,那么[random.choice(seq)foriinrange(10)]和random.sample(seq,10)等價(jià)。
A.是B.否
38.可以使用del刪除集合中的部分元素。
A.是B.否
39.無(wú)法刪除集合中指定位置的元素,只能刪除特定值的元素。
A.是B.否
40.Python是一種跨平臺(tái)、開(kāi)源、免費(fèi)的高級(jí)動(dòng)態(tài)編程語(yǔ)言。
A.是B.否
三、填空題(10題)41.已知列表x=[1,2],那么連續(xù)執(zhí)行命令y=x[:]和y.append(3)之后,x的值為_(kāi)_______。
42.表達(dá)式list(filter(None,[0,1,2,3,0,0]))的值為_(kāi)__________________。
43.表達(dá)式'abc10'.isalpha()的值為_(kāi)_______________。
44.表達(dá)式len('SDIBT')的值為_(kāi)_________。
45.已知x=[3,5,7],那么表達(dá)式x[10:]的值為_(kāi)___________。
46.查看對(duì)象內(nèi)存地址的Python內(nèi)置函數(shù)是__________。
47.已知列表x=[1,2],執(zhí)行語(yǔ)句y=x后,表達(dá)式id(x)==id(y)的值為_(kāi)______。
48.表達(dá)式len('Helloworld!'.ljust(20))的值為_(kāi)________。
49.表達(dá)式{1,2,3}=={1,3,2}的值為_(kāi)__________。
50.表達(dá)式sorted(['abc','acd','ade'],key=lambdax:(x[0],x[2]))的值為_(kāi)____________。
四、操作題(3題)51.考生文件夾下存在一個(gè)文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改,請(qǐng)?jiān)谠撐募芯帉懘a,以實(shí)現(xiàn)如下功能。輸出九九乘法表。按照乘法表的格式輸出九九乘法表,并將輸出的結(jié)果保存在考生文件夾下,命名為“PY202.txt”。試題程序:#以下代碼為提示框架#請(qǐng)?jiān)?..處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fo=open("PY202.txt","w")fo.close()
52.考生文件夾下存在一個(gè)文件PY103.py,請(qǐng)寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能:使用循環(huán)輸出從1到50之間的奇數(shù)。
試題程序:
#請(qǐng)?jiān)赺____處使用一行代碼或表達(dá)式替換
#注意:請(qǐng)不要修改其他已給出代碼______whilecount<50:
ifcount%2==0:
print(count,end=”,”)
53.考生文件夾下存在一個(gè)文件PY101.py,請(qǐng)寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能:
鍵盤輸入正整數(shù)n,按要求把n輸出到屏幕,格式要求:寬度為25個(gè)字符,等號(hào)字符(=)填充,右對(duì)齊,帶千位分隔符。如果輸入正整數(shù)超過(guò)25位,則按照真實(shí)長(zhǎng)度輸出。
例如:鍵盤輸入正整數(shù)n為1234,屏幕輸出===================1,234
試題程序:
#請(qǐng)完善如下代碼
s=input()
print(”{________(1)_________}”.format(________(2)_________))
參考答案
1.DPython控制結(jié)構(gòu)包括順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)及分支結(jié)構(gòu)。本題選擇D選項(xiàng)。
2.B
3.C列表索引從0開(kāi)始,列表遵循正向遞增索引和反向遞減索引,故ls[2][1][-2]是字符o。本題選擇C選項(xiàng)。
4.Bpop()方法:鍵存在則返回相應(yīng)值,同時(shí)刪除鍵值對(duì),否則返回默認(rèn)值;get()方法:若訪問(wèn)的項(xiàng)不存在于字典中,返回默認(rèn)值,若存在,則返回鍵對(duì)應(yīng)的值;popitem()方法:隨機(jī)從字典中取出一個(gè)鍵值對(duì),以元組(key,value)形式返回,同時(shí)將該鍵值對(duì)從字典中刪除。replace()方法:是字符串的操作方法,在字符串中用新的子串替換舊的子串,返回字符串的副本。
5.D映射類型是“鍵一值”數(shù)據(jù)項(xiàng)的組合,每個(gè)元素是一個(gè)鍵值對(duì),即元素是(key,value),元素之間是無(wú)序的。鍵值對(duì)是一種二元關(guān)系,源于屬性和值的映射關(guān)系。str、tuple和list都是序列類型,diet,是映射類型。
6.B
7.C
8.B一F是指在dist文件夾中只生成獨(dú)立的打包文件(即exe文件),所有的第三方依賴、資源和代碼均打包進(jìn)此exe中。
9.A本題中,break語(yǔ)句出現(xiàn)在print語(yǔ)句之前,當(dāng)if的條件為True時(shí),執(zhí)行break語(yǔ)句,跳出for循環(huán),不再執(zhí)行循環(huán)體中break后面的語(yǔ)句,故無(wú)輸出。
10.A算法的空間復(fù)雜度是指算法在執(zhí)行過(guò)程中所需要的內(nèi)存空間。本題選擇A選項(xiàng)。
11.Brange()函數(shù)與for循環(huán)結(jié)合使用可以創(chuàng)建一個(gè)整數(shù)列表,且range(start,stop[,step])包含3個(gè),代表列表的開(kāi)始、結(jié)束以及步長(zhǎng),但其中不包含stop參數(shù)的范圍,即區(qū)間為左閉右開(kāi)。print()函數(shù)的end參數(shù)用來(lái)設(shè)置輸出格式,默認(rèn)為換行。該題表示輸出數(shù)字之間使用逗號(hào)分隔。本題選擇B選項(xiàng)。
12.D自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性,并且在結(jié)果中把重復(fù)的屬性列去掉,所以根據(jù)T關(guān)系中的有序組可知R與S進(jìn)行的是自然連接操作。
13.A
14.D本題考查的是字符串輸出格式化知識(shí)點(diǎn),其中”{:*13}'表示輸出的字符串長(zhǎng)度為13,居中對(duì)齊,空白處用“填充。最后輸出的是***\n*L0VES****,本題選擇D選項(xiàng)。
15.D
16.D在Python語(yǔ)言中,讀取CSV格式文件中的二維碼數(shù)據(jù)采用遍歷循環(huán)和字符串的split()方法相結(jié)合,方法如下:\nf=open(”cpi.csv”,”r”)\nls=[]\nforlineinf:\nls.a(chǎn)ppend(line.strip(”\n”).split(”,”))\nf.close()
17.Arandom庫(kù)是Python的標(biāo)準(zhǔn)庫(kù),用于產(chǎn)生各種分布的偽隨機(jī)數(shù)序列。它采用梅森旋轉(zhuǎn)算法生成偽隨機(jī)數(shù)序列。本題選擇A選項(xiàng)。
18.Clen()方法用來(lái)獲取字符串的長(zhǎng)度,所以length應(yīng)為14;title()方法把字符串每個(gè)單詞的首字母變?yōu)榇髮懀詰?yīng)為Python\nIsGood;索引從0開(kāi)始,所以s[1:6]應(yīng)為ython。本題選擇C選項(xiàng)。
19.Copen()函數(shù)打開(kāi)一個(gè)文件,并返回可以操作這個(gè)文件的變量f,并且open()函數(shù)有兩個(gè)參數(shù):文件名和打開(kāi)模式。本題只是打開(kāi)了文件,并沒(méi)有對(duì)文件進(jìn)行操作,因此不會(huì)輸出文件的內(nèi)容。print(f)語(yǔ)句輸出的是變量f代表的文件的相關(guān)信息:<_io.TextIOWrappername=exam.txt’mode=’r’encoding=’cp936’>。若想要輸出文件的內(nèi)容,需要把文件的內(nèi)容讀入,如f1=f.read()。本題選擇C選項(xiàng)。
20.Belif是分支邏輯保留字,for和while是循環(huán)邏輯保留字,在Python中沒(méi)有do保留字。
21.B將實(shí)參7傳遞給函數(shù)形參變量n,之后進(jìn)入多分支結(jié)構(gòu),依次判斷后,執(zhí)行else后面的語(yǔ)句。for語(yǔ)句為:foriinrange(2,7),i從2依次變化到6,循環(huán)5次,將L[一1]+L[一2]的值通過(guò)append()方法加入到列表L中。\n當(dāng)i=2時(shí),L[一1]+L[一2]=5+1=6,將6添加到列表L中,此時(shí)L=[1,5,6];\n當(dāng)i=3時(shí),L[一1]+L[一2]=6+5=11,將11添加到列表L中,此時(shí)L=[1,5,6,11];\n當(dāng)i=4時(shí),L[一1]+L[一2]=11+6=17,將17添加到列表L中,此時(shí)L=[1,5,6,11,17];\n當(dāng)i=5時(shí),L[一1]+L[一2]=17+ll=28,將28添加到列表L中,此時(shí)L=[1,5,6,11,17,28];\n當(dāng)i=6時(shí),L[一1]+L[一2]=28+17=45,將45添加到列表L中,此時(shí)L=[1,5,6,11,17,28,45]。\n最后L[一2]%L[一1]=28%45=28,故程序輸出28。本題選擇B選項(xiàng)。
22.Cset()函數(shù)將其他組合數(shù)據(jù)類型變成集合類型;remove()刪除集合中指定的元素,不存在則產(chǎn)生KeyError異常;集合元素是無(wú)序的,集合的輸出順序與定義順序可以不一致。
23.D數(shù)據(jù)定義功能:負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建。數(shù)據(jù)操縱功能:負(fù)責(zé)數(shù)據(jù)的操縱,包括查詢與增、刪、改等操作。數(shù)據(jù)控制功能:負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。本題選擇D選項(xiàng)。
24.D在Python類的繼承中,如果調(diào)用的是繼承父類的公有方法,可以在公有方法中訪問(wèn)父類中的私有屬性和私有方法;但是如果子類中實(shí)現(xiàn)了一個(gè)公有方法,那么這個(gè)方法是不能夠調(diào)用繼承父類中的私有方法和私有屬性的,所以D選項(xiàng)錯(cuò)誤。
25.Alambda關(guān)鍵字用來(lái)定義匿名函數(shù),語(yǔ)法為<函數(shù)名>=lambda<參數(shù)列表>:<表達(dá)式>。本題比較字符串大小,因?yàn)閍a<bb,所以輸出均為aa。本題選擇A選項(xiàng)。
26.D浮點(diǎn)數(shù)3.0和整數(shù)3具有相同的值,硬件執(zhí)行單元、計(jì)算機(jī)指令處理方法和數(shù)據(jù)類型均不相同。本題選擇D選項(xiàng)。
27.C概念模型,著重于對(duì)客觀世界復(fù)雜事物的描述及對(duì)它們內(nèi)在聯(lián)系的刻畫,與具體的DBMS(數(shù)據(jù)庫(kù)管理系統(tǒng))無(wú)關(guān)。
28.C根據(jù)二叉樹(shù)的基本性質(zhì):在任意一棵二叉樹(shù)中,度為0的葉子節(jié)點(diǎn)總是比度為2的節(jié)點(diǎn)多一個(gè),所以本題中是5+1=6個(gè)。本題選擇C選項(xiàng)。
29.B函數(shù)定義時(shí)的語(yǔ)法如下:\ndef<函數(shù)名>(<非可選參數(shù)列表>,<可選參數(shù)>=<默認(rèn)值>):\n<函數(shù)體>\nreturn<返回值列表>\n可選參數(shù)一般都放置在非可選參數(shù)的后面。本題代碼中,n為非可選參數(shù),fact(n)函數(shù)的功能為求n的階乘。s在函數(shù)內(nèi)部定義,為局部變量。根據(jù)range函數(shù)的定義,range(1,n+1)的范圍是[1,n],不包含n+1。
30.D
31.N
32.Y
33.N
34.Y
35.Y
36.Y
37.N
38.N
39.Y
40.Y
41.[1,2]
42.[1,2,3]
43.False
44.5
45.[]
46.id()
47.True
48.20
49.True
50.['abc','acd','ade']51.fo=open("PY202.txt","w")Foriinrange(1,10):Forjinrange(1,i+1):Fowrite(“{}={}={}”.format(j,i,i*j))Fo.write(“\\n”)fo.close()輸出《九九乘法表》,首先要先查看乘法表的規(guī)律,乘法表豎向是1-9,橫向的每行是從1到每行的行號(hào),所以可以使用兩個(gè)for循環(huán)遍歷輸出。格式可以使用format()方法控制,最后把輸出的《九九乘法表》存入文件\r\nPY202.txt中。
52.count=0\r\n
whilecount<50:\r\n
count+=1\r\n
ifcount%2==0:\r\n
continue\r\n
print(count,end=”,”)判斷一個(gè)數(shù)是否為奇數(shù),即判斷這個(gè)數(shù)能否被2整除,可以被整除則為偶數(shù),結(jié)束本次循環(huán),使用continue語(yǔ)句;不可以被整除則為奇數(shù),輸出該數(shù)。while循環(huán)不具有自動(dòng)計(jì)數(shù)的功能,所以需要定義一個(gè)變量,初始值為0,每經(jīng)過(guò)一次循環(huán),變量加1;當(dāng)變量超過(guò)50時(shí),停止循環(huán)。
53.s=input()\r\nprint(”{:=>25}”.format(eval(s)))該題目主要考查Python字符串的格式化方法。Python語(yǔ)言推薦使用.format()格式化方法,其使用方式如下:\r\n
<模板字符串>.format(<逗號(hào)分隔的參數(shù)>)\r\n
其中,模板字符串是一個(gè)由字符串和槽組成的字符串,用來(lái)控制字符串和變量的顯示效果。槽用大括號(hào)({})表示,對(duì)應(yīng)format()方法中逗號(hào)分隔的參數(shù)。如果模板字符串中有多個(gè)槽,可以通過(guò)format()參數(shù)的序號(hào)在模板字符串槽中指定參數(shù)的使用,參數(shù)從0開(kāi)始編號(hào)。例如:\r\n”{0}日:學(xué)而不思則罔,思而不學(xué){1}?!保甪ormat(”孔子”,”則殆”)\r\n
其結(jié)果為:’孔子日:學(xué)而不思則罔,思而不學(xué)則殆。’\r\n
format()方法的槽除了包括參數(shù)序號(hào),還可以包括格式控制信息,語(yǔ)法格式如下:\r\n
{<參數(shù)序號(hào)>:<格式控制標(biāo)記>}\r\n其中,格式控制標(biāo)記包括:<填充><對(duì)齊><寬度><,><.精度><類型>6個(gè)字段,由引導(dǎo)符號(hào)(:)作為引導(dǎo)標(biāo)記,這些字段都是可選的,可以組合使用。\r\n
<填充>:指用于填充的單個(gè)字符。\r\n
<對(duì)齊>:分別使用<、>和^三個(gè)符號(hào)表示左對(duì)齊、右對(duì)齊和居中對(duì)齊。\r\n<寬度>:當(dāng)前槽的設(shè)定輸出字符寬度。\r\n<,>:用于顯示數(shù)字類型的千位分隔符。\r\n
<.精度>:由小數(shù)點(diǎn)(.)開(kāi)頭,對(duì)于浮點(diǎn)數(shù),精度表示小數(shù)部分輸出的有效位數(shù);對(duì)于字符串,精度表示輸出的最大長(zhǎng)度。\r\n
<類型>:表示輸出整數(shù)和浮點(diǎn)數(shù)類型的格式規(guī)則。\r\n
本題格式要求為:寬度為25個(gè)字符,等號(hào)字符(=)填充,右對(duì)齊,帶千位分隔符。則模板字符串為:{:=>25,}。\r\n
由于題目要求帶千位分隔符,所以模板字符串對(duì)應(yīng)的:format()方法中的參數(shù)必須是數(shù)字類型,但無(wú)論用戶輸入的是字符還是數(shù)字,input()函數(shù)統(tǒng)一按照字符串類型輸出,這時(shí)就需要先使用eval()函數(shù)去掉字符串最外側(cè)的引號(hào),然后再參與運(yùn)算。遼寧省阜新市全國(guó)計(jì)算機(jī)等級(jí)考試Python語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(30題)1.以下不屬于Python控制結(jié)構(gòu)的是()。
A.順序結(jié)構(gòu)B.循環(huán)結(jié)構(gòu)C.分支結(jié)構(gòu)D.數(shù)據(jù)結(jié)構(gòu)
2.表達(dá)式list(map(lambdax:x*2,[1,2,3,4,’hi’]))的返回值是()
A.[1,2,3,4,’hi’]
B.[2,4,6,8,'hihi']
C.[2,4,6,8,'hi','hi']
D.異常
3.以下程序的輸出結(jié)果是()。Is=[‘book’,666,[2018,‘python’,314],20]print(ls[2][1][-2])
A.nB.pythonC.oD.結(jié)果錯(cuò)誤
4.下列不屬于處理Python中字典的方法的是()。
A.pop()B.replace()C.get()D.popitem()
5.以下哪種類型是Python的映射類型?()
A.strB.tupleC.listD.dict
6.下面的排序算法中初始數(shù)據(jù)集的排列順序?qū)λ惴ǖ男阅軣o(wú)影響的是()A.插入排序B.堆排序C.冒泡排序D.快速排序
7.某完全二叉樹(shù)有256個(gè)節(jié)點(diǎn),則該二叉樹(shù)的深度為()。
A.7B.8C.9D.10
8.用Pyinstaller工具打包Python源文件時(shí)一F參數(shù)的含義是()。
A.指定所需要的第三方庫(kù)路徑
B.在dist文件夾中只生成獨(dú)立的打包文件
C.指定生成打包文件的目錄
D.刪除生成的臨時(shí)文件
9.以下程序的輸出結(jié)果是()。forcin’PythonNCRE’:ifc==’N’:breakprint?
A.無(wú)輸出B.PythonC.PythoD.PythonCRE
10.算法的空間復(fù)雜度是指()。
A.算法在執(zhí)行過(guò)程中所需要的計(jì)算機(jī)存儲(chǔ)空間
B.算法所處理的數(shù)據(jù)量
C.算法程序中的語(yǔ)句或指令條數(shù)
D.算法在執(zhí)行過(guò)程中所需要的臨時(shí)工作單元數(shù)
11.下面代碼的輸出結(jié)果是()。foriinrange(3):print(i,end=’,')
A.0,l,2B.0,l,2,C.l,2,3D.l,2,3,
12.有三個(gè)關(guān)系R、S和T如下:[*9]由關(guān)系R和S通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。
A.笛卡爾積B.交C.并D.自然連接
13.dict([['one',1],['two',2]])的返回是()
A.{'one':1,'two':2}
B.[{'one':1,'two':2}]
C.{2,3}
D.['one','two']
14.以下程序的輸出結(jié)果是()。
A.LOVESB.********LOVESC.LOVES********D.****LOVES****
15.以下程序的輸出結(jié)果是()。x=10whilex:x-=1ifnotx%2:print(x,end=‘’)else:print(x)A.86420B.975311C.97531D.864200
16.在Python語(yǔ)言中,讀入CSV文件保存的二維數(shù)據(jù),按特定分隔符抽取信息,最可能用到的函數(shù)是()。
A.read()B.join()C.replace()D.split()
17.random庫(kù)采用更多的偽隨機(jī)數(shù)序列生成算法是()。
A.梅森旋轉(zhuǎn)算法B.蒙特卡洛方法C.線性同余法D.平方取中法
18.對(duì)于以下代碼的描述正確的是()。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”
19.文件exam.txt與以下代碼在同一目錄下,其內(nèi)容是一段文本:bigBen,以下代碼的輸出結(jié)果是()。f=open(”exam.txt”)print(f)f.close()
A.bigBenB.exam.txtC.<_io.TextIOWrapper…>D.exam
20.以下保留字不屬于分支或循環(huán)邏輯的是()。
A.elifB.doC.forD.while
21.以下代碼的輸出結(jié)果是()。deffibRate(n):ifn<=0:return—1elifn==1:retum—1elifn==2:return1else:L=[1,5]foriinrange(2,n):L.a(chǎn)ppend(L[一1]+L[一2])returnL[一2]%L[一1]print(fibRate(7))
A.0.6B.28C.一1D.1
22.下列說(shuō)法正確的是()。
A.set()可以將任何類型轉(zhuǎn)換為集合類型
B.remove()方法刪除集合中的元素,不管元素存不存在都不報(bào)錯(cuò)
C.集合中的元素不可重復(fù),元素類型只能是不可變數(shù)據(jù)類型
D.集合元素是有序的
23.數(shù)據(jù)庫(kù)管理系統(tǒng)能實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的查詢、插入、修改及刪除,這類功能稱為()。
A.數(shù)據(jù)控制功能B.數(shù)據(jù)定義功能C.數(shù)據(jù)存儲(chǔ)功能D.數(shù)據(jù)操縱功能
24.下面關(guān)于Python中類的繼承,說(shuō)法錯(cuò)誤的是()。
A.創(chuàng)建子類時(shí),父類必須包含在當(dāng)前文件夾且位于子類的前面
B.定義子類時(shí),必須在括號(hào)內(nèi)指明子類所要繼承的父類的名稱
C.如果調(diào)用的是繼承的父類中的公有方法,可以在這個(gè)公有方法中訪問(wèn)父類中的私有屬性和私有方法
D.如果在子類中實(shí)現(xiàn)了一個(gè)公有方法,該方法也能調(diào)用繼承的父類中的私有方法和私有屬性
25.以下程序的輸出結(jié)果是()。f=lambdax,y:xifx<yelseya=f(“aa”,“bb”)b=f(“bb”,“aa”)print(a,b)
A.aaaaB.aabbC.bbaaD.bbbb
26.以下關(guān)于浮點(diǎn)數(shù)3.0和整數(shù)3的描述,正確的是()。
A.兩者使用相同的硬件執(zhí)行單元B.兩者使用相同的計(jì)算機(jī)指令處理方法C.兩者是相同的數(shù)據(jù)類型D.兩者具有相同的值
27.概念模型是()。
A.用于現(xiàn)實(shí)世界的建模,與具體的DBMS有關(guān)
B.用于信息世界的建模,與具體的DBMS有關(guān)
C.用于現(xiàn)實(shí)世界的建模,與具體的DBMS無(wú)關(guān)
D.用于信息世界的建模,與具體的DBMS無(wú)關(guān)
28.某二叉樹(shù)有5個(gè)度為2的節(jié)點(diǎn),則該二叉樹(shù)中的葉子節(jié)點(diǎn)數(shù)是()。
A.10B.8C.6D.4
29.關(guān)于以下代碼的描述中,正確的是()。deffact(n):s=1foriinrange(1,n+1):s*=ireturns
A.代碼中n是可選參數(shù)
B.fact(n)函數(shù)功能為求n的階乘
C.s是全局變量
D.range()函數(shù)的范圍是[1,n+1]
30.deque是一種()數(shù)據(jù)結(jié)構(gòu)
A.HeapB.StackC.隊(duì)列D.雙端隊(duì)列
二、判斷題(10題)31.0o12f是合法的八進(jìn)制數(shù)字。
A.是B.否
32.Python支持多繼承,如果父類中有相同的方法名,而在子類中調(diào)用時(shí)沒(méi)有指定父類名,則Python解釋器將從左向右按順序進(jìn)行搜索。
A.是B.否
33.已知x為非空列表,那么表達(dá)式sorted(x,reverse=True)==list(reversed(x))的值一定是True。
A.是B.否
34.正則表達(dá)式模塊re的match()方法是從字符串的開(kāi)始匹配特定模式,而search()方法是在整個(gè)字符串中尋找模式,這兩個(gè)方法如果匹配成功則返回match對(duì)象,匹配失敗則返回空值None。
A.是B.否
35.刪除列表中重復(fù)元素最簡(jiǎn)單的方法是將其轉(zhuǎn)換為集合后再重新轉(zhuǎn)換為列表。
A.是B.否
36.Python變量名必須以字母或下劃線開(kāi)頭,并且區(qū)分字母大小寫。
A.是B.否
37.已知seq為長(zhǎng)度大于10的列表,并且已導(dǎo)入random模塊,那么[random.choice(seq)foriinrange(10)]和random.sample(seq,10)等價(jià)。
A.是B.否
38.可以使用del刪除集合中的部分元素。
A.是B.否
39.無(wú)法刪除集合中指定位置的元素,只能刪除特定值的元素。
A.是B.否
40.Python是一種跨平臺(tái)、開(kāi)源、免費(fèi)的高級(jí)動(dòng)態(tài)編程語(yǔ)言。
A.是B.否
三、填空題(10題)41.已知列表x=[1,2],那么連續(xù)執(zhí)行命令y=x[:]和y.append(3)之后,x的值為_(kāi)_______。
42.表達(dá)式list(filter(None,[0,1,2,3,0,0]))的值為_(kāi)__________________。
43.表達(dá)式'abc10'.isalpha()的值為_(kāi)_______________。
44.表達(dá)式len('SDIBT')的值為_(kāi)_________。
45.已知x=[3,5,7],那么表達(dá)式x[10:]的值為_(kāi)___________。
46.查看對(duì)象內(nèi)存地址的Python內(nèi)置函數(shù)是__________。
47.已知列表x=[1,2],執(zhí)行語(yǔ)句y=x后,表達(dá)式id(x)==id(y)的值為_(kāi)______。
48.表達(dá)式len('Helloworld!'.ljust(20))的值為_(kāi)________。
49.表達(dá)式{1,2,3}=={1,3,2}的值為_(kāi)__________。
50.表達(dá)式sorted(['abc','acd','ade'],key=lambdax:(x[0],x[2]))的值為_(kāi)____________。
四、操作題(3題)51.考生文件夾下存在一個(gè)文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改,請(qǐng)?jiān)谠撐募芯帉懘a,以實(shí)現(xiàn)如下功能。輸出九九乘法表。按照乘法表的格式輸出九九乘法表,并將輸出的結(jié)果保存在考生文件夾下,命名為“PY202.txt”。試題程序:#以下代碼為提示框架#請(qǐng)?jiān)?..處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fo=open("PY202.txt","w")fo.close()
52.考生文件夾下存在一個(gè)文件PY103.py,請(qǐng)寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能:使用循環(huán)輸出從1到50之間的奇數(shù)。
試題程序:
#請(qǐng)?jiān)赺____處使用一行代碼或表達(dá)式替換
#注意:請(qǐng)不要修改其他已給出代碼______whilecount<50:
ifcount%2==0:
print(count,end=”,”)
53.考生文件夾下存在一個(gè)文件PY101.py,請(qǐng)寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能:
鍵盤輸入正整數(shù)n,按要求把n輸出到屏幕,格式要求:寬度為25個(gè)字符,等號(hào)字符(=)填充,右對(duì)齊,帶千位分隔符。如果輸入正整數(shù)超過(guò)25位,則按照真實(shí)長(zhǎng)度輸出。
例如:鍵盤輸入正整數(shù)n為1234,屏幕輸出===================1,234
試題程序:
#請(qǐng)完善如下代碼
s=input()
print(”{________(1)_________}”.format(________(2)_________))
參考答案
1.DPython控制結(jié)構(gòu)包括順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)及分支結(jié)構(gòu)。本題選擇D選項(xiàng)。
2.B
3.C列表索引從0開(kāi)始,列表遵循正向遞增索引和反向遞減索引,故ls[2][1][-2]是字符o。本題選擇C選項(xiàng)。
4.Bpop()方法:鍵存在則返回相應(yīng)值,同時(shí)刪除鍵值對(duì),否則返回默認(rèn)值;get()方法:若訪問(wèn)的項(xiàng)不存在于字典中,返回默認(rèn)值,若存在,則返回鍵對(duì)應(yīng)的值;popitem()方法:隨機(jī)從字典中取出一個(gè)鍵值對(duì),以元組(key,value)形式返回,同時(shí)將該鍵值對(duì)從字典中刪除。replace()方法:是字符串的操作方法,在字符串中用新的子串替換舊的子串,返回字符串的副本。
5.D映射類型是“鍵一值”數(shù)據(jù)項(xiàng)的組合,每個(gè)元素是一個(gè)鍵值對(duì),即元素是(key,value),元素之間是無(wú)序的。鍵值對(duì)是一種二元關(guān)系,源于屬性和值的映射關(guān)系。str、tuple和list都是序列類型,diet,是映射類型。
6.B
7.C
8.B一F是指在dist文件夾中只生成獨(dú)立的打包文件(即exe文件),所有的第三方依賴、資源和代碼均打包進(jìn)此exe中。
9.A本題中,break語(yǔ)句出現(xiàn)在print語(yǔ)句之前,當(dāng)if的條件為True時(shí),執(zhí)行break語(yǔ)句,跳出for循環(huán),不再執(zhí)行循環(huán)體中break后面的語(yǔ)句,故無(wú)輸出。
10.A算法的空間復(fù)雜度是指算法在執(zhí)行過(guò)程中所需要的內(nèi)存空間。本題選擇A選項(xiàng)。
11.Brange()函數(shù)與for循環(huán)結(jié)合使用可以創(chuàng)建一個(gè)整數(shù)列表,且range(start,stop[,step])包含3個(gè),代表列表的開(kāi)始、結(jié)束以及步長(zhǎng),但其中不包含stop參數(shù)的范圍,即區(qū)間為左閉右開(kāi)。print()函數(shù)的end參數(shù)用來(lái)設(shè)置輸出格式,默認(rèn)為換行。該題表示輸出數(shù)字之間使用逗號(hào)分隔。本題選擇B選項(xiàng)。
12.D自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性,并且在結(jié)果中把重復(fù)的屬性列去掉,所以根據(jù)T關(guān)系中的有序組可知R與S進(jìn)行的是自然連接操作。
13.A
14.D本題考查的是字符串輸出格式化知識(shí)點(diǎn),其中”{:*13}'表示輸出的字符串長(zhǎng)度為13,居中對(duì)齊,空白處用“填充。最后輸出的是***\n*L0VES****,本題選擇D選項(xiàng)。
15.D
16.D在Python語(yǔ)言中,讀取CSV格式文件中的二維碼數(shù)據(jù)采用遍歷循環(huán)和字符串的split()方法相結(jié)合,方法如下:\nf=open(”cpi.csv”,”r”)\nls=[]\nforlineinf:\nls.a(chǎn)ppend(line.strip(”\n”).split(”,”))\nf.close()
17.Arandom庫(kù)是Python的標(biāo)準(zhǔn)庫(kù),用于產(chǎn)生各種分布的偽隨機(jī)數(shù)序列。它采用梅森旋轉(zhuǎn)算法生成偽隨機(jī)數(shù)序列。本題選擇A選項(xiàng)。
18.Clen()方法用來(lái)獲取字符串的長(zhǎng)度,所以length應(yīng)為14;title()方法把字符串每個(gè)單詞的首字母變?yōu)榇髮?,所以?yīng)為Python\nIsGood;索引從0開(kāi)始,所以s[1:6]應(yīng)為ython。本題選擇C選項(xiàng)。
19.Copen()函數(shù)打開(kāi)一個(gè)文件,并返回可以操作這個(gè)文件的變量f,并且open()函數(shù)有兩個(gè)參數(shù):文件名和打開(kāi)模式。本題只是打開(kāi)了文件,并沒(méi)有對(duì)文件進(jìn)行操作,因此不會(huì)輸出文件的內(nèi)容。print(f)語(yǔ)句輸出的是變量f代表的文件的相關(guān)信息:<_io.TextIOWrappername=exam.txt’mode=’r’encoding=’cp936’>。若想要輸出文件的內(nèi)容,需要把文件的內(nèi)容讀入,如f1=f.read()。本題選擇C選項(xiàng)。
20.Belif是分支邏輯保留字,for和while是循環(huán)邏輯保留字,在Python中沒(méi)有do保留字。
21.B將實(shí)參7傳遞給函數(shù)形參變量n,之后進(jìn)入多分支結(jié)構(gòu),依次判斷后,執(zhí)行else后面的語(yǔ)句。for語(yǔ)句為:foriinrange(2,7),i從2依次變化到6,循環(huán)5次,將L[一1]+L[一2]的值通過(guò)append()方法加入到列表L中。\n當(dāng)i=2時(shí),L[一1]+L[一2]=5+1=6,將6添加到列表L中,此時(shí)L=[1,5,6];\n當(dāng)i=3時(shí),L[一1]+L[一2]=6+5=11,將11添加到列表L中,此時(shí)L=[1,5,6,11];\n當(dāng)i=4時(shí),L[一1]+L[一2]=11+6=17,將17添加到列表L中,此時(shí)L=[1,5,6,11,17];\n當(dāng)i=5時(shí),L[一1]+L[一2]=17+ll=28,將28添加到列表L中,此時(shí)L=[1,5,6,11,17,28];\n當(dāng)i=6時(shí),L[一1]+L[一2]=28+17=45,將45添加到列表L中,此時(shí)L=[1,5,6,11,17,28,45]。\n最后L[一2]%L[一1]=28%45=28,故程序輸出28。本題選擇B選項(xiàng)。
22.Cset()函數(shù)將其他組合數(shù)據(jù)類型變成集合類型;remove()刪除集合中指定的元素,不存在則產(chǎn)生KeyError異常;集合元素是無(wú)序的,集合的輸出順序與定義順序可以不一致。
23.D數(shù)據(jù)定義功能:負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建。數(shù)據(jù)操縱功能:負(fù)責(zé)數(shù)據(jù)的操縱,包括查詢與增、刪、改等操作。數(shù)據(jù)控制功能:負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。本題選擇D選項(xiàng)。
24.D在Python類的繼承中,如果調(diào)用的是繼承父類的公有方法,可以在公有方法中訪問(wèn)父類中的私有屬性和私有方法;但是如果子類中實(shí)現(xiàn)了一個(gè)公有方法,那么這個(gè)方法是不能夠調(diào)用繼承父類中的私有方法和私有屬性的,所以D選項(xiàng)錯(cuò)誤。
25.Alambda關(guān)鍵字用來(lái)定義匿名函數(shù),語(yǔ)法為<函數(shù)名>=lambda<參數(shù)列表>:<表達(dá)式>。本題比較字符串大小,因?yàn)閍a<bb,所以輸出均為aa。本題選擇A選項(xiàng)。
26.D浮點(diǎn)數(shù)3.0和整數(shù)3具有相同的值,硬件執(zhí)行單元、計(jì)算機(jī)指令處理方法和數(shù)據(jù)類型均不相同。本題選擇D選項(xiàng)。
27.C概念模型,著重于對(duì)客觀世界復(fù)雜事物的描述及對(duì)它們內(nèi)在聯(lián)系的刻畫,與具體的DBMS(數(shù)據(jù)庫(kù)管理系統(tǒng))無(wú)關(guān)。
28.C根據(jù)二叉樹(shù)的基本性質(zhì):在任意一棵二叉樹(shù)中,度為0的葉子節(jié)點(diǎn)總是比度為2的節(jié)點(diǎn)多一個(gè),所以本題中是5+1=6個(gè)。本題選擇C選項(xiàng)。
29.B函數(shù)定義時(shí)的語(yǔ)法如下:\ndef<函數(shù)名>(<非可選參數(shù)列表>,<可選參數(shù)>=<默認(rèn)值>):\n<函數(shù)體>\nreturn<返回值列表>\n可選參數(shù)一般都放置在非可選參數(shù)的后面。本題代碼中,n為非可選參數(shù),fact(n)函數(shù)的功能為求n的階乘。s在函數(shù)內(nèi)部定義,為局部變量。根據(jù)range函數(shù)的定義,range(1,n+1)的范圍是[1,n],不包含n+1。
30.D
31.N
32.Y
33.N
34.Y
35.Y
36.Y
37.N
38.N
39.Y
40.Y
41.[1,2]
42.[1,2,3]
43.False
44.5
45.[]
46.id()
47.True
48.20
49.True
50.['abc','acd','ade']51.fo=open("PY202.txt","w")Foriinrange(1,10):Forjinrange(1,i+1):Fowrite(“{}={}={}”.format(j,i,i*j))Fo.write(“\\n”)fo.close()輸出《九九乘法表》,首先要先查看乘法表的規(guī)律,乘法表豎向是1-9,橫向的每行是從1到每行的行號(hào),所以可以使用兩個(gè)for循環(huán)遍歷輸出。格式可以使用format()方法控制,最后把輸出的《九九乘法表》存入文件\r\nPY202.txt中。
52.count=0\r\n
whilecount<50:\r\n
count+=1\r\n
ifcount%2==0:\r\n
continue\r\n
print(count,end=”,”)判斷一個(gè)數(shù)是否為奇數(shù),即判斷這個(gè)數(shù)能否被2整除,可以被整除則為偶數(shù),結(jié)束本次循環(huán),使用continue語(yǔ)句;不可以被整除則為奇數(shù),輸出該數(shù)。while循環(huán)不具有自動(dòng)計(jì)數(shù)的功能,所以需要定義一個(gè)變量,初始值為0,每經(jīng)過(guò)一次循環(huán),變量加1;當(dāng)變量超過(guò)50時(shí),停止循環(huán)。
53.s=input()\r\nprint(”{:=>25}”.format(eval(s)))該題目主要考查Python字符串的格式化方法。Python語(yǔ)言推薦使用.format()格式化方法,其使用方式如下:\r\n
<模板字符串>.format(<逗號(hào)分隔的參數(shù)>)\r\n
其中,模板字符串是一個(gè)由字符串和槽組成的字符串,用來(lái)控制字符串和變量的顯示效果。槽用大括號(hào)({})表示,對(duì)應(yīng)format()方法中逗號(hào)分隔的參數(shù)。如果模板字符串中有多個(gè)槽,可以通過(guò)format()參數(shù)的序號(hào)在模板字符串槽中指定參數(shù)的使用,參數(shù)從0開(kāi)始編號(hào)。例如:\r\n”{0}日:學(xué)而不思則罔,思而不學(xué){1}?!保甪ormat(”孔子”,”則殆”)\r\n
其結(jié)果為:’孔子日:學(xué)而不思則罔,思而不學(xué)則殆?!痋r\n
format()方法的槽除了包括參數(shù)序號(hào),還可以包括格式控制信息,語(yǔ)法格式如下:\r\n
{<參數(shù)序號(hào)>:<格式控制標(biāo)記>}\r\n其中,格式控制標(biāo)記包括:<填充><對(duì)齊><寬度><,><.精度><類型>6個(gè)字段,由引導(dǎo)符號(hào)(:)作為引導(dǎo)標(biāo)記,這些字段都是可選的,可以組合使用。\r\n
<填充>:指用于填充的單個(gè)字符。\r\n
<對(duì)齊>:分別使用<、>和^三個(gè)符號(hào)表示左對(duì)齊、右對(duì)齊和居中對(duì)齊。\r\n<寬度>:當(dāng)前槽的設(shè)定輸出字符寬度。\r\n<,>:用于顯示數(shù)字類型的千位分隔符。\r\n
<.精度>:由小數(shù)點(diǎn)(.)開(kāi)頭,對(duì)于浮點(diǎn)數(shù),精度表示小數(shù)部分輸出的有效位數(shù);對(duì)于字符串,精度表示輸出的最大長(zhǎng)度。\r\n
<類型>:表示輸出整數(shù)和浮點(diǎn)數(shù)類型的格式規(guī)則。\r\n
本題格式要求為:寬度為25個(gè)字符,等號(hào)字符(=)填充,右對(duì)齊,帶千位分隔符。則模板字符串為:{:=>25,}。\r\n
由于題目要求帶千位分隔符,所以模板字符串對(duì)應(yīng)的:format()方法中的參數(shù)必須是數(shù)字類型,但無(wú)論用戶輸入的是字符還是數(shù)字,input()函數(shù)統(tǒng)一按照字符串類型輸出,這時(shí)就需要先使用eval()函數(shù)去掉字符串最外側(cè)的引號(hào),然后再參與運(yùn)算。遼寧省阜新市全國(guó)計(jì)算機(jī)等級(jí)考試Python語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(30題)1.以下不屬于Python控制結(jié)構(gòu)的是()。
A.順序結(jié)構(gòu)B.循環(huán)結(jié)構(gòu)C.分支結(jié)構(gòu)D.數(shù)據(jù)結(jié)構(gòu)
2.表達(dá)式list(map(lambdax:x*2,[1,2,3,4,’hi’]))的返回值是()
A.[1,2,3,4,’hi’]
B.[2,4,6,8,'hihi']
C.[2,4,6,8,'hi','hi']
D.異常
3.以下程序的輸出結(jié)果是()。Is=[‘book’,666,[2018,‘python’,314],20]print(ls[2][1][-2])
A.nB.pythonC.oD.結(jié)果錯(cuò)誤
4.下列不屬于處理Python中字典的方法的是()。
A.pop()B.replace()C.get()D.popitem()
5.以下哪種類型是Python的映射類型?()
A.strB.tupleC.listD.dict
6.下面的排序算法中初始數(shù)據(jù)集的排列順序?qū)λ惴ǖ男阅軣o(wú)影響的是()A.插入排序B.堆排序C.冒泡排序D.快速排序
7.某完全二叉樹(shù)有256個(gè)節(jié)點(diǎn),則該二叉樹(shù)的深度為()。
A.7B.8C.9D.10
8.用Pyinstaller工具打包Python源文件時(shí)一F參數(shù)的含義是()。
A.指定所需要的第三方庫(kù)路徑
B.在dist文件夾中只生成獨(dú)立的打包文件
C.指定生成打包文件的目錄
D.刪除生成的臨時(shí)文件
9.以下程序的輸出結(jié)果是()。forcin’PythonNCRE’:ifc==’N’:breakprint?
A.無(wú)輸出B.PythonC.PythoD.PythonCRE
10.算法的空間復(fù)雜度是指()。
A.算法在執(zhí)行過(guò)程中所需要的計(jì)算機(jī)存儲(chǔ)空間
B.算法所處理的數(shù)據(jù)量
C.算法程序中的語(yǔ)句或指令條數(shù)
D.算法在執(zhí)行過(guò)程中所需要的臨時(shí)工作單元數(shù)
11.下面代碼的輸出結(jié)果是()。foriinrange(3):print(i,end=’,')
A.0,l,2B.0,l,2,C.l,2,3D.l,2,3,
12.有三個(gè)關(guān)系R、S和T如下:[*9]由關(guān)系R和S通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。
A.笛卡爾積B.交C.并D.自然連接
13.dict([['one',1],['two',2]])的返回是()
A.{'one':1,'two':2}
B.[{'one':1,'two':2}]
C.{2,3}
D.['one','two']
14.以下程序的輸出結(jié)果是()。
A.LOVESB.********LOVESC.LOVES********D.****LOVES****
15.以下程序的輸出結(jié)果是()。x=10whilex:x-=1ifnotx%2:print(x,end=‘’)else:print(x)A.86420B.975311C.97531D.864200
16.在Python語(yǔ)言中,讀入CSV文件保存的二維數(shù)據(jù),按特定分隔符抽取信息,最可能用到的函數(shù)是()。
A.read()B.join()C.replace()D.split()
17.random庫(kù)采用更多的偽隨機(jī)數(shù)序列生成算法是()。
A.梅森旋轉(zhuǎn)算法B.蒙特卡洛方法C.線性同余法D.平方取中法
18.對(duì)于以下代碼的描述正確的是()。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”
19.文件exam.txt與以下代碼在同一目錄下,其內(nèi)容是一段文本:bigBen,以下代碼的輸出結(jié)果是()。f=open(”exam.txt”)print(f)f.close()
A.bigBenB.exam.txtC.<_io.TextIOWrapper…>D.exam
20.以下保留字不屬于分支或循環(huán)邏輯的是()。
A.elifB.doC.forD.while
21.以下代碼的輸出結(jié)果是()。deffibRate(n):ifn<=0:return—1elifn==1:retum—1elifn==2:return1else:L=[1,5]foriinrange(2,n):L.a(chǎn)ppend(L[一1]+L[一2])returnL[一2]%L[一1]print(fibRate(7))
A.0.6B.28C.一1D.1
22.下列說(shuō)法正確的是()。
A.set()可以將任何類型轉(zhuǎn)換為集合類型
B.remove()方法刪除集合中的元素,不管元素存不存在都不報(bào)錯(cuò)
C.集合中的元素不可重復(fù),元素類型只能是不可變數(shù)據(jù)類型
D.集合元素是有序的
23.數(shù)據(jù)庫(kù)管理系統(tǒng)能實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的查詢、插入、修改及刪除,這類功能稱為()。
A.數(shù)據(jù)控制功能B.數(shù)據(jù)定義功能C.數(shù)據(jù)存儲(chǔ)功能D.數(shù)據(jù)操縱功能
24.下面關(guān)于Python中類的繼承,說(shuō)法錯(cuò)誤的是()。
A.創(chuàng)建子類時(shí),父類必須包含在當(dāng)前文件夾且位于子類的前面
B.定義子類時(shí),必須在括號(hào)內(nèi)指明子類所要繼承的父類的名稱
C.如果調(diào)用的是繼承的父類中的公有方法,可以在這個(gè)公有方法中訪問(wèn)父類中的私有屬性和私有方法
D.如果在子類中實(shí)現(xiàn)了一個(gè)公有方法,該方法也能調(diào)用繼承的父類中的私有方法和私有屬性
25.以下程序的輸出結(jié)果是()。f=lambdax,y:xifx<yelseya=f(“aa”,“bb”)b=f(“bb”,“aa”)print(a,b)
A.aaaaB.aabbC.bbaaD.bbbb
26.以下關(guān)于浮點(diǎn)數(shù)3.0和整數(shù)3的描述,正確的是()。
A.兩者使用相同的硬件執(zhí)行單元B.兩者使用相同的計(jì)算機(jī)指令處理方法C.兩者是相同的數(shù)據(jù)類型D.兩者具有相同的值
27.概念模型是()。
A.用于現(xiàn)實(shí)世界的建模,與具體的DBMS有關(guān)
B.用于信息世界的建模,與具體的DBMS有關(guān)
C.用于現(xiàn)實(shí)世界的建模,與具體的DBMS無(wú)關(guān)
D.用于信息世界的建模,與具體的DBMS無(wú)關(guān)
28.某二叉樹(shù)有5個(gè)度為2的節(jié)點(diǎn),則該二叉樹(shù)中的葉子節(jié)點(diǎn)數(shù)是()。
A.10B.8C.6D.4
29.關(guān)于以下代碼的描述中,正確的是()。deffact(n):s=1foriinrange(1,n+1):s*=ireturns
A.代碼中n是可選參數(shù)
B.fact(n)函數(shù)功能為求n的階乘
C.s是全局變量
D.range()函數(shù)的范圍是[1,n+1]
30.deque是一種()數(shù)據(jù)結(jié)構(gòu)
A.HeapB.StackC.隊(duì)列D.雙端隊(duì)列
二、判斷題(10題)31.0o12f是合法的八進(jìn)制數(shù)字。
A.是B.否
32.Python支持多繼承,如果父類中有相同的方法名,而在子類中調(diào)用時(shí)沒(méi)有指定父類名,則Python解釋器將從左向右按順序進(jìn)行搜索。
A.是B.否
33.已知x為非空列表,那么表達(dá)式sorted(x,reverse=True)==list(reversed(x))的值一定是True。
A.是B.否
34.正則表達(dá)式模塊re的match()方法是從字符串的開(kāi)始匹配特定模式,而search()方法是在整個(gè)字符串中尋找模式,這兩個(gè)方法如果匹配成功則返回match對(duì)象,匹配失敗則返回空值None。
A.是B.否
35.刪除列表中重復(fù)元素最簡(jiǎn)單的方法是將其轉(zhuǎn)換為集合后再重新轉(zhuǎn)換為列表。
A.是B.否
36.Python變量名必須以字母或下劃線開(kāi)頭,并且區(qū)分字母大小寫。
A.是B.否
37.已知seq為長(zhǎng)度大于10的列表,并且已導(dǎo)入random模塊,那么[random.choice(seq)foriinrange(10)]和random.sample(seq,10)等價(jià)。
A.是B.否
38.可以使用del刪除集合中的部分元素。
A.是B.否
39.無(wú)法刪除集合中指定位置的元素,只能刪除特定值的元素。
A.是B.否
40.Python是一種跨平臺(tái)、開(kāi)源、免費(fèi)的高級(jí)動(dòng)態(tài)編程語(yǔ)言。
A.是B.否
三、填空題(10題)41.已知列表x=[1,2],那么連續(xù)執(zhí)行命令y=x[:]和y.append(3)之后,x的值為_(kāi)_______。
42.表達(dá)式list(filter(None,[0,1,2,3,0,0]))的值為_(kāi)__________________。
43.表達(dá)式'abc10'.isalpha()的值為_(kāi)_______________。
44.表達(dá)式len('SDIBT')的值為_(kāi)_________。
45.已知x=[3,5,7],那么表達(dá)式x[10:]的值為_(kāi)___________。
46.查看對(duì)象內(nèi)存地址的Python內(nèi)置函數(shù)是__________。
47.已知列表x=[1,2],執(zhí)行語(yǔ)句y=x后,表達(dá)式id(x)==id(y)的值為_(kāi)______。
48.表達(dá)式len('Helloworld!'.ljust(20))的值為_(kāi)________。
49.表達(dá)式{1,2,3}=={1,3,2}的值為_(kāi)__________。
50.表達(dá)式sorted(['abc','acd','ade'],key=lambdax:(x[0],x[2]))的值為_(kāi)____________。
四、操作題(3題)51.考生文件夾下存在一個(gè)文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改,請(qǐng)?jiān)谠撐募芯帉懘a,以實(shí)現(xiàn)如下功能。輸出九九乘法表。按照乘法表的格式輸出九九乘法表,并將輸出的結(jié)果保存在考生文件夾下,命名為“PY202.txt”。試題程序:#以下代碼為提示框架#請(qǐng)?jiān)?..處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fo=open("PY202.txt","w")fo.close()
52.考生文件夾下存在一個(gè)文件PY103.py,請(qǐng)寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能:使用循環(huán)輸出從1到50之間的奇數(shù)。
試題程序:
#請(qǐng)?jiān)赺____處使用一行代碼或表達(dá)式替換
#注意:請(qǐng)不要修改其他已給出代碼______whilecount<50:
ifcount%2==0:
print(count,end=”,”)
53.考生文件夾下存在一個(gè)文件PY101.py,請(qǐng)寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能:
鍵盤輸入正整數(shù)n,按要求把n輸出到屏幕,格式要求:寬度為25個(gè)字符,等號(hào)字符(=)填充,右對(duì)齊,帶千位分隔符。如果輸入正整數(shù)超過(guò)25位,則按照真實(shí)長(zhǎng)度輸出。
例如:鍵盤輸入正整數(shù)n為1234,屏幕輸出===================1,234
試題程序:
#請(qǐng)完善如下代碼
s=input()
print(”{________(1)_________}”.format(________(2)_________))
參考答案
1.DPython控制結(jié)構(gòu)包括順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)及分支結(jié)構(gòu)。本題選擇D選項(xiàng)。
2.B
3.C列表索引從0開(kāi)始,列表遵循正向遞增索引和反向遞減索引,故ls[2][1][-2]是字符o。本題選擇C選項(xiàng)。
4.Bpop()方法:鍵存在則返回相應(yīng)值,同時(shí)刪除鍵值對(duì),否則返回默認(rèn)值;get()方法:若訪問(wèn)的項(xiàng)不存在于字典中,返回默認(rèn)值,若存在,則返回鍵對(duì)應(yīng)的值;popitem()方法:隨機(jī)從字典中取出一個(gè)鍵值對(duì),以元組(key,value)形式返回,同時(shí)將該鍵值對(duì)從字典中刪除。replace()方法:是字符串的操作方法,在字符串中用新的子串替換舊的子串,返回字符串的副本。
5.D映射類型是“鍵一值”數(shù)據(jù)項(xiàng)的組合,每個(gè)元素是一個(gè)鍵值對(duì),即元素是(key,value),元素之間是無(wú)序的。鍵值對(duì)是一種二元關(guān)系,源于屬性和值的映射關(guān)系。str、tuple和list都是序列類型,diet,是映射類型。
6.B
7.C
8.B一F是指在dist文件夾中只生成獨(dú)立的打包文件(即exe文件),所有的第三方依賴、資源和代碼均打包進(jìn)此exe中。
9.A本題中,break語(yǔ)句出現(xiàn)在print語(yǔ)句之前,當(dāng)if的條件為True時(shí),執(zhí)行break語(yǔ)句,跳出for循環(huán),不再執(zhí)行循環(huán)體中break后面的語(yǔ)句,故無(wú)輸出。
10.A算法的空間復(fù)雜度是指算法在執(zhí)行過(guò)程中所需要的內(nèi)存空間。本題選擇A選項(xiàng)。
11.Brange()函數(shù)與for循環(huán)結(jié)合使用可以創(chuàng)建一個(gè)整數(shù)列表,且range(start,stop[,step])包含3個(gè),代表列表的開(kāi)始、結(jié)束以及步長(zhǎng),但其中不包含stop參數(shù)的范圍,即區(qū)間為左閉右開(kāi)。print()函數(shù)的end參數(shù)用來(lái)設(shè)置輸出格式,默認(rèn)為換行。該題表示輸出數(shù)字之間使用逗號(hào)分隔。本題選擇B選項(xiàng)。
12.D自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性,并且在結(jié)果中把重復(fù)的屬性列去掉,所以根據(jù)T關(guān)系中的有序組可知R與S進(jìn)行的是自然連接操作。
13.A
14.D本題考查的是字符串輸出格式化知識(shí)點(diǎn),其中”{:*13}'表示輸出的字符串長(zhǎng)度為13,居中對(duì)齊,空白處用“填充。最后輸出的是***\n*L0VES****,本題選擇D選項(xiàng)。
15.D
16.D在Python語(yǔ)言中,讀取CSV格式文件中的二維碼數(shù)據(jù)采用遍歷循環(huán)和字符串的split()方法相結(jié)合,方法如下:\nf=open(”cpi.csv”,”r”)\nls=[]\nforlineinf:\nls.a(chǎn)ppend(line.strip(”\n”).split(”,”))\nf.close()
17.Arandom庫(kù)是Python的標(biāo)準(zhǔn)庫(kù),用于產(chǎn)生各種分布的偽隨機(jī)數(shù)序列。它采用梅森旋轉(zhuǎn)算法生成偽隨機(jī)數(shù)序列。本題選擇A選項(xiàng)。
18.Clen()方法用來(lái)獲取字符串的長(zhǎng)度,所以length應(yīng)為14;title()方法把字符串每個(gè)單詞的首字母變?yōu)榇髮懀詰?yīng)為Python\nIsGood;索引從0開(kāi)始,所以s[1:6]應(yīng)為ython。本題選擇C選項(xiàng)。
19.Copen()函數(shù)打開(kāi)一個(gè)文件,并返回可以操作這個(gè)文件的變量f,并且open()函數(shù)有兩個(gè)參數(shù):文件名和打開(kāi)模式。本題只是打開(kāi)了文件,并沒(méi)有對(duì)文件進(jìn)行操作,因此不會(huì)輸出文件的內(nèi)容。print(f)語(yǔ)句輸出的是變量f代表的文件的相關(guān)信息:<_io.TextIOWrappername=exam.txt’mode=’r’encoding=’cp936’>。若想要輸出文件的內(nèi)容,需要把文件的內(nèi)容讀入,如f1=f.read()。本題選擇C選項(xiàng)。
20.Belif是分支邏輯保留字,f
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年沼氣專用發(fā)電裝置項(xiàng)目評(píng)價(jià)分析報(bào)告
- 采購(gòu)合同簽訂制度
- 不可抗力融資租賃合同
- 編外合同用工標(biāo)準(zhǔn)
- 智慧路燈系統(tǒng)解決方案
- 頸椎病手術(shù)前后配合
- 線粒體腦病的護(hù)理
- 山東省棗莊市臺(tái)兒莊區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期中考試歷史試題
- 遼寧省鞍山市海城市西部集團(tuán)2024-2025學(xué)年七年級(jí)上學(xué)期11月期中生物學(xué)試題(含答案)
- 河南省鄧州市2024-2025學(xué)年七年級(jí)上學(xué)期期中歷史試題(含答案)
- 磷酸鐵鋰電池產(chǎn)品說(shuō)明書(shū)
- 醫(yī)療機(jī)構(gòu)設(shè)置選址報(bào)告(最新)
- D702-1~3 常用低壓配電設(shè)備及燈具安裝(2004年合訂本)_(高清版)
- 山西經(jīng)濟(jì)出版社小學(xué)信息技術(shù)第一冊(cè)全冊(cè)教案
- 空調(diào)系統(tǒng)試運(yùn)轉(zhuǎn)調(diào)試記錄填寫范例
- 兒科常見(jiàn)疾病護(hù)理診斷和護(hù)理措施
- 特種作業(yè)人員臺(tái)賬.doc
- 圖書(shū)室開(kāi)放時(shí)間表(精編版)
- 3章SAA的功能應(yīng)用
- (完整版)裝飾裝修工程監(jiān)理細(xì)則(詳解)最新(精華版)
- 鋼管、鋼坯堆碼作業(yè)安全規(guī)定
評(píng)論
0/150
提交評(píng)論