版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
廣東省深圳市全國計(jì)算機(jī)等級(jí)考試Python語言程序設(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.記錄長度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語句是()。
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語言變量命名規(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ù)庫中的鍵是指()。
A.關(guān)系的所有屬性B.關(guān)系的名稱C.關(guān)系的專用保留字D.能唯一標(biāo)識(shí)元組的最小屬性或?qū)傩约?/p>
15.下面的d是一個(gè)字典變量,能夠輸出數(shù)字2的語句是()。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è)語句在Python中是非法的?()
A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y
17.下面的說法錯(cuò)誤的是()。
A.調(diào)用函數(shù)時(shí),在實(shí)參前面加一個(gè)星號(hào)表示序列解包
B.在Python3.x中語句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.簡單選擇排序C.直接插入排序D.堆排序
23.以下代碼的輸出結(jié)果是()。defyoung(age):if25<=age<=30:print(”作為一個(gè)老師,你很年輕”)elifage<25:print(”作為一個(gè)老師,你太年輕了”)elifage>=60:print(”作為一個(gè)老師,你可以退休了”)else:Print("作為一個(gè)老師,你很有愛心”)young(42)
A.作為一個(gè)老師,你很年輕B.作為一個(gè)老師,你太年輕了C.作為一個(gè)老師,你可以退休了D.作為一個(gè)老師,你很有愛心
24.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。
A.可行性分析報(bào)告B.軟件需求規(guī)格說明書C.概要設(shè)計(jì)說明書D.集成測試計(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.下面這條語句的輸出結(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)編程語言。
A.是B.否
38.在調(diào)用函數(shù)時(shí),可以通過關(guān)鍵參數(shù)的形式進(jìn)行傳值,從而避免必須記住函數(shù)形參順序的麻煩。
A.是B.否
39.Python標(biāo)準(zhǔn)庫os中的方法isfile()可以用來測試給定的路徑是否為文件。
A.是B.否
40.只能對(duì)列表進(jìn)行切片操作,不能對(duì)元組和字符串進(jìn)行切片操作。
A.是B.否
三、填空題(10題)41.語句x=(3)執(zhí)行后x的值為________________。
42.Python語句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í)行語句x.insert(1,4)只有,x的值為___________。
47.表達(dá)式len('中國'.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(”>>>(),列表長度為{}".format(_______,_________)))fo.close()
52.考生文件夾下存在一個(gè)Python源文件“PY301.Py”,請(qǐng)按照文件內(nèi)說明修改代碼,實(shí)現(xiàn)以下功能。“score,csv”文件中存儲(chǔ)的是一個(gè)學(xué)生在第一季度同一學(xué)科對(duì)應(yīng)的月考成績,求出每一門學(xué)科在3個(gè)月中的平均成績,將結(jié)果輸出在考生文件夾下,命名為“avg-score,txt”。參考如下格式。語文:90.67數(shù)學(xué):88.00英語: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庫中的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è)不加任何條件限制的無向圖,關(guān)系模型采用二維表來表示,所以3種數(shù)據(jù)庫的劃分原則是數(shù)據(jù)之間的聯(lián)系方式。本題選擇D選項(xiàng)。
4.B該代碼是一個(gè)匿名函數(shù)和split()方法的結(jié)合使用,split()方法把字符串words以空格分隔,返回的是列表類型。通過for循環(huán)把列表元素賦值給變量i,然后調(diào)用函數(shù)f()計(jì)算每個(gè)單詞的長度,所以輸出的是566。本題選擇B選項(xiàng)。
5.D
6.C在Python語言中,打印輸出用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)空格,長度沒有限制。變量名不能與保留字相同。
11.D
12.D對(duì)于長度為n的有序線性表,在最壞情況下,二分法查找(對(duì)分查找)需比較log2n次。對(duì)于長度為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ù)類型,通過鍵索引值,并可以通過鍵修改值。因此,可以直接利用鍵值對(duì)關(guān)系索引元素。索引語法格式為\n<值>=<字典變置>[<鍵\n>]。故能夠正確索引字典并輸出數(shù)字2的語句是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中語句print(*[1,2,3])可以正確執(zhí)行,且結(jié)果為123。本題選擇B選項(xiàng)。
18.D根據(jù)字典的索引方式可知,d.get(’eggthis\nfood’)索引的是字典第一層,但是第一層只有鍵food,沒有鍵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冒泡排序、直接插入排序與簡單選擇排序法在最壞情況下均需要比較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后面的語句,即輸出“作為一個(gè)老師,你很有愛心”。本題選擇D選項(xiàng)。
24.BA選項(xiàng)錯(cuò)誤,可行性分析階段產(chǎn)生可行性分析報(bào)告。C選項(xiàng)錯(cuò)誤,概要設(shè)計(jì)說明書是總體設(shè)計(jì)階段產(chǎn)生的文檔。D選項(xiàng)錯(cuò)誤,集成測試計(jì)劃是在概要設(shè)計(jì)階段編寫的文檔。B選項(xiàng)正確,軟件需求規(guī)格說明書是后續(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)閉,通過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è)字符串,且返回的是列表類型,訪問其中的元素需要用到索引訪問。所以結(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(”>>>{},列表長度為{}”.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最后,通過for循環(huán)遍歷列表ls中的元素,通過調(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(“語文:{:.2f}\\n數(shù)學(xué)::{:.2f}\\n英語:{:.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ì)象。通過for循環(huán)遍歷“score,csv”文件中的每一行,再使用strip()和split()方法按照一定的格式將每一行存儲(chǔ)到二維列表1S中。這樣,列表Is中從索引為1的元素開始,存儲(chǔ)的均為一個(gè)學(xué)科名和對(duì)應(yīng)的3次考試成績。要求平均成績,需要將該學(xué)科3次考試的成績相加,再除以3。實(shí)現(xiàn)方式為通過for循環(huán)遍歷二維列表Is中索引從1開始的元素,再嵌套for循環(huán)遍歷該元素中索引從1開始的元素,將遍歷到的元素相加(即3次成績相加),得出成績總和和平均成績,并將平均成績追加到列表x中。最后,列表x中存儲(chǔ)的就是每個(gè)學(xué)科的平均成績,使用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庫是Python的標(biāo)準(zhǔn)庫,其中setup(width,height,startx,starty\r\n)用來設(shè)置畫布窗體的大小和位置;pen-color()用來設(shè)置畫筆的顏色;fillcolor()用來填充圖形顏色。由題干給出的圖形可知,畫筆的顏色應(yīng)為黑色,填充顏色應(yīng)為紅色,因此第1空應(yīng)填pencolor,第2空應(yīng)填fillcolor。廣東省深圳市全國計(jì)算機(jī)等級(jí)考試Python語言程序設(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.記錄長度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語句是()。
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語言變量命名規(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ù)庫中的鍵是指()。
A.關(guān)系的所有屬性B.關(guān)系的名稱C.關(guān)系的專用保留字D.能唯一標(biāo)識(shí)元組的最小屬性或?qū)傩约?/p>
15.下面的d是一個(gè)字典變量,能夠輸出數(shù)字2的語句是()。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è)語句在Python中是非法的?()
A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y
17.下面的說法錯(cuò)誤的是()。
A.調(diào)用函數(shù)時(shí),在實(shí)參前面加一個(gè)星號(hào)表示序列解包
B.在Python3.x中語句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.簡單選擇排序C.直接插入排序D.堆排序
23.以下代碼的輸出結(jié)果是()。defyoung(age):if25<=age<=30:print(”作為一個(gè)老師,你很年輕”)elifage<25:print(”作為一個(gè)老師,你太年輕了”)elifage>=60:print(”作為一個(gè)老師,你可以退休了”)else:Print("作為一個(gè)老師,你很有愛心”)young(42)
A.作為一個(gè)老師,你很年輕B.作為一個(gè)老師,你太年輕了C.作為一個(gè)老師,你可以退休了D.作為一個(gè)老師,你很有愛心
24.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。
A.可行性分析報(bào)告B.軟件需求規(guī)格說明書C.概要設(shè)計(jì)說明書D.集成測試計(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.下面這條語句的輸出結(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)編程語言。
A.是B.否
38.在調(diào)用函數(shù)時(shí),可以通過關(guān)鍵參數(shù)的形式進(jìn)行傳值,從而避免必須記住函數(shù)形參順序的麻煩。
A.是B.否
39.Python標(biāo)準(zhǔn)庫os中的方法isfile()可以用來測試給定的路徑是否為文件。
A.是B.否
40.只能對(duì)列表進(jìn)行切片操作,不能對(duì)元組和字符串進(jìn)行切片操作。
A.是B.否
三、填空題(10題)41.語句x=(3)執(zhí)行后x的值為________________。
42.Python語句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í)行語句x.insert(1,4)只有,x的值為___________。
47.表達(dá)式len('中國'.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(”>>>(),列表長度為{}".format(_______,_________)))fo.close()
52.考生文件夾下存在一個(gè)Python源文件“PY301.Py”,請(qǐng)按照文件內(nèi)說明修改代碼,實(shí)現(xiàn)以下功能?!皊core,csv”文件中存儲(chǔ)的是一個(gè)學(xué)生在第一季度同一學(xué)科對(duì)應(yīng)的月考成績,求出每一門學(xué)科在3個(gè)月中的平均成績,將結(jié)果輸出在考生文件夾下,命名為“avg-score,txt”。參考如下格式。語文:90.67數(shù)學(xué):88.00英語: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庫中的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è)不加任何條件限制的無向圖,關(guān)系模型采用二維表來表示,所以3種數(shù)據(jù)庫的劃分原則是數(shù)據(jù)之間的聯(lián)系方式。本題選擇D選項(xiàng)。
4.B該代碼是一個(gè)匿名函數(shù)和split()方法的結(jié)合使用,split()方法把字符串words以空格分隔,返回的是列表類型。通過for循環(huán)把列表元素賦值給變量i,然后調(diào)用函數(shù)f()計(jì)算每個(gè)單詞的長度,所以輸出的是566。本題選擇B選項(xiàng)。
5.D
6.C在Python語言中,打印輸出用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)空格,長度沒有限制。變量名不能與保留字相同。
11.D
12.D對(duì)于長度為n的有序線性表,在最壞情況下,二分法查找(對(duì)分查找)需比較log2n次。對(duì)于長度為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ù)類型,通過鍵索引值,并可以通過鍵修改值。因此,可以直接利用鍵值對(duì)關(guān)系索引元素。索引語法格式為\n<值>=<字典變置>[<鍵\n>]。故能夠正確索引字典并輸出數(shù)字2的語句是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中語句print(*[1,2,3])可以正確執(zhí)行,且結(jié)果為123。本題選擇B選項(xiàng)。
18.D根據(jù)字典的索引方式可知,d.get(’eggthis\nfood’)索引的是字典第一層,但是第一層只有鍵food,沒有鍵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冒泡排序、直接插入排序與簡單選擇排序法在最壞情況下均需要比較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后面的語句,即輸出“作為一個(gè)老師,你很有愛心”。本題選擇D選項(xiàng)。
24.BA選項(xiàng)錯(cuò)誤,可行性分析階段產(chǎn)生可行性分析報(bào)告。C選項(xiàng)錯(cuò)誤,概要設(shè)計(jì)說明書是總體設(shè)計(jì)階段產(chǎn)生的文檔。D選項(xiàng)錯(cuò)誤,集成測試計(jì)劃是在概要設(shè)計(jì)階段編寫的文檔。B選項(xiàng)正確,軟件需求規(guī)格說明書是后續(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)閉,通過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è)字符串,且返回的是列表類型,訪問其中的元素需要用到索引訪問。所以結(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(”>>>{},列表長度為{}”.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最后,通過for循環(huán)遍歷列表ls中的元素,通過調(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(“語文:{:.2f}\\n數(shù)學(xué)::{:.2f}\\n英語:{:.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ì)象。通過for循環(huán)遍歷“score,csv”文件中的每一行,再使用strip()和split()方法按照一定的格式將每一行存儲(chǔ)到二維列表1S中。這樣,列表Is中從索引為1的元素開始,存儲(chǔ)的均為一個(gè)學(xué)科名和對(duì)應(yīng)的3次考試成績。要求平均成績,需要將該學(xué)科3次考試的成績相加,再除以3。實(shí)現(xiàn)方式為通過for循環(huán)遍歷二維列表Is中索引從1開始的元素,再嵌套for循環(huán)遍歷該元素中索引從1開始的元素,將遍歷到的元素相加(即3次成績相加),得出成績總和和平均成績,并將平均成績追加到列表x中。最后,列表x中存儲(chǔ)的就是每個(gè)學(xué)科的平均成績,使用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庫是Python的標(biāo)準(zhǔn)庫,其中setup(width,height,startx,starty\r\n)用來設(shè)置畫布窗體的大小和位置;pen-color()用來設(shè)置畫筆的顏色;fillcolor()用來填充圖形顏色。由題干給出的圖形可知,畫筆的顏色應(yīng)為黑色,填充顏色應(yīng)為紅色,因此第1空應(yīng)填pencolor,第2空應(yīng)填fillcolor。廣東省深圳市全國計(jì)算機(jī)等級(jí)考試Python語言程序設(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.記錄長度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語句是()。
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語言變量命名規(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ù)庫中的鍵是指()。
A.關(guān)系的所有屬性B.關(guān)系的名稱C.關(guān)系的專用保留字D.能唯一標(biāo)識(shí)元組的最小屬性或?qū)傩约?/p>
15.下面的d是一個(gè)字典變量,能夠輸出數(shù)字2的語句是()。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è)語句在Python中是非法的?()
A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y
17.下面的說法錯(cuò)誤的是()。
A.調(diào)用函數(shù)時(shí),在實(shí)參前面加一個(gè)星號(hào)表示序列解包
B.在Python3.x中語句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.簡單選擇排序C.直接插入排序D.堆排序
23.以下代碼的輸出結(jié)果是()。defyoung(age):if25<=age<=30:print(”作為一個(gè)老師,你很年輕”)elifage<25:print(”作為一個(gè)老師,你太年輕了”)elifage>=60:print(”作為一個(gè)老師,你可以退休了”)else:Print("作為一個(gè)老師,你很有愛心”)young(42)
A.作為一個(gè)老師,你很年輕B.作為一個(gè)老師,你太年輕了C.作為一個(gè)老師,你可以退休了D.作為一個(gè)老師,你很有愛心
24.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。
A.可行性分析報(bào)告B.軟件需求規(guī)格說明書C.概要設(shè)計(jì)說明書D.集成測試計(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.下面這條語句的輸出結(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)編程語言。
A.是B.否
38.在調(diào)用函數(shù)時(shí),可以通過關(guān)鍵參數(shù)的形式進(jìn)行傳值,從而避免必須記住函數(shù)形參順序的麻煩。
A.是B.否
39.Python標(biāo)準(zhǔn)庫os中的方法isfile()可以用來測試給定的路徑是否為文件。
A.是B.否
40.只能對(duì)列表進(jìn)行切片操作,不能對(duì)元組和字符串進(jìn)行切片操作。
A.是B.否
三、填空題(10題)41.語句x=(3)執(zhí)行后x的值為________________。
42.Python語句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í)行語句x.insert(1,4)只有,x的值為___________。
47.表達(dá)式len('中國'.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(”>>>(),列表長度為{}".format(_______,_________)))fo.close()
52.考生文件夾下存在一個(gè)Python源文件“PY301.Py”,請(qǐng)按照文件內(nèi)說明修改代碼,實(shí)現(xiàn)以下功能?!皊core,csv”文件中存儲(chǔ)的是一個(gè)學(xué)生在第一季度同一學(xué)科對(duì)應(yīng)的月考成績,求出每一門學(xué)科在3個(gè)月中的平均成績,將結(jié)果輸出在考生文件夾下,命名為“avg-score,txt”。參考如下格式。語文:90.67數(shù)學(xué):88.00英語: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庫中的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è)不加任何條件限制的無向圖,關(guān)系模型采用二維表來表示,所以3種數(shù)據(jù)庫的劃分原則是數(shù)據(jù)之間的聯(lián)系方式。本題選擇D選項(xiàng)。
4.B該代碼是一個(gè)匿名函數(shù)和split()方法的結(jié)合使用,split()方法把字符串words以空格分隔,返回的是列表類型。通過for循環(huán)把列表元素賦值給變量i,然后調(diào)用函數(shù)f()計(jì)算每個(gè)單詞的長度,所以輸出的是566。本題選擇B選項(xiàng)。
5.D
6.C在Python語言中,打印輸出用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)空格,長度沒有限制。變量名不能與保留字相同。
11.D
12.D對(duì)于長度為n的有序線性表,在最壞情況下,二分法查找(對(duì)分查找)需比較log2n次。對(duì)于長度為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ù)類型,通過鍵索引值,并可以通過鍵修改值。因此,可以直接利用鍵值對(duì)關(guān)系索引元素。索引語法格式為\n<值>=<字典變置>[<鍵\n>]。故能夠正確索引字典并輸出數(shù)字2的語句是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中語句print(*[1,2,3])可以正確執(zhí)行,且結(jié)果為123。本題選擇B選項(xiàng)。
18.D根據(jù)字典的索引方式可知,d.get(’eggthis\nfood’)索引的是字典第一層,但是第一層只有鍵food,沒有鍵egg,故索引不出值,輸出的是“nothisfood”。本題選擇D選項(xiàng)。
19.C該函數(shù)的功
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 旅游度假空置別墅租賃協(xié)議
- 航空公司足浴技師招聘合同
- 防水工程維修合同
- 災(zāi)害救援項(xiàng)目捐贈(zèng)協(xié)議
- 文化旅游用房購房合同協(xié)議書
- 美容養(yǎng)生店合同范例
- 金屬材料生產(chǎn)加工合同三篇
- 育秧大棚建設(shè)合同(2篇)
- 土壤修復(fù)效果評(píng)估技術(shù)合同
- 集體土地私人修路協(xié)議范文
- 蘇教版小學(xué)四年級(jí)上冊數(shù)學(xué)期末知識(shí)點(diǎn)綜合復(fù)習(xí)假期練習(xí)題單
- 外墻維修施工合同-標(biāo)準(zhǔn)
- 初中地理復(fù)習(xí)教案
- 《國家憲法日》班會(huì)教學(xué)課件
- TOC-DBR培訓(xùn)課程完整版ppt課件
- 承插型盤扣式盤扣高支模施工方案(專家論證通過)
- 機(jī)械設(shè)計(jì)課程設(shè)計(jì)---榫槽成形半自動(dòng)切削機(jī)
- 自動(dòng)化立體庫貨架驗(yàn)收?qǐng)?bào)告
- 數(shù)學(xué)模型實(shí)驗(yàn)報(bào)告5
- 屋頂分布式光伏項(xiàng)目施工安全管理方案
- 新人教版高中物理課本必修1復(fù)習(xí)與提高AB組解析
評(píng)論
0/150
提交評(píng)論