廣東省深圳市全國(guó)計(jì)算機(jī)等級(jí)考試Python語(yǔ)言程序設(shè)計(jì)_第1頁(yè)
廣東省深圳市全國(guó)計(jì)算機(jī)等級(jí)考試Python語(yǔ)言程序設(shè)計(jì)_第2頁(yè)
廣東省深圳市全國(guó)計(jì)算機(jī)等級(jí)考試Python語(yǔ)言程序設(shè)計(jì)_第3頁(yè)
廣東省深圳市全國(guó)計(jì)算機(jī)等級(jí)考試Python語(yǔ)言程序設(shè)計(jì)_第4頁(yè)
廣東省深圳市全國(guó)計(jì)算機(jī)等級(jí)考試Python語(yǔ)言程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩52頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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.s1='%s';s1%(s1)的輸入是()

A.%sB.%%sC.%s%sD.s

2.對(duì)以下代碼的輸出描述正確的是()。lis=list(range(6))print(lis)

A.[0,1,2,3,4,5]

B.[0,1,2,3,4,5,6]

C.0,1,2,3,4,5

D.0,1,2,3,4,5,6

3.層次性、網(wǎng)狀性的劃分原則是()。

A.記錄長(zhǎng)度B.文件的大小C.聯(lián)系的復(fù)雜程度D.數(shù)據(jù)之間的聯(lián)系方式

4.下面代碼的輸出結(jié)果是()。words=“helloPythonworld!Mf=lambdax:len(x)foriinwords,split():print(f(i),end=””)A.555B.566C.666D.ll1111

5.執(zhí)行以下代碼的結(jié)果是()A.A.'David'

B.['David']

C.['d']

D.'d'

6.擬在屏幕上打印輸出HelloWorld,使用的Python語(yǔ)句是()。

A.prinff(’HeUoWodd’)

B.print(HelloWorld)

C.print(”HelloWorld”)

D.printf(”HelloWorld”)

7.執(zhí)行以下代碼的結(jié)果是?A.(1,2,3,4)B.(1,2,3,[1,2,4])C.異常報(bào)錯(cuò)D.(1,2,3,[1,2,3],4)

8.下列關(guān)于Python的描述正確的是()。

A.字典中不可以嵌套字典

B.單分支結(jié)構(gòu)的格式為if-elif

C.Python中整數(shù)的默認(rèn)書寫格式是二進(jìn)制

D.Python中采用“#”表示一行注釋的幵始

9.在Python中,讀入CSV文件保存的二維數(shù)據(jù),按特定分隔符抽取信息,最可能用到的函數(shù)是()。

A.read()B.join()C.replace()D.split()

10.以下變量名中,符合Python語(yǔ)言變量命名規(guī)則的是()。

A.33_keywordB.key@word33_C.nonlocalD._33keyword

11.想查看BIFlen的文檔信息,輸入以下命令()

A.helplenB.help--lenC.lenhelpD.help(len)

12.下列算法中,最壞情況下時(shí)間復(fù)雜度最低的是()。

A.堆排序B.尋找最大項(xiàng)C.順序查找D.有序表的對(duì)分查找

13.設(shè)二叉樹中有20個(gè)葉子節(jié)點(diǎn),5個(gè)度為1的節(jié)點(diǎn),則該二叉樹中總的節(jié)點(diǎn)數(shù)為()。

A.46B.45C.44D.不可能有這樣的二叉樹

14.關(guān)系數(shù)據(jù)庫(kù)中的鍵是指()。

A.關(guān)系的所有屬性B.關(guān)系的名稱C.關(guān)系的專用保留字D.能唯一標(biāo)識(shí)元組的最小屬性或?qū)傩约?/p>

15.下面的d是一個(gè)字典變量,能夠輸出數(shù)字2的語(yǔ)句是()。d={'food1:{'cake1:1,'egg1:5},'cake':2,'egg’:3}

A.print(d['food1]['egg1])

B.print(d['cake'])

C.print(d['food1][-1])

D.print(d['cake'][1])

16.下列哪個(gè)語(yǔ)句在Python中是非法的?()

A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y

17.下面的說(shuō)法錯(cuò)誤的是()。

A.調(diào)用函數(shù)時(shí),在實(shí)參前面加一個(gè)星號(hào)表示序列解包

B.在Python3.x中語(yǔ)句print(*[1,2,3])不能正確執(zhí)行

C.函數(shù)是代碼復(fù)用的一種方式

D.編寫函數(shù)時(shí),一般建議先對(duì)參數(shù)進(jìn)行合法性檢查,然后再編寫正常的功能代碼

18.以下代碼的輸出結(jié)果是()。d=[‘food’:{’cake’:1,’egg’:5}}print(d.get(‘egg’,'nothisfood’))

A.eggB.1C.foodD.nothisfood

19.以下程序的輸出結(jié)果是()。deffunc(a,b): a**=b returnas=func(2,5)print(s)

A.10B.20C.32D.5

20.以下關(guān)于random.uniform(a,b)的描述,正確的是()。

A.生成一個(gè)位于[a,b]的隨機(jī)小數(shù)

B.生成一個(gè)位于[a,b]的隨機(jī)整數(shù)

C.生成一個(gè)均值為a,方差為b的正態(tài)分布

D.生成一個(gè)位于(a,b)的隨機(jī)數(shù)

21.以下代碼的輸出結(jié)果是()。foriinrange(1,6):ifi%4==0:continueelse:print(i,end=”,”)

A.1,2,3,B.1,2,3,4,C.1,2,3,5,D.1,2,3,5,6,

22.下列排序方法中,最壞情況下比較次數(shù)最少的是()。

A.冒泡排序B.簡(jiǎn)單選擇排序C.直接插入排序D.堆排序

23.以下代碼的輸出結(jié)果是()。defyoung(age):if25<=age<=30:print(”作為一個(gè)老師,你很年輕”)elifage<25:print(”作為一個(gè)老師,你太年輕了”)elifage>=60:print(”作為一個(gè)老師,你可以退休了”)else:Print("作為一個(gè)老師,你很有愛(ài)心”)young(42)

A.作為一個(gè)老師,你很年輕B.作為一個(gè)老師,你太年輕了C.作為一個(gè)老師,你可以退休了D.作為一個(gè)老師,你很有愛(ài)心

24.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。

A.可行性分析報(bào)告B.軟件需求規(guī)格說(shuō)明書C.概要設(shè)計(jì)說(shuō)明書D.集成測(cè)試計(jì)劃

25.某完全二叉樹有256個(gè)結(jié)點(diǎn),則該二叉樹的深度為()。

A.7B.8C.9D.10

26.以下保留字不用于循環(huán)邏輯的是()。

A.tryB.elseC.forD.continue

27.下列函數(shù)中,不是Python內(nèi)置函數(shù)的是()。

A.exec()B.sum()C.close()D.eval()

28.以下程序的輸出結(jié)果是()。deffun(x): try: returnx*4 except: returnxprint(fun(“5”))

A.20B.5555C.5D.9

29.下面這條語(yǔ)句的輸出結(jié)果是()。f=(lambdaa="hello",b="python",c="world":a+b.split(“o")[1]+C)print(f("hi"))

A.hellopythonworldB.hipythworldC.hellonworldD.hinworld

30.以下不屬于Python中異常處理結(jié)構(gòu)的是()。

A.try-except

B.try-except-if

C.try-except-else

D.try-except-finally

二、判斷題(10題)31.當(dāng)作為條件表達(dá)式時(shí),{}與None等價(jià)。

A.是B.否

32.假設(shè)random模塊已導(dǎo)入,那么表達(dá)式random.sample(range(10),7)的作用是生成7個(gè)不重復(fù)的整數(shù)。

A.是B.否

33.已知x為非空字符串,那么表達(dá)式“.join(x.split())==x的值一定為True。A.是B.否

34.在調(diào)用函數(shù)時(shí),必須牢記函數(shù)形參順序才能正確傳值。

A.是B.否

35.Python變量名必須以字母或下劃線開頭,并且區(qū)分字母大小寫。

A.是B.否

36.Python列表中所有元素必須為相同類型的數(shù)據(jù)。

A.是B.否

37.Python是一種跨平臺(tái)、開源、免費(fèi)的高級(jí)動(dòng)態(tài)編程語(yǔ)言。

A.是B.否

38.在調(diào)用函數(shù)時(shí),可以通過(guò)關(guān)鍵參數(shù)的形式進(jìn)行傳值,從而避免必須記住函數(shù)形參順序的麻煩。

A.是B.否

39.Python標(biāo)準(zhǔn)庫(kù)os中的方法isfile()可以用來(lái)測(cè)試給定的路徑是否為文件。

A.是B.否

40.只能對(duì)列表進(jìn)行切片操作,不能對(duì)元組和字符串進(jìn)行切片操作。

A.是B.否

三、填空題(10題)41.語(yǔ)句x=(3)執(zhí)行后x的值為________________。

42.Python語(yǔ)句list(range(1,10,3))執(zhí)行結(jié)果為___________________。

43.表達(dá)式int('123',8)的值為_________。

44.表達(dá)式[iforiinrange(10)ifi>8]的值為________________。

45.表達(dá)式13/4的值為__________。

46.已知列表x=[1,2,3],那么執(zhí)行語(yǔ)句x.insert(1,4)只有,x的值為___________。

47.表達(dá)式len('中國(guó)'.encode('gbk'))的值為____________。

48.表達(dá)式[1,2]*2的值為______________。

49.表達(dá)式int('11111',2)的值為__________。

50.表達(dá)式':'.join('abcdefg'.split('cd'))的值為______________。

四、操作題(3題)51.考生文件夾下存在一個(gè)文件PY202.py,該文件是本題目的代碼提示框架,其中代碼可以任意修改,請(qǐng)?jiān)谠撐募芯帉懘a,以實(shí)現(xiàn)如下功能:

編寫程序,實(shí)現(xiàn)將列表[51,33,54,56,67,88,431,111,141,72,45,2,78,12,15,5,69]中的素?cái)?shù)去除,并輸出去除素?cái)?shù)后列表的元素個(gè)數(shù),結(jié)果保存在考生文件夾下,命名為“PY202.txt”。。請(qǐng)結(jié)合程序整體框架,補(bǔ)充橫線處代碼。

試題程序:

#以下代碼為提示框架

#請(qǐng)?jiān)诔绦虻摹幨褂靡恍谢蚨嘈写a替換

#請(qǐng)?jiān)诔绦虻腳_____處使用一行代碼替換

#注意:提示框架代碼可以任意修改,以完成程序功能為準(zhǔn)

fo=open(”PY202.txt”,“w”)

defprime(num):

……#此處可以是多行代碼

ls=[51,33,54,56,67,88,431,111,141,72,45,2,78,12,15,5,69]

lis=[]foriinls:

ifprime(i)==False:

________#處為一行代碼fo.write(”>>>(),列表長(zhǎng)度為{}".format(_______,_________)))fo.close()

52.考生文件夾下存在一個(gè)Python源文件“PY301.Py”,請(qǐng)按照文件內(nèi)說(shuō)明修改代碼,實(shí)現(xiàn)以下功能?!皊core,csv”文件中存儲(chǔ)的是一個(gè)學(xué)生在第一季度同一學(xué)科對(duì)應(yīng)的月考成績(jī),求出每一門學(xué)科在3個(gè)月中的平均成績(jī),將結(jié)果輸出在考生文件夾下,命名為“avg-score,txt”。參考如下格式。語(yǔ)文:90.67數(shù)學(xué):88.00英語(yǔ):85.67物理:67.33科學(xué):81.00試題程序:#以下代碼為提示框架#請(qǐng)?jiān)?..處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fi=open("score.csv","r")fo=open("avg-score.txt","w")Is=[]X=[]sum=0…fi.close()fo.close()

53.考生文件夾下存在一個(gè)文件“PY201.py”,請(qǐng)寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。使用turtle庫(kù)中的pencolor()和fillcolor()方法為圖形著色(畫筆顏色為黑色,填充顏色為紅色),使用set-up()方法在桌面(400,400)的位置創(chuàng)建600像素×600像素的畫布窗體,效果如下所示。試題程序#請(qǐng)?jiān)赺____處使用一行代碼或表達(dá)式替換#注意:請(qǐng)不要修改其他已給出代碼fromturtleimport*defcurvemove():foriinrange(200):right(1)forward(1)setup(600,600,400,400)hideturtle()_____(1)_____('black')_____(2)_____("red")pensize(2)begin_fill()left(140)forward(111.65)curvemove()left(120)curvemove()forward(111.65)end_fill()penup()goto(-27,85)pendown()done()

參考答案

1.A

2.Arange(6)取到的是0,1,2,3,4,5這六個(gè)數(shù),這些數(shù)均為int類型,使用list()方法將其存儲(chǔ)在列表變量lis中。

3.D層次模型的基本結(jié)構(gòu)是樹形結(jié)構(gòu),網(wǎng)狀模型是一個(gè)不加任何條件限制的無(wú)向圖,關(guān)系模型采用二維表來(lái)表示,所以3種數(shù)據(jù)庫(kù)的劃分原則是數(shù)據(jù)之間的聯(lián)系方式。本題選擇D選項(xiàng)。

4.B該代碼是一個(gè)匿名函數(shù)和split()方法的結(jié)合使用,split()方法把字符串words以空格分隔,返回的是列表類型。通過(guò)for循環(huán)把列表元素賦值給變量i,然后調(diào)用函數(shù)f()計(jì)算每個(gè)單詞的長(zhǎng)度,所以輸出的是566。本題選擇B選項(xiàng)。

5.D

6.C在Python語(yǔ)言中,打印輸出用print()函數(shù),HelloWorld是字符串類型,需要加單引號(hào)或雙引號(hào)。

7.B

8.D字典中可以嵌套字典;單分支結(jié)構(gòu)的格式為if;Python中整數(shù)的默認(rèn)書寫格式是十進(jìn)制。本題選擇D選項(xiàng)。

9.D在Python中,讀取CSV文件中的二維碼數(shù)據(jù)采用遍歷循環(huán)和字符串的split()方法相結(jié)合,方法如下:f=open('cpi.csv”,”r”)ls=[]forlineinf:Is.append(line,strip(“\\n').split(“,”))f.close()本題選擇D選項(xiàng)。

10.DPython采用大寫字母、小寫字母、數(shù)字、下劃線和漢字等字符及其組合進(jìn)行命名,但名字的首字符不能是數(shù)字,標(biāo)識(shí)符中間不能出現(xiàn)空格,長(zhǎng)度沒(méi)有限制。變量名不能與保留字相同。

11.D

12.D對(duì)于長(zhǎng)度為n的有序線性表,在最壞情況下,二分法查找(對(duì)分查找)需比較log2n次。對(duì)于長(zhǎng)度為n的線性表,最壞情況下順序查找需要n次,尋找最大項(xiàng)需要n一1次,堆排序需要nlog2n次。故D項(xiàng)的時(shí)間復(fù)雜度最低。

13.C二叉樹中只存在度為0、1、2的結(jié)點(diǎn),根據(jù)在二叉樹中度為0的結(jié)點(diǎn)(葉子結(jié)點(diǎn))總比度為2的結(jié)點(diǎn)多一個(gè),可知本題中度為2的結(jié)點(diǎn)有20-1\n=19個(gè)。故該二叉樹中總的結(jié)點(diǎn)數(shù)為20+5+19=44個(gè)。本題選擇C選項(xiàng)。

14.D在關(guān)系(二維表)中凡是能唯一標(biāo)識(shí)元組的最小屬性或?qū)傩约Q為該關(guān)系的鍵或者碼。本題選擇D選項(xiàng)。

15.B在Python中,字典是存儲(chǔ)可變數(shù)量鍵值對(duì)的數(shù)據(jù)結(jié)構(gòu),鍵和值可以是任意數(shù)據(jù)類型,通過(guò)鍵索引值,并可以通過(guò)鍵修改值。因此,可以直接利用鍵值對(duì)關(guān)系索引元素。索引語(yǔ)法格式為\n<值>=<字典變置>[<鍵\n>]。故能夠正確索引字典并輸出數(shù)字2的語(yǔ)句是Print(d['cake’]),本題選擇B選項(xiàng)。

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

17.B在Python3.x中語(yǔ)句print(*[1,2,3])可以正確執(zhí)行,且結(jié)果為123。本題選擇B選項(xiàng)。

18.D根據(jù)字典的索引方式可知,d.get(’eggthis\nfood’)索引的是字典第一層,但是第一層只有鍵food,沒(méi)有鍵egg,故索引不出值,輸出的是“nothisfood”。本題選擇D選項(xiàng)。

19.C該函數(shù)的功能是計(jì)算a的b次方,運(yùn)算符“**”表示冪運(yùn)算,s=2**5=32。本題選擇C選項(xiàng)。

20.Arandom.uniform(a,b):生成一個(gè)區(qū)間為[a,b)的隨機(jī)小數(shù)。本題選擇A選項(xiàng)。

21.Cfor循環(huán)依次將1~5依次賦給變量i,i從1,2,3,4,5依次變化,當(dāng)i%4==0時(shí),結(jié)束本次循環(huán)進(jìn)入下一循環(huán);反之輸出i的值,故輸出1,2,3,5。本題選擇C選項(xiàng)。

22.D冒泡排序、直接插入排序與簡(jiǎn)單選擇排序法在最壞情況下均需要比較n(n-\n1)/2次,而堆排序在最壞情況下需要比較的次數(shù)是nlog2n。本題選擇D選項(xiàng)。

23.D將實(shí)參42傳遞給函數(shù)形參變量age,之后進(jìn)入多分支結(jié)構(gòu),依次判斷,因?yàn)?0<42\n<60,故執(zhí)行else后面的語(yǔ)句,即輸出“作為一個(gè)老師,你很有愛(ài)心”。本題選擇D選項(xiàng)。

24.BA選項(xiàng)錯(cuò)誤,可行性分析階段產(chǎn)生可行性分析報(bào)告。C選項(xiàng)錯(cuò)誤,概要設(shè)計(jì)說(shuō)明書是總體設(shè)計(jì)階段產(chǎn)生的文檔。D選項(xiàng)錯(cuò)誤,集成測(cè)試計(jì)劃是在概要設(shè)計(jì)階段編寫的文檔。B選項(xiàng)正確,軟件需求規(guī)格說(shuō)明書是后續(xù)工作如設(shè)計(jì)、編碼等需要的重要參考文檔。本題選擇B選項(xiàng)。

25.C根據(jù)完全二叉樹的性質(zhì):具有n個(gè)結(jié)點(diǎn)的完全二叉樹的深度為[log2n]+1。本題中完全二叉樹共有256個(gè)結(jié)點(diǎn),則深度為[log2256]+1=8+1=9。本題選擇C選項(xiàng)。

26.A用于循環(huán)邏輯的保留字:while、for、else、break、continue。try用于捕捉異常。

27.Cclose()函數(shù)用于文件關(guān)閉,通過(guò)file.close()的方式調(diào)用,不是Python的內(nèi)置函數(shù)。本題選擇C選項(xiàng)。

28.Bfun(“5”)是將字符“5”賦給形參x,由于‘5’是字符類型,不是數(shù)字類型,不能進(jìn)行數(shù)值運(yùn)算,因此“x*4”是把字符“5”連續(xù)復(fù)制4次輸出。本題選擇B選項(xiàng)。

29.D這是一個(gè)Python的匿名函數(shù),是字符串連接輸出的一個(gè)函數(shù),即a+b+\nc的輸出。該函數(shù)有3個(gè)默認(rèn)值參數(shù),在調(diào)用該函數(shù)時(shí)傳入了一個(gè)實(shí)參hi,根據(jù)函數(shù)的傳參要求可知參數(shù)a的值被改變,其他值不變。split()是一個(gè)字符串分隔的方法,把b根據(jù)0這個(gè)字符分隔為兩個(gè)字符串,且返回的是列表類型,訪問(wèn)其中的元素需要用到索引訪問(wèn)。所以結(jié)果是hi+n+world\n=hinworid,本題選擇D選項(xiàng)。

30.BPython中異常處理結(jié)構(gòu)有try-except、try-except-else及\ntry-except-flnally。本題選擇B選項(xiàng)。

31.Y

32.Y

33.N

34.N

35.Y

36.N

37.Y

38.Y

39.Y

40.N

41.3

42.[1,4,7]

43.83

44.[9]

45.3.25

46.[1,4,2,3]

47.4

48.[1,2,1,2]

49.31

50.'ab:efg'

51.fo=open(”PY202.txt”,”w”)\r\n

defprime(num):\r\n

foriinrange(2,num);\r\n

ifnum%i==0;\r\n

returnFalse

returnTrue\r\n

ls=[51,33,54,56,67,88,431,111,141,72,45,2,78,13,15,5,69]\r\n

lis=[]\r\nforiinls:\r\n

ifprime(i)==False:\r\n

lis.append(i)\r\nfo.write(”>>>{},列表長(zhǎng)度為{}”.format(lis.len(lis)))\r\n

fo.close()素?cái)?shù)是只能被1和它本身整除的自然數(shù)。prime()函數(shù)用于判斷一個(gè)數(shù)是否為素?cái)?shù),如果一個(gè)數(shù)num,能被2到num一1之間的任意一個(gè)整數(shù)整除,那該數(shù)不為素?cái)?shù)(返回False),否則為素?cái)?shù)(返回True)。\r\n最后,通過(guò)for循環(huán)遍歷列表ls中的元素,通過(guò)調(diào)用函數(shù)判斷該元素是否為素?cái)?shù),將不是素?cái)?shù)的元素使用append()方法添加到一個(gè)新的列表lis中,再將新列表的元素和元素個(gè)數(shù)寫入到文件中去。

52.fi=open("score,csv",”r”)fo=open(“avg-score,txt",”w")Is=[]X=[]sum=0forrowinfi:Is.append(row.strip(“\\n”).split(“,”))Forlineinis[1:]:Foriinline[1:]:Sum=int(i)+sumAvg=sum/3X.append(avg)Sum=0Fo.write(“語(yǔ)文:{:.2f}\\n數(shù)學(xué)::{:.2f}\\n英語(yǔ):{:.2f}\\n物理:{:2f}\\n科學(xué):{:.2f}”.format(x[0],x[l],x{2],x[3],x[4]))fi.close()fo.close()本題中“score,csv”文件中存儲(chǔ)的是二維數(shù)據(jù),需要將其表示為二維列表對(duì)象。通過(guò)for循環(huán)遍歷“score,csv”文件中的每一行,再使用strip()和split()方法按照一定的格式將每一行存儲(chǔ)到二維列表1S中。這樣,列表Is中從索引為1的元素開始,存儲(chǔ)的均為一個(gè)學(xué)科名和對(duì)應(yīng)的3次考試成績(jī)。要求平均成績(jī),需要將該學(xué)科3次考試的成績(jī)相加,再除以3。實(shí)現(xiàn)方式為通過(guò)for循環(huán)遍歷二維列表Is中索引從1開始的元素,再嵌套for循環(huán)遍歷該元素中索引從1開始的元素,將遍歷到的元素相加(即3次成績(jī)相加),得出成績(jī)總和和平均成績(jī),并將平均成績(jī)追加到列表x中。最后,列表x中存儲(chǔ)的就是每個(gè)學(xué)科的平均成績(jī),使用format()方法按照題目給出的參考格式將其寫入“avg-score.\r\ntxt”文件。

53.fromturtleimport*defcurvemove():foriinrange(200):right(1)forward(1)setup(600,600,400,400)hideturtle()_pencolor('black')fillcolor("red")pensize(2)begin_fill()left(140)forward(111.65)curvemove()left(120)curvemove()forward(111.65)end_fill()penup()goto(-27,85)pendown()done()turtle庫(kù)是Python的標(biāo)準(zhǔn)庫(kù),其中setup(width,height,startx,starty\r\n)用來(lái)設(shè)置畫布窗體的大小和位置;pen-color()用來(lái)設(shè)置畫筆的顏色;fillcolor()用來(lái)填充圖形顏色。由題干給出的圖形可知,畫筆的顏色應(yīng)為黑色,填充顏色應(yīng)為紅色,因此第1空應(yīng)填pencolor,第2空應(yīng)填fillcolor。廣東省深圳市全國(guó)計(jì)算機(jī)等級(jí)考試Python語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(30題)1.s1='%s';s1%(s1)的輸入是()

A.%sB.%%sC.%s%sD.s

2.對(duì)以下代碼的輸出描述正確的是()。lis=list(range(6))print(lis)

A.[0,1,2,3,4,5]

B.[0,1,2,3,4,5,6]

C.0,1,2,3,4,5

D.0,1,2,3,4,5,6

3.層次性、網(wǎng)狀性的劃分原則是()。

A.記錄長(zhǎng)度B.文件的大小C.聯(lián)系的復(fù)雜程度D.數(shù)據(jù)之間的聯(lián)系方式

4.下面代碼的輸出結(jié)果是()。words=“helloPythonworld!Mf=lambdax:len(x)foriinwords,split():print(f(i),end=””)A.555B.566C.666D.ll1111

5.執(zhí)行以下代碼的結(jié)果是()A.A.'David'

B.['David']

C.['d']

D.'d'

6.擬在屏幕上打印輸出HelloWorld,使用的Python語(yǔ)句是()。

A.prinff(’HeUoWodd’)

B.print(HelloWorld)

C.print(”HelloWorld”)

D.printf(”HelloWorld”)

7.執(zhí)行以下代碼的結(jié)果是?A.(1,2,3,4)B.(1,2,3,[1,2,4])C.異常報(bào)錯(cuò)D.(1,2,3,[1,2,3],4)

8.下列關(guān)于Python的描述正確的是()。

A.字典中不可以嵌套字典

B.單分支結(jié)構(gòu)的格式為if-elif

C.Python中整數(shù)的默認(rèn)書寫格式是二進(jìn)制

D.Python中采用“#”表示一行注釋的幵始

9.在Python中,讀入CSV文件保存的二維數(shù)據(jù),按特定分隔符抽取信息,最可能用到的函數(shù)是()。

A.read()B.join()C.replace()D.split()

10.以下變量名中,符合Python語(yǔ)言變量命名規(guī)則的是()。

A.33_keywordB.key@word33_C.nonlocalD._33keyword

11.想查看BIFlen的文檔信息,輸入以下命令()

A.helplenB.help--lenC.lenhelpD.help(len)

12.下列算法中,最壞情況下時(shí)間復(fù)雜度最低的是()。

A.堆排序B.尋找最大項(xiàng)C.順序查找D.有序表的對(duì)分查找

13.設(shè)二叉樹中有20個(gè)葉子節(jié)點(diǎn),5個(gè)度為1的節(jié)點(diǎn),則該二叉樹中總的節(jié)點(diǎn)數(shù)為()。

A.46B.45C.44D.不可能有這樣的二叉樹

14.關(guān)系數(shù)據(jù)庫(kù)中的鍵是指()。

A.關(guān)系的所有屬性B.關(guān)系的名稱C.關(guān)系的專用保留字D.能唯一標(biāo)識(shí)元組的最小屬性或?qū)傩约?/p>

15.下面的d是一個(gè)字典變量,能夠輸出數(shù)字2的語(yǔ)句是()。d={'food1:{'cake1:1,'egg1:5},'cake':2,'egg’:3}

A.print(d['food1]['egg1])

B.print(d['cake'])

C.print(d['food1][-1])

D.print(d['cake'][1])

16.下列哪個(gè)語(yǔ)句在Python中是非法的?()

A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y

17.下面的說(shuō)法錯(cuò)誤的是()。

A.調(diào)用函數(shù)時(shí),在實(shí)參前面加一個(gè)星號(hào)表示序列解包

B.在Python3.x中語(yǔ)句print(*[1,2,3])不能正確執(zhí)行

C.函數(shù)是代碼復(fù)用的一種方式

D.編寫函數(shù)時(shí),一般建議先對(duì)參數(shù)進(jìn)行合法性檢查,然后再編寫正常的功能代碼

18.以下代碼的輸出結(jié)果是()。d=[‘food’:{’cake’:1,’egg’:5}}print(d.get(‘egg’,'nothisfood’))

A.eggB.1C.foodD.nothisfood

19.以下程序的輸出結(jié)果是()。deffunc(a,b): a**=b returnas=func(2,5)print(s)

A.10B.20C.32D.5

20.以下關(guān)于random.uniform(a,b)的描述,正確的是()。

A.生成一個(gè)位于[a,b]的隨機(jī)小數(shù)

B.生成一個(gè)位于[a,b]的隨機(jī)整數(shù)

C.生成一個(gè)均值為a,方差為b的正態(tài)分布

D.生成一個(gè)位于(a,b)的隨機(jī)數(shù)

21.以下代碼的輸出結(jié)果是()。foriinrange(1,6):ifi%4==0:continueelse:print(i,end=”,”)

A.1,2,3,B.1,2,3,4,C.1,2,3,5,D.1,2,3,5,6,

22.下列排序方法中,最壞情況下比較次數(shù)最少的是()。

A.冒泡排序B.簡(jiǎn)單選擇排序C.直接插入排序D.堆排序

23.以下代碼的輸出結(jié)果是()。defyoung(age):if25<=age<=30:print(”作為一個(gè)老師,你很年輕”)elifage<25:print(”作為一個(gè)老師,你太年輕了”)elifage>=60:print(”作為一個(gè)老師,你可以退休了”)else:Print("作為一個(gè)老師,你很有愛(ài)心”)young(42)

A.作為一個(gè)老師,你很年輕B.作為一個(gè)老師,你太年輕了C.作為一個(gè)老師,你可以退休了D.作為一個(gè)老師,你很有愛(ài)心

24.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。

A.可行性分析報(bào)告B.軟件需求規(guī)格說(shuō)明書C.概要設(shè)計(jì)說(shuō)明書D.集成測(cè)試計(jì)劃

25.某完全二叉樹有256個(gè)結(jié)點(diǎn),則該二叉樹的深度為()。

A.7B.8C.9D.10

26.以下保留字不用于循環(huán)邏輯的是()。

A.tryB.elseC.forD.continue

27.下列函數(shù)中,不是Python內(nèi)置函數(shù)的是()。

A.exec()B.sum()C.close()D.eval()

28.以下程序的輸出結(jié)果是()。deffun(x): try: returnx*4 except: returnxprint(fun(“5”))

A.20B.5555C.5D.9

29.下面這條語(yǔ)句的輸出結(jié)果是()。f=(lambdaa="hello",b="python",c="world":a+b.split(“o")[1]+C)print(f("hi"))

A.hellopythonworldB.hipythworldC.hellonworldD.hinworld

30.以下不屬于Python中異常處理結(jié)構(gòu)的是()。

A.try-except

B.try-except-if

C.try-except-else

D.try-except-finally

二、判斷題(10題)31.當(dāng)作為條件表達(dá)式時(shí),{}與None等價(jià)。

A.是B.否

32.假設(shè)random模塊已導(dǎo)入,那么表達(dá)式random.sample(range(10),7)的作用是生成7個(gè)不重復(fù)的整數(shù)。

A.是B.否

33.已知x為非空字符串,那么表達(dá)式“.join(x.split())==x的值一定為True。A.是B.否

34.在調(diào)用函數(shù)時(shí),必須牢記函數(shù)形參順序才能正確傳值。

A.是B.否

35.Python變量名必須以字母或下劃線開頭,并且區(qū)分字母大小寫。

A.是B.否

36.Python列表中所有元素必須為相同類型的數(shù)據(jù)。

A.是B.否

37.Python是一種跨平臺(tái)、開源、免費(fèi)的高級(jí)動(dòng)態(tài)編程語(yǔ)言。

A.是B.否

38.在調(diào)用函數(shù)時(shí),可以通過(guò)關(guān)鍵參數(shù)的形式進(jìn)行傳值,從而避免必須記住函數(shù)形參順序的麻煩。

A.是B.否

39.Python標(biāo)準(zhǔn)庫(kù)os中的方法isfile()可以用來(lái)測(cè)試給定的路徑是否為文件。

A.是B.否

40.只能對(duì)列表進(jìn)行切片操作,不能對(duì)元組和字符串進(jìn)行切片操作。

A.是B.否

三、填空題(10題)41.語(yǔ)句x=(3)執(zhí)行后x的值為________________。

42.Python語(yǔ)句list(range(1,10,3))執(zhí)行結(jié)果為___________________。

43.表達(dá)式int('123',8)的值為_________。

44.表達(dá)式[iforiinrange(10)ifi>8]的值為________________。

45.表達(dá)式13/4的值為__________。

46.已知列表x=[1,2,3],那么執(zhí)行語(yǔ)句x.insert(1,4)只有,x的值為___________。

47.表達(dá)式len('中國(guó)'.encode('gbk'))的值為____________。

48.表達(dá)式[1,2]*2的值為______________。

49.表達(dá)式int('11111',2)的值為__________。

50.表達(dá)式':'.join('abcdefg'.split('cd'))的值為______________。

四、操作題(3題)51.考生文件夾下存在一個(gè)文件PY202.py,該文件是本題目的代碼提示框架,其中代碼可以任意修改,請(qǐng)?jiān)谠撐募芯帉懘a,以實(shí)現(xiàn)如下功能:

編寫程序,實(shí)現(xiàn)將列表[51,33,54,56,67,88,431,111,141,72,45,2,78,12,15,5,69]中的素?cái)?shù)去除,并輸出去除素?cái)?shù)后列表的元素個(gè)數(shù),結(jié)果保存在考生文件夾下,命名為“PY202.txt”。。請(qǐng)結(jié)合程序整體框架,補(bǔ)充橫線處代碼。

試題程序:

#以下代碼為提示框架

#請(qǐng)?jiān)诔绦虻摹幨褂靡恍谢蚨嘈写a替換

#請(qǐng)?jiān)诔绦虻腳_____處使用一行代碼替換

#注意:提示框架代碼可以任意修改,以完成程序功能為準(zhǔn)

fo=open(”PY202.txt”,“w”)

defprime(num):

……#此處可以是多行代碼

ls=[51,33,54,56,67,88,431,111,141,72,45,2,78,12,15,5,69]

lis=[]foriinls:

ifprime(i)==False:

________#處為一行代碼fo.write(”>>>(),列表長(zhǎng)度為{}".format(_______,_________)))fo.close()

52.考生文件夾下存在一個(gè)Python源文件“PY301.Py”,請(qǐng)按照文件內(nèi)說(shuō)明修改代碼,實(shí)現(xiàn)以下功能?!皊core,csv”文件中存儲(chǔ)的是一個(gè)學(xué)生在第一季度同一學(xué)科對(duì)應(yīng)的月考成績(jī),求出每一門學(xué)科在3個(gè)月中的平均成績(jī),將結(jié)果輸出在考生文件夾下,命名為“avg-score,txt”。參考如下格式。語(yǔ)文:90.67數(shù)學(xué):88.00英語(yǔ):85.67物理:67.33科學(xué):81.00試題程序:#以下代碼為提示框架#請(qǐng)?jiān)?..處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fi=open("score.csv","r")fo=open("avg-score.txt","w")Is=[]X=[]sum=0…fi.close()fo.close()

53.考生文件夾下存在一個(gè)文件“PY201.py”,請(qǐng)寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。使用turtle庫(kù)中的pencolor()和fillcolor()方法為圖形著色(畫筆顏色為黑色,填充顏色為紅色),使用set-up()方法在桌面(400,400)的位置創(chuàng)建600像素×600像素的畫布窗體,效果如下所示。試題程序#請(qǐng)?jiān)赺____處使用一行代碼或表達(dá)式替換#注意:請(qǐng)不要修改其他已給出代碼fromturtleimport*defcurvemove():foriinrange(200):right(1)forward(1)setup(600,600,400,400)hideturtle()_____(1)_____('black')_____(2)_____("red")pensize(2)begin_fill()left(140)forward(111.65)curvemove()left(120)curvemove()forward(111.65)end_fill()penup()goto(-27,85)pendown()done()

參考答案

1.A

2.Arange(6)取到的是0,1,2,3,4,5這六個(gè)數(shù),這些數(shù)均為int類型,使用list()方法將其存儲(chǔ)在列表變量lis中。

3.D層次模型的基本結(jié)構(gòu)是樹形結(jié)構(gòu),網(wǎng)狀模型是一個(gè)不加任何條件限制的無(wú)向圖,關(guān)系模型采用二維表來(lái)表示,所以3種數(shù)據(jù)庫(kù)的劃分原則是數(shù)據(jù)之間的聯(lián)系方式。本題選擇D選項(xiàng)。

4.B該代碼是一個(gè)匿名函數(shù)和split()方法的結(jié)合使用,split()方法把字符串words以空格分隔,返回的是列表類型。通過(guò)for循環(huán)把列表元素賦值給變量i,然后調(diào)用函數(shù)f()計(jì)算每個(gè)單詞的長(zhǎng)度,所以輸出的是566。本題選擇B選項(xiàng)。

5.D

6.C在Python語(yǔ)言中,打印輸出用print()函數(shù),HelloWorld是字符串類型,需要加單引號(hào)或雙引號(hào)。

7.B

8.D字典中可以嵌套字典;單分支結(jié)構(gòu)的格式為if;Python中整數(shù)的默認(rèn)書寫格式是十進(jìn)制。本題選擇D選項(xiàng)。

9.D在Python中,讀取CSV文件中的二維碼數(shù)據(jù)采用遍歷循環(huán)和字符串的split()方法相結(jié)合,方法如下:f=open('cpi.csv”,”r”)ls=[]forlineinf:Is.append(line,strip(“\\n').split(“,”))f.close()本題選擇D選項(xiàng)。

10.DPython采用大寫字母、小寫字母、數(shù)字、下劃線和漢字等字符及其組合進(jìn)行命名,但名字的首字符不能是數(shù)字,標(biāo)識(shí)符中間不能出現(xiàn)空格,長(zhǎng)度沒(méi)有限制。變量名不能與保留字相同。

11.D

12.D對(duì)于長(zhǎng)度為n的有序線性表,在最壞情況下,二分法查找(對(duì)分查找)需比較log2n次。對(duì)于長(zhǎng)度為n的線性表,最壞情況下順序查找需要n次,尋找最大項(xiàng)需要n一1次,堆排序需要nlog2n次。故D項(xiàng)的時(shí)間復(fù)雜度最低。

13.C二叉樹中只存在度為0、1、2的結(jié)點(diǎn),根據(jù)在二叉樹中度為0的結(jié)點(diǎn)(葉子結(jié)點(diǎn))總比度為2的結(jié)點(diǎn)多一個(gè),可知本題中度為2的結(jié)點(diǎn)有20-1\n=19個(gè)。故該二叉樹中總的結(jié)點(diǎn)數(shù)為20+5+19=44個(gè)。本題選擇C選項(xiàng)。

14.D在關(guān)系(二維表)中凡是能唯一標(biāo)識(shí)元組的最小屬性或?qū)傩约Q為該關(guān)系的鍵或者碼。本題選擇D選項(xiàng)。

15.B在Python中,字典是存儲(chǔ)可變數(shù)量鍵值對(duì)的數(shù)據(jù)結(jié)構(gòu),鍵和值可以是任意數(shù)據(jù)類型,通過(guò)鍵索引值,并可以通過(guò)鍵修改值。因此,可以直接利用鍵值對(duì)關(guān)系索引元素。索引語(yǔ)法格式為\n<值>=<字典變置>[<鍵\n>]。故能夠正確索引字典并輸出數(shù)字2的語(yǔ)句是Print(d['cake’]),本題選擇B選項(xiàng)。

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

17.B在Python3.x中語(yǔ)句print(*[1,2,3])可以正確執(zhí)行,且結(jié)果為123。本題選擇B選項(xiàng)。

18.D根據(jù)字典的索引方式可知,d.get(’eggthis\nfood’)索引的是字典第一層,但是第一層只有鍵food,沒(méi)有鍵egg,故索引不出值,輸出的是“nothisfood”。本題選擇D選項(xiàng)。

19.C該函數(shù)的功能是計(jì)算a的b次方,運(yùn)算符“**”表示冪運(yùn)算,s=2**5=32。本題選擇C選項(xiàng)。

20.Arandom.uniform(a,b):生成一個(gè)區(qū)間為[a,b)的隨機(jī)小數(shù)。本題選擇A選項(xiàng)。

21.Cfor循環(huán)依次將1~5依次賦給變量i,i從1,2,3,4,5依次變化,當(dāng)i%4==0時(shí),結(jié)束本次循環(huán)進(jìn)入下一循環(huán);反之輸出i的值,故輸出1,2,3,5。本題選擇C選項(xiàng)。

22.D冒泡排序、直接插入排序與簡(jiǎn)單選擇排序法在最壞情況下均需要比較n(n-\n1)/2次,而堆排序在最壞情況下需要比較的次數(shù)是nlog2n。本題選擇D選項(xiàng)。

23.D將實(shí)參42傳遞給函數(shù)形參變量age,之后進(jìn)入多分支結(jié)構(gòu),依次判斷,因?yàn)?0<42\n<60,故執(zhí)行else后面的語(yǔ)句,即輸出“作為一個(gè)老師,你很有愛(ài)心”。本題選擇D選項(xiàng)。

24.BA選項(xiàng)錯(cuò)誤,可行性分析階段產(chǎn)生可行性分析報(bào)告。C選項(xiàng)錯(cuò)誤,概要設(shè)計(jì)說(shuō)明書是總體設(shè)計(jì)階段產(chǎn)生的文檔。D選項(xiàng)錯(cuò)誤,集成測(cè)試計(jì)劃是在概要設(shè)計(jì)階段編寫的文檔。B選項(xiàng)正確,軟件需求規(guī)格說(shuō)明書是后續(xù)工作如設(shè)計(jì)、編碼等需要的重要參考文檔。本題選擇B選項(xiàng)。

25.C根據(jù)完全二叉樹的性質(zhì):具有n個(gè)結(jié)點(diǎn)的完全二叉樹的深度為[log2n]+1。本題中完全二叉樹共有256個(gè)結(jié)點(diǎn),則深度為[log2256]+1=8+1=9。本題選擇C選項(xiàng)。

26.A用于循環(huán)邏輯的保留字:while、for、else、break、continue。try用于捕捉異常。

27.Cclose()函數(shù)用于文件關(guān)閉,通過(guò)file.close()的方式調(diào)用,不是Python的內(nèi)置函數(shù)。本題選擇C選項(xiàng)。

28.Bfun(“5”)是將字符“5”賦給形參x,由于‘5’是字符類型,不是數(shù)字類型,不能進(jìn)行數(shù)值運(yùn)算,因此“x*4”是把字符“5”連續(xù)復(fù)制4次輸出。本題選擇B選項(xiàng)。

29.D這是一個(gè)Python的匿名函數(shù),是字符串連接輸出的一個(gè)函數(shù),即a+b+\nc的輸出。該函數(shù)有3個(gè)默認(rèn)值參數(shù),在調(diào)用該函數(shù)時(shí)傳入了一個(gè)實(shí)參hi,根據(jù)函數(shù)的傳參要求可知參數(shù)a的值被改變,其他值不變。split()是一個(gè)字符串分隔的方法,把b根據(jù)0這個(gè)字符分隔為兩個(gè)字符串,且返回的是列表類型,訪問(wèn)其中的元素需要用到索引訪問(wèn)。所以結(jié)果是hi+n+world\n=hinworid,本題選擇D選項(xiàng)。

30.BPython中異常處理結(jié)構(gòu)有try-except、try-except-else及\ntry-except-flnally。本題選擇B選項(xiàng)。

31.Y

32.Y

33.N

34.N

35.Y

36.N

37.Y

38.Y

39.Y

40.N

41.3

42.[1,4,7]

43.83

44.[9]

45.3.25

46.[1,4,2,3]

47.4

48.[1,2,1,2]

49.31

50.'ab:efg'

51.fo=open(”PY202.txt”,”w”)\r\n

defprime(num):\r\n

foriinrange(2,num);\r\n

ifnum%i==0;\r\n

returnFalse

returnTrue\r\n

ls=[51,33,54,56,67,88,431,111,141,72,45,2,78,13,15,5,69]\r\n

lis=[]\r\nforiinls:\r\n

ifprime(i)==False:\r\n

lis.append(i)\r\nfo.write(”>>>{},列表長(zhǎng)度為{}”.format(lis.len(lis)))\r\n

fo.close()素?cái)?shù)是只能被1和它本身整除的自然數(shù)。prime()函數(shù)用于判斷一個(gè)數(shù)是否為素?cái)?shù),如果一個(gè)數(shù)num,能被2到num一1之間的任意一個(gè)整數(shù)整除,那該數(shù)不為素?cái)?shù)(返回False),否則為素?cái)?shù)(返回True)。\r\n最后,通過(guò)for循環(huán)遍歷列表ls中的元素,通過(guò)調(diào)用函數(shù)判斷該元素是否為素?cái)?shù),將不是素?cái)?shù)的元素使用append()方法添加到一個(gè)新的列表lis中,再將新列表的元素和元素個(gè)數(shù)寫入到文件中去。

52.fi=open("score,csv",”r”)fo=open(“avg-score,txt",”w")Is=[]X=[]sum=0forrowinfi:Is.append(row.strip(“\\n”).split(“,”))Forlineinis[1:]:Foriinline[1:]:Sum=int(i)+sumAvg=sum/3X.append(avg)Sum=0Fo.write(“語(yǔ)文:{:.2f}\\n數(shù)學(xué)::{:.2f}\\n英語(yǔ):{:.2f}\\n物理:{:2f}\\n科學(xué):{:.2f}”.format(x[0],x[l],x{2],x[3],x[4]))fi.close()fo.close()本題中“score,csv”文件中存儲(chǔ)的是二維數(shù)據(jù),需要將其表示為二維列表對(duì)象。通過(guò)for循環(huán)遍歷“score,csv”文件中的每一行,再使用strip()和split()方法按照一定的格式將每一行存儲(chǔ)到二維列表1S中。這樣,列表Is中從索引為1的元素開始,存儲(chǔ)的均為一個(gè)學(xué)科名和對(duì)應(yīng)的3次考試成績(jī)。要求平均成績(jī),需要將該學(xué)科3次考試的成績(jī)相加,再除以3。實(shí)現(xiàn)方式為通過(guò)for循環(huán)遍歷二維列表Is中索引從1開始的元素,再嵌套for循環(huán)遍歷該元素中索引從1開始的元素,將遍歷到的元素相加(即3次成績(jī)相加),得出成績(jī)總和和平均成績(jī),并將平均成績(jī)追加到列表x中。最后,列表x中存儲(chǔ)的就是每個(gè)學(xué)科的平均成績(jī),使用format()方法按照題目給出的參考格式將其寫入“avg-score.\r\ntxt”文件。

53.fromturtleimport*defcurvemove():foriinrange(200):right(1)forward(1)setup(600,600,400,400)hideturtle()_pencolor('black')fillcolor("red")pensize(2)begin_fill()left(140)forward(111.65)curvemove()left(120)curvemove()forward(111.65)end_fill()penup()goto(-27,85)pendown()done()turtle庫(kù)是Python的標(biāo)準(zhǔn)庫(kù),其中setup(width,height,startx,starty\r\n)用來(lái)設(shè)置畫布窗體的大小和位置;pen-color()用來(lái)設(shè)置畫筆的顏色;fillcolor()用來(lái)填充圖形顏色。由題干給出的圖形可知,畫筆的顏色應(yīng)為黑色,填充顏色應(yīng)為紅色,因此第1空應(yīng)填pencolor,第2空應(yīng)填fillcolor。廣東省深圳市全國(guó)計(jì)算機(jī)等級(jí)考試Python語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(30題)1.s1='%s';s1%(s1)的輸入是()

A.%sB.%%sC.%s%sD.s

2.對(duì)以下代碼的輸出描述正確的是()。lis=list(range(6))print(lis)

A.[0,1,2,3,4,5]

B.[0,1,2,3,4,5,6]

C.0,1,2,3,4,5

D.0,1,2,3,4,5,6

3.層次性、網(wǎng)狀性的劃分原則是()。

A.記錄長(zhǎng)度B.文件的大小C.聯(lián)系的復(fù)雜程度D.數(shù)據(jù)之間的聯(lián)系方式

4.下面代碼的輸出結(jié)果是()。words=“helloPythonworld!Mf=lambdax:len(x)foriinwords,split():print(f(i),end=””)A.555B.566C.666D.ll1111

5.執(zhí)行以下代碼的結(jié)果是()A.A.'David'

B.['David']

C.['d']

D.'d'

6.擬在屏幕上打印輸出HelloWorld,使用的Python語(yǔ)句是()。

A.prinff(’HeUoWodd’)

B.print(HelloWorld)

C.print(”HelloWorld”)

D.printf(”HelloWorld”)

7.執(zhí)行以下代碼的結(jié)果是?A.(1,2,3,4)B.(1,2,3,[1,2,4])C.異常報(bào)錯(cuò)D.(1,2,3,[1,2,3],4)

8.下列關(guān)于Python的描述正確的是()。

A.字典中不可以嵌套字典

B.單分支結(jié)構(gòu)的格式為if-elif

C.Python中整數(shù)的默認(rèn)書寫格式是二進(jìn)制

D.Python中采用“#”表示一行注釋的幵始

9.在Python中,讀入CSV文件保存的二維數(shù)據(jù),按特定分隔符抽取信息,最可能用到的函數(shù)是()。

A.read()B.join()C.replace()D.split()

10.以下變量名中,符合Python語(yǔ)言變量命名規(guī)則的是()。

A.33_keywordB.key@word33_C.nonlocalD._33keyword

11.想查看BIFlen的文檔信息,輸入以下命令()

A.helplenB.help--lenC.lenhelpD.help(len)

12.下列算法中,最壞情況下時(shí)間復(fù)雜度最低的是()。

A.堆排序B.尋找最大項(xiàng)C.順序查找D.有序表的對(duì)分查找

13.設(shè)二叉樹中有20個(gè)葉子節(jié)點(diǎn),5個(gè)度為1的節(jié)點(diǎn),則該二叉樹中總的節(jié)點(diǎn)數(shù)為()。

A.46B.45C.44D.不可能有這樣的二叉樹

14.關(guān)系數(shù)據(jù)庫(kù)中的鍵是指()。

A.關(guān)系的所有屬性B.關(guān)系的名稱C.關(guān)系的專用保留字D.能唯一標(biāo)識(shí)元組的最小屬性或?qū)傩约?/p>

15.下面的d是一個(gè)字典變量,能夠輸出數(shù)字2的語(yǔ)句是()。d={'food1:{'cake1:1,'egg1:5},'cake':2,'egg’:3}

A.print(d['food1]['egg1])

B.print(d['cake'])

C.print(d['food1][-1])

D.print(d['cake'][1])

16.下列哪個(gè)語(yǔ)句在Python中是非法的?()

A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y

17.下面的說(shuō)法錯(cuò)誤的是()。

A.調(diào)用函數(shù)時(shí),在實(shí)參前面加一個(gè)星號(hào)表示序列解包

B.在Python3.x中語(yǔ)句print(*[1,2,3])不能正確執(zhí)行

C.函數(shù)是代碼復(fù)用的一種方式

D.編寫函數(shù)時(shí),一般建議先對(duì)參數(shù)進(jìn)行合法性檢查,然后再編寫正常的功能代碼

18.以下代碼的輸出結(jié)果是()。d=[‘food’:{’cake’:1,’egg’:5}}print(d.get(‘egg’,'nothisfood’))

A.eggB.1C.foodD.nothisfood

19.以下程序的輸出結(jié)果是()。deffunc(a,b): a**=b returnas=func(2,5)print(s)

A.10B.20C.32D.5

20.以下關(guān)于random.uniform(a,b)的描述,正確的是()。

A.生成一個(gè)位于[a,b]的隨機(jī)小數(shù)

B.生成一個(gè)位于[a,b]的隨機(jī)整數(shù)

C.生成一個(gè)均值為a,方差為b的正態(tài)分布

D.生成一個(gè)位于(a,b)的隨機(jī)數(shù)

21.以下代碼的輸出結(jié)果是()。foriinrange(1,6):ifi%4==0:continueelse:print(i,end=”,”)

A.1,2,3,B.1,2,3,4,C.1,2,3,5,D.1,2,3,5,6,

22.下列排序方法中,最壞情況下比較次數(shù)最少的是()。

A.冒泡排序B.簡(jiǎn)單選擇排序C.直接插入排序D.堆排序

23.以下代碼的輸出結(jié)果是()。defyoung(age):if25<=age<=30:print(”作為一個(gè)老師,你很年輕”)elifage<25:print(”作為一個(gè)老師,你太年輕了”)elifage>=60:print(”作為一個(gè)老師,你可以退休了”)else:Print("作為一個(gè)老師,你很有愛(ài)心”)young(42)

A.作為一個(gè)老師,你很年輕B.作為一個(gè)老師,你太年輕了C.作為一個(gè)老師,你可以退休了D.作為一個(gè)老師,你很有愛(ài)心

24.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。

A.可行性分析報(bào)告B.軟件需求規(guī)格說(shuō)明書C.概要設(shè)計(jì)說(shuō)明書D.集成測(cè)試計(jì)劃

25.某完全二叉樹有256個(gè)結(jié)點(diǎn),則該二叉樹的深度為()。

A.7B.8C.9D.10

26.以下保留字不用于循環(huán)邏輯的是()。

A.tryB.elseC.forD.continue

27.下列函數(shù)中,不是Python內(nèi)置函數(shù)的是()。

A.exec()B.sum()C.close()D.eval()

28.以下程序的輸出結(jié)果是()。deffun(x): try: returnx*4 except: returnxprint(fun(“5”))

A.20B.5555C.5D.9

29.下面這條語(yǔ)句的輸出結(jié)果是()。f=(lambdaa="hello",b="python",c="world":a+b.split(“o")[1]+C)print(f("hi"))

A.hellopythonworldB.hipythworldC.hellonworldD.hinworld

30.以下不屬于Python中異常處理結(jié)構(gòu)的是()。

A.try-except

B.try-except-if

C.try-except-else

D.try-except-finally

二、判斷題(10題)31.當(dāng)作為條件表達(dá)式時(shí),{}與None等價(jià)。

A.是B.否

32.假設(shè)random模塊已導(dǎo)入,那么表達(dá)式random.sample(range(10),7)的作用是生成7個(gè)不重復(fù)的整數(shù)。

A.是B.否

33.已知x為非空字符串,那么表達(dá)式“.join(x.split())==x的值一定為True。A.是B.否

34.在調(diào)用函數(shù)時(shí),必須牢記函數(shù)形參順序才能正確傳值。

A.是B.否

35.Python變量名必須以字母或下劃線開頭,并且區(qū)分字母大小寫。

A.是B.否

36.Python列表中所有元素必須為相同類型的數(shù)據(jù)。

A.是B.否

37.Python是一種跨平臺(tái)、開源、免費(fèi)的高級(jí)動(dòng)態(tài)編程語(yǔ)言。

A.是B.否

38.在調(diào)用函數(shù)時(shí),可以通過(guò)關(guān)鍵參數(shù)的形式進(jìn)行傳值,從而避免必須記住函數(shù)形參順序的麻煩。

A.是B.否

39.Python標(biāo)準(zhǔn)庫(kù)os中的方法isfile()可以用來(lái)測(cè)試給定的路徑是否為文件。

A.是B.否

40.只能對(duì)列表進(jìn)行切片操作,不能對(duì)元組和字符串進(jìn)行切片操作。

A.是B.否

三、填空題(10題)41.語(yǔ)句x=(3)執(zhí)行后x的值為________________。

42.Python語(yǔ)句list(range(1,10,3))執(zhí)行結(jié)果為___________________。

43.表達(dá)式int('123',8)的值為_________。

44.表達(dá)式[iforiinrange(10)ifi>8]的值為________________。

45.表達(dá)式13/4的值為__________。

46.已知列表x=[1,2,3],那么執(zhí)行語(yǔ)句x.insert(1,4)只有,x的值為___________。

47.表達(dá)式len('中國(guó)'.encode('gbk'))的值為____________。

48.表達(dá)式[1,2]*2的值為______________。

49.表達(dá)式int('11111',2)的值為__________。

50.表達(dá)式':'.join('abcdefg'.split('cd'))的值為______________。

四、操作題(3題)51.考生文件夾下存在一個(gè)文件PY202.py,該文件是本題目的代碼提示框架,其中代碼可以任意修改,請(qǐng)?jiān)谠撐募芯帉懘a,以實(shí)現(xiàn)如下功能:

編寫程序,實(shí)現(xiàn)將列表[51,33,54,56,67,88,431,111,141,72,45,2,78,12,15,5,69]中的素?cái)?shù)去除,并輸出去除素?cái)?shù)后列表的元素個(gè)數(shù),結(jié)果保存在考生文件夾下,命名為“PY202.txt”。。請(qǐng)結(jié)合程序整體框架,補(bǔ)充橫線處代碼。

試題程序:

#以下代碼為提示框架

#請(qǐng)?jiān)诔绦虻摹幨褂靡恍谢蚨嘈写a替換

#請(qǐng)?jiān)诔绦虻腳_____處使用一行代碼替換

#注意:提示框架代碼可以任意修改,以完成程序功能為準(zhǔn)

fo=open(”PY202.txt”,“w”)

defprime(num):

……#此處可以是多行代碼

ls=[51,33,54,56,67,88,431,111,141,72,45,2,78,12,15,5,69]

lis=[]foriinls:

ifprime(i)==False:

________#處為一行代碼fo.write(”>>>(),列表長(zhǎng)度為{}".format(_______,_________)))fo.close()

52.考生文件夾下存在一個(gè)Python源文件“PY301.Py”,請(qǐng)按照文件內(nèi)說(shuō)明修改代碼,實(shí)現(xiàn)以下功能。“score,csv”文件中存儲(chǔ)的是一個(gè)學(xué)生在第一季度同一學(xué)科對(duì)應(yīng)的月考成績(jī),求出每一門學(xué)科在3個(gè)月中的平均成績(jī),將結(jié)果輸出在考生文件夾下,命名為“avg-score,txt”。參考如下格式。語(yǔ)文:90.67數(shù)學(xué):88.00英語(yǔ):85.67物理:67.33科學(xué):81.00試題程序:#以下代碼為提示框架#請(qǐng)?jiān)?..處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fi=open("score.csv","r")fo=open("avg-score.txt","w")Is=[]X=[]sum=0…fi.close()fo.close()

53.考生文件夾下存在一個(gè)文件“PY201.py”,請(qǐng)寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。使用turtle庫(kù)中的pencolor()和fillcolor()方法為圖形著色(畫筆顏色為黑色,填充顏色為紅色),使用set-up()方法在桌面(400,400)的位置創(chuàng)建600像素×600像素的畫布窗體,效果如下所示。試題程序#請(qǐng)?jiān)赺____處使用一行代碼或表達(dá)式替換#注意:請(qǐng)不要修改其他已給出代碼fromturtleimport*defcurvemove():foriinrange(200):right(1)forward(1)setup(600,600,400,400)hideturtle()_____(1)_____('black')_____(2)_____("red")pensize(2)begin_fill()left(140)forward(111.65)curvemove()left(120)curvemove()forward(111.65)end_fill()penup()goto(-27,85)pendown()done()

參考答案

1.A

2.Arange(6)取到的是0,1,2,3,4,5這六個(gè)數(shù),這些數(shù)均為int類型,使用list()方法將其存儲(chǔ)在列表變量lis中。

3.D層次模型的基本結(jié)構(gòu)是樹形結(jié)構(gòu),網(wǎng)狀模型是一個(gè)不加任何條件限制的無(wú)向圖,關(guān)系模型采用二維表來(lái)表示,所以3種數(shù)據(jù)庫(kù)的劃分原則是數(shù)據(jù)之間的聯(lián)系方式。本題選擇D選項(xiàng)。

4.B該代碼是一個(gè)匿名函數(shù)和split()方法的結(jié)合使用,split()方法把字符串words以空格分隔,返回的是列表類型。通過(guò)for循環(huán)把列表元素賦值給變量i,然后調(diào)用函數(shù)f()計(jì)算每個(gè)單詞的長(zhǎng)度,所以輸出的是566。本題選擇B選項(xiàng)。

5.D

6.C在Python語(yǔ)言中,打印輸出用print()函數(shù),HelloWorld是字符串類型,需要加單引號(hào)或雙引號(hào)。

7.B

8.D字典中可以嵌套字典;單分支結(jié)構(gòu)的格式為if;Python中整數(shù)的默認(rèn)書寫格式是十進(jìn)制。本題選擇D選項(xiàng)。

9.D在Python中,讀取CSV文件中的二維碼數(shù)據(jù)采用遍歷循環(huán)和字符串的split()方法相結(jié)合,方法如下:f=open('cpi.csv”,”r”)ls=[]forlineinf:Is.append(line,strip(“\\n').split(“,”))f.close()本題選擇D選項(xiàng)。

10.DPython采用大寫字母、小寫字母、數(shù)字、下劃線和漢字等字符及其組合進(jìn)行命名,但名字的首字符不能是數(shù)字,標(biāo)識(shí)符中間不能出現(xiàn)空格,長(zhǎng)度沒(méi)有限制。變量名不能與保留字相同。

11.D

12.D對(duì)于長(zhǎng)度為n的有序線性表,在最壞情況下,二分法查找(對(duì)分查找)需比較log2n次。對(duì)于長(zhǎng)度為n的線性表,最壞情況下順序查找需要n次,尋找最大項(xiàng)需要n一1次,堆排序需要nlog2n次。故D項(xiàng)的時(shí)間復(fù)雜度最低。

13.C二叉樹中只存在度為0、1、2的結(jié)點(diǎn),根據(jù)在二叉樹中度為0的結(jié)點(diǎn)(葉子結(jié)點(diǎn))總比度為2的結(jié)點(diǎn)多一個(gè),可知本題中度為2的結(jié)點(diǎn)有20-1\n=19個(gè)。故該二叉樹中總的結(jié)點(diǎn)數(shù)為20+5+19=44個(gè)。本題選擇C選項(xiàng)。

14.D在關(guān)系(二維表)中凡是能唯一標(biāo)識(shí)元組的最小屬性或?qū)傩约Q為該關(guān)系的鍵或者碼。本題選擇D選項(xiàng)。

15.B在Python中,字典是存儲(chǔ)可變數(shù)量鍵值對(duì)的數(shù)據(jù)結(jié)構(gòu),鍵和值可以是任意數(shù)據(jù)類型,通過(guò)鍵索引值,并可以通過(guò)鍵修改值。因此,可以直接利用鍵值對(duì)關(guān)系索引元素。索引語(yǔ)法格式為\n<值>=<字典變置>[<鍵\n>]。故能夠正確索引字典并輸出數(shù)字2的語(yǔ)句是Print(d['cake’]),本題選擇B選項(xiàng)。

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

17.B在Python3.x中語(yǔ)句print(*[1,2,3])可以正確執(zhí)行,且結(jié)果為123。本題選擇B選項(xiàng)。

18.D根據(jù)字典的索引方式可知,d.get(’eggthis\nfood’)索引的是字典第一層,但是第一層只有鍵food,沒(méi)有鍵egg,故索引不出值,輸出的是“nothisfood”。本題選擇D選項(xiàng)。

19.C該函數(shù)的功

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論