版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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.下列敘述中正確的是()。
A.棧是一種先進(jìn)先出的線性表B.隊(duì)列是一種后進(jìn)先出的線性表C.棧與隊(duì)列都是非線性結(jié)構(gòu)D.以上3種說法都不對(duì)
2.以下關(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ù)
3.以下關(guān)于Python二維數(shù)據(jù)的描述中,錯(cuò)誤的是()。
A.CSV文件的每一行是一維數(shù)據(jù),可以用列表、元組表示
B.從CSV文件獲得數(shù)據(jù)內(nèi)容后,可以用replace()來(lái)去掉每行最后的換行符
C.若一個(gè)列表變量里的元素都是字符串類型,則可以用join()合成字符串
D.列表中保存的二維數(shù)據(jù),可以通過循環(huán)用writelines()寫入CSV文件
4.以下關(guān)于Python處理二進(jìn)制文件的描述中,錯(cuò)誤的是()。
A.Python不可以處理PDF文件
B.Python能處理Excel文件
C.Python能處理音頻文件
D.Python能處理圖形圖像文件
5.以下關(guān)于字符串的描述正確的是()。
A.字符應(yīng)視為長(zhǎng)度為1或2的字符串
B.字符串中的字符可進(jìn)行數(shù)學(xué)運(yùn)算,但進(jìn)行數(shù)學(xué)運(yùn)算的字符必須為數(shù)字
C.在三引號(hào)字符串中可包含換行回車符等特殊的字符
D.字符串可以進(jìn)行切片賦值
6.以下代碼的輸出結(jié)果是()。forsin"PythonNCRE":ifs=="N”:breakprint(s,end="")
A.PythonCREB.NC.PythonD.PythonNCRE
7.以下程序的輸出結(jié)果是()。a,b,c=‘I’,chr(64),“you”s=a+b+cprint(s)
A.I@youB.IyouC.I4youD.Ichr(64)you
8.下面不是“+”的用法的是()。
A.字符串連接B.邏輯與C.算術(shù)加法D.單目運(yùn)算
9.以下程序的輸出結(jié)果是()。a=[[1,2,3],[4,5,6],[7,8,9]]s=0forcina: forjinrange(3): s+=c[j]print(s)
A.[1,2,3,4,5,6,7,8,9]B.45C.24D.0
10.以下關(guān)于Python全局變量和局部變量的描述中,錯(cuò)誤的是()。
A.當(dāng)函數(shù)退出時(shí),局部變量依然存在,下次函數(shù)調(diào)用可以繼續(xù)使用
B.全局變量一般指定義在函數(shù)之外的變量
C.使用global保留字聲明后,變量可以作為全局變量使用
D.局部變量在函數(shù)內(nèi)部創(chuàng)建和使用,函數(shù)退出后變量被釋放
11.以下函數(shù)定義中,錯(cuò)誤的是()。
A.defvfunc(s,a=1,*b):
B.defvfunc(a=3,b):
C.defvfunc(a,**b):
D.defvfunc(a,b=2):
12.以下不屬于Python語(yǔ)言保留字的是()。
A.passB.useC.withD.None
13.以下程序的輸出結(jié)果是()。foriin”Nation”:forkinrange(2):ifi==’n’:breakprint(i,end=””)
A.aattiiooB.NNaattiiooC.NaattiioonD.aattiioonn
14.以下程序的輸出結(jié)果是()。list=[“1”,“3”,“5”]defapp(x): list.append(x)app(“7”)print(list)
A.[‘1’,‘3’,‘5’]B.[‘1’,‘3’,‘5’,‘7’]C.[‘7’]D.“1,3,5,7”
15.下面這段代碼的輸出是()。l=’abcd’deff(x,result=['a','b,'c','d']):ifx:result.remove(x[一1])f(x[:一1])returnresultprint(f(l))
A.[’a’,,b’,’c’,’d’]B.['b',’c’,’d’]C.[’a’,'b',’c’]D.[]
16.列表listV=list(range(10)),以下能夠輸出列表listV中最小元素的是()。
A.print(min(listV))
B.print(min(listV()))
C.print(listV.max())
D.print(listV.reverse(i)[0])
17.以下關(guān)于字符串的描述正確的是()。
A.字符應(yīng)視為長(zhǎng)度為1或2的字符串
B.字符串中的字符可進(jìn)行數(shù)學(xué)運(yùn)算,但進(jìn)行數(shù)學(xué)運(yùn)算的字符必須為數(shù)字
C.在三引號(hào)字符串中可包含換行回車等特殊的字符
D.字符串可以進(jìn)行切片賦值
18.下列關(guān)于Python的描述正確的是()。
A.字典中不可以嵌套字典
B.單分支結(jié)構(gòu)的格式為if-elif
C.Python中整數(shù)的默認(rèn)書寫格式是二進(jìn)制
D.Python中采用“#”表示一行注釋的幵始
19.以下不屬于Python保留字的是()。
A.classB.passC.subD.def
20.面向?qū)ο蠓椒ㄖ?,將?shù)據(jù)和操作置于對(duì)象的統(tǒng)一體中的實(shí)現(xiàn)方式是()。
A.結(jié)合B.抽象C.封裝D.隱藏
21.以下程序的輸出結(jié)果是()。
A.LOVESB.********LOVESC.LOVES********D.****LOVES****
22.在Python中,不能作為變量名的是()。
A.studentB.2ageC._regD.use_time
23.不屬于Python數(shù)據(jù)分析及可視化處理的第三方庫(kù)的是()。
A.seabornB.randomC.mayavi2D.NumPy
24.下面代碼的輸出結(jié)果是()。deffun(a,b):t=aa=bb=tprint(a,b)fun(pow(3,2),pow(2,3))
A.32B.23C.89D.98
25.以下不屬于Python控制結(jié)構(gòu)的是()。
A.順序結(jié)構(gòu)B.循環(huán)結(jié)構(gòu)C.分支結(jié)構(gòu)D.數(shù)據(jù)結(jié)構(gòu)
26.用Pylnstaller工具把Python源文件打包成一個(gè)獨(dú)立的可執(zhí)行文件,使用的參數(shù)是()。
A.-LB.-C.-FD.-i
27.在Python中,用于數(shù)據(jù)分析的第三方庫(kù)是()。
A.OpenCVB.matplotlibC.NumPyD.Scrapy
28.下面代碼的輸出結(jié)果是()。defadd(x):ifx>0:returnx+add(x一1)else:return0result=add(10)print(result)
A.0B.10C.55D.45
29.S=’1234567890’,以下表示’1234’的選項(xiàng)是()。
A.s[1:5]B.s[0:3]C.s[一10:-5]D.s[0:4]
30.定義學(xué)生選修課程的關(guān)系模式如下:SC(S#,Sn,C#,Cn,G,Cr)(其屬性分別為學(xué)號(hào)、姓名、課程號(hào)、課程名、成績(jī)、學(xué)分)該關(guān)系可進(jìn)一步規(guī)范化為()。
A.S(S#,Sn,C#,Cn,Cr),SC(S#,C#,G)
B.S(S#,Sn),C(C#,Cn,Cr),SC(S#,C#,G)
C.C(C#,Cn,Cr),SC(S#,Sn,C#,G)
D.S(S#,Sn),C(C#,Cn),SC(S#,C#,Cr,G)
二、判斷題(10題)31.在Python中可以使用id作為變量名,盡管不建議這樣做。A.是B.否
32.形參可以看做是函數(shù)內(nèi)部的局部變量,函數(shù)運(yùn)行結(jié)束之后形參就不可訪問了。
A.是B.否
33.3+4j不是合法的Python表達(dá)式。
A.是B.否
34.對(duì)于帶有else子句的循環(huán)語(yǔ)句,如果是因?yàn)檠h(huán)條件表達(dá)式不成立而自然結(jié)束循環(huán),則執(zhí)行else子句中的代碼。
A.是B.否
35.Python使用縮進(jìn)來(lái)體現(xiàn)代碼之間的邏輯關(guān)系。
A.是B.否
36.在Python中0xad是合法的十六進(jìn)制數(shù)字表示形式。
A.是B.否
37.在函數(shù)內(nèi)部直接修改形參的值并不影響外部實(shí)參的值。
A.是B.否
38.定義函數(shù)時(shí),即使該函數(shù)不需要接收任何參數(shù),也必須保留一對(duì)空的圓括號(hào)來(lái)表示這是一個(gè)函數(shù)。
A.是B.否
39.無(wú)法刪除集合中指定位置的元素,只能刪除特定值的元素。
A.是B.否
40.文件對(duì)象是可以迭代的。
A.是B.否
三、填空題(10題)41.執(zhí)行語(yǔ)句x,y,z=map(str,range(3))之后,變量y的值為___________。
42.表達(dá)式'helloworld,helloweveryone'.replace('hello','hi')的值為________________________。
43.表達(dá)式'Helloworld!'[-4]的值為________________。
44.表達(dá)式chr(ord('b')^32)的值為_________。
45.__________命令既可以刪除列表中的一個(gè)元素,也可以刪除整個(gè)列表或其他任意類型的Python對(duì)象。
46.使用上下文管理關(guān)鍵字______________可以自動(dòng)管理文件對(duì)象,不論何種原因結(jié)束該關(guān)鍵字中的語(yǔ)句塊,都能保證文件被正確關(guān)閉。
47.表達(dá)式type(3+4j)in(int,float,complex)的值為____________。
48.表達(dá)式''.join(re.split('[sd]','asdssfff'))的值為_______________。
49.表達(dá)式'ac'in'abce'的值為_____________。
50.已知列表x中包含超過5個(gè)以上的元素,那么表達(dá)式x==x[:5]+x[5:]的值為________。
四、操作題(3題)51.考生文件夾下存在一個(gè)文件PY301.py,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請(qǐng)按照源文件內(nèi)部說明修改代碼,實(shí)現(xiàn)以下功能:
設(shè)計(jì)一個(gè)猜字母的程序,程序隨機(jī)給出26個(gè)小寫字母中的一個(gè),答題者輸入猜測(cè)的字母,若輸入的不是26個(gè)小寫字母之一,讓用戶重新輸入;若字母在答案之前或之后,程序給出相應(yīng)正確提示;若答錯(cuò)5次,則答題失敗并退出游戲;若回答正確,程序輸出回答次數(shù)并退出游戲。
試題程序:
#以下代碼為提示框架
#請(qǐng)?jiān)凇幨褂靡恍谢蚨嘈写a替換
#請(qǐng)?jiān)赺_____處使用一行代碼替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準(zhǔn)
import_________
letter_list=[’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’,’k’,’l’,’m’,’n’,
'o','p','q','r','s','t','u','v','w','x','y','z']
etter=letter_list[random.______(0,25)]
count=0
whileTrue:…
52.考生文件夾下存在一個(gè)文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請(qǐng)?jiān)谠撐募芯帉懘a,以實(shí)現(xiàn)如下功能。使用Python的異常處理結(jié)構(gòu)編寫對(duì)數(shù)計(jì)算,要求底數(shù)大于0且不等于1,真數(shù)大于0,且輸入的必須為實(shí)數(shù),否則拋出對(duì)應(yīng)的異常。試題程序:#以下代碼為提示框架#請(qǐng)?jiān)?..處使用一行或多行代碼替換#請(qǐng)?jiān)赺____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)try:a=eval(input(‘請(qǐng)輸入底數(shù):’))b=eval(input(‘請(qǐng)輸入真數(shù):’))c=_____exceptValueError:…exceptZeroDivisionError:print(‘底數(shù)不能為1’)exceptNameError:Prints(‘輸入必須為實(shí)數(shù)’)else:print(C)
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.D棧是一種先進(jìn)后出的線性表,隊(duì)列是一種先進(jìn)先出的線性表,棧與隊(duì)列都是線性結(jié)構(gòu)。本題選擇D選項(xiàng)。
2.Arandom.uniform(a,b):生成一個(gè)區(qū)間為[a,b)的隨機(jī)小數(shù)。本題選擇A選項(xiàng)。
3.D在Python語(yǔ)言中writelines()方法是將一個(gè)元素為字符串的列表整體寫入文件;write()方法是向文件寫入一個(gè)字符串或字節(jié)流,每次寫入后,將會(huì)記錄一個(gè)寫入指針。二維列表對(duì)象輸出為CSV格式文件采用遍歷循環(huán)和字符串的join()方法相結(jié)合,方法如下:\n#Is代表二維列表,此處省略\nf=open(”cpi.csv”,”w”)\nforrowinls\nf.write(”,”.join(row)+”\n”)\nf.close()\n本題選擇D選項(xiàng)。
4.APython能處理的二進(jìn)制文件包含圖形圖像文件、音頻文件、視頻文件、可執(zhí)行文件、各種數(shù)據(jù)庫(kù)文件、各類Office文件等。
5.C字符應(yīng)視為長(zhǎng)度為1的字符串;字符串中的字符不可以進(jìn)行數(shù)學(xué)運(yùn)算,如果是數(shù)字字符串需要將其轉(zhuǎn)換為數(shù)值類型方可計(jì)算;字符串可進(jìn)行切片,但不能賦值。本題選擇C選項(xiàng)。
6.Cfor循環(huán)將字符串PythonNCRE的字符依次賦給變量s,當(dāng)s==”\nN”時(shí),跳出for循環(huán),故輸出為Python。本題選擇C選項(xiàng)。
7.A程序中,chr(64)輸出的是字符@,之后用“+”連接字符串,最后輸出I@you。本題選擇A選項(xiàng)。
8.B“+”號(hào)的運(yùn)算包括字符串連接、算術(shù)加法和單目運(yùn)算。
9.B外層for循環(huán)是將a[0]=[1,2,3],a[1]=[4,5,6],a[2]=[7,8,9]依次賦給變量c;內(nèi)層for循環(huán)將變量j從0遞增到2,即累加c[1]+c[2]+c[3]的值。所以內(nèi)層循環(huán)加外層循環(huán)是計(jì)算1+2+3+4+5+6+7+8+9的值,即s=45。本題選擇B選項(xiàng)。
10.A根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量指在函數(shù)內(nèi)部定義的變量,僅在函數(shù)內(nèi)部有效,且作用域也在函數(shù)內(nèi)部,當(dāng)函數(shù)退出時(shí)變量將不再存在。全局變量一般指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效。全部變量在函數(shù)內(nèi)部使用時(shí),需要提前使用保留字global聲明,語(yǔ)法形式:global<全局變量>。使用global對(duì)全局變量聲明時(shí),該變量要與外部全局變量同名。
11.B函數(shù)定義時(shí)的語(yǔ)法如下。def<函數(shù)名>(<非可選參數(shù)列表>,<可選參數(shù)>=<默認(rèn)值>):\t<函數(shù)體>\treturn<返回值列表>可選參數(shù)一般放置在非可選參數(shù)的后面。本題選擇B選項(xiàng)。
12.BPython總共有35個(gè)保留字,分別是:and,as,assett,async,await,break,class,eontinue,def,del,elif,else,except,F(xiàn)alse,fihally,for,from,global,if,impor.t,in,is,lambda,None,nonlocal,not,or,pass,raise,return,True,try,whiIe,with,yield。
13.B在Python中對(duì)字母大小寫是敏感的,’N’和’n’是不同的字符。本題中,有兩層for循環(huán),即每個(gè)字符要輸出兩次,直到i=’n’時(shí),跳出循環(huán),執(zhí)行輸出語(yǔ)句。故答案為B項(xiàng)。
14.Bappend()可以向列表元素的結(jié)尾增加元素。本題選擇B選項(xiàng)。
15.D這段代碼是一個(gè)遞歸函數(shù),作用是把result列表中所有與1中一致的元素刪除,所以最后的結(jié)果是一個(gè)空的列表,即[]。
16.A列表操作函數(shù)如下(假設(shè)列表名為ls)。len(ls):返回列表ls的元素個(gè)數(shù)(長(zhǎng)度)。min(ls):返回列表ls的最小元素。max(ls):返回列表ls的最大元素。llst(x):將x轉(zhuǎn)變?yōu)榱斜眍愋?。使用min(ls)和max(ls)的前提是列表中各元素類型可以進(jìn)行比較。如果列表元素不能比較,使用這兩個(gè)函數(shù)將會(huì)報(bào)錯(cuò)。本題選擇A選項(xiàng)。
17.C字符應(yīng)視為長(zhǎng)度為1的字符串;字符串中的字符不可以進(jìn)行數(shù)學(xué)運(yùn)算,如果是數(shù)字字符串需要將其轉(zhuǎn)換為數(shù)值類型方可計(jì)算;字符串可進(jìn)行切片,但不能賦值。
18.D字典中可以嵌套字典;單分支結(jié)構(gòu)的格式為if;Python中整數(shù)的默認(rèn)書寫格式是十進(jìn)制。本題選擇D選項(xiàng)。
19.C保留字,也稱關(guān)鍵字,是編程語(yǔ)言內(nèi)部定義并保留使用的標(biāo)識(shí)符。Python3.x中有35個(gè)保留字,分別為and、as、assert、async、await、break、class、continue、def、del、elif、else、except、False、finally、for、from、global、if、import、in、ls、lambda、None、nonlocal、not、or、pass、ralse、return、True、try、while、with、yield。本題選擇C選項(xiàng)。
20.C封裝是指從外面看只能看到對(duì)象的外部特性,對(duì)象的內(nèi)部對(duì)外是不可見的,即將數(shù)據(jù)和操作置于對(duì)象的統(tǒng)一體中。本題選擇C選項(xiàng)。
21.D本題考查的是字符串輸出格式化知識(shí)點(diǎn),其中”{:*13}'表示輸出的字符串長(zhǎng)度為13,居中對(duì)齊,空白處用“填充。最后輸出的是***\n*L0VES****,本題選擇D選項(xiàng)。
22.BPython中合法的標(biāo)識(shí)符可以采用大寫字母、小寫字母、數(shù)字、下劃線及漢字等字符及其組合命名,但首字母不能為數(shù)字。本題選擇B選項(xiàng)。
23.B屬于Python數(shù)據(jù)分析及可視化的第三方庫(kù)的有seabom、NumPy、scipy、pandas、matplotlib、TVTK、mayavi(也稱mayavi2)等。random庫(kù)是Python用于產(chǎn)生各種分布的偽隨機(jī)數(shù)序列的庫(kù)。本題選擇B選項(xiàng)。
24.Cpow(3,2)的結(jié)果為9,pow(2,3)的結(jié)果為8,定義的函數(shù)fun()的作用為交換輸入的a和b的值,因此結(jié)果為89。
25.DPython控制結(jié)構(gòu)包括順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)及分支結(jié)構(gòu)。本題選擇D選項(xiàng)。
26.CPylnstaller工具沒有-L參數(shù);-D是默認(rèn)值,生成dlst目錄;-F是指在dlst文件夾中只生成獨(dú)立的打包文件;-i是指定打包程序使用的圖標(biāo)文件。本題選擇C選項(xiàng)。
27.CA選項(xiàng)是Python計(jì)算機(jī)視覺方面的庫(kù),B選項(xiàng)是Python數(shù)據(jù)可視化方面的庫(kù),D選項(xiàng)是Python網(wǎng)絡(luò)爬蟲領(lǐng)域的庫(kù)。本題選擇C選項(xiàng)。
28.C該函數(shù)是一個(gè)遞歸函數(shù),用來(lái)計(jì)算1到10之間的所有數(shù)的和,使用函數(shù)時(shí)必須調(diào)用函數(shù),即函數(shù)名(<參數(shù)>),也可以將函數(shù)對(duì)象實(shí)例化。結(jié)果為55,選C項(xiàng)。
29.D對(duì)字符串中某個(gè)子串或區(qū)間的檢索稱為切片。切片的使用方式如下:\n<字符串或字符串變量>[N:M]\n切片獲取字符串從N到M(不包含M)的子字符串,其中N和M為字符串的索引序號(hào),可以混合使用正向遞增序號(hào)和反向遞減序號(hào)。切片要求N和M都在字符串的索引區(qū)間,如果N大于等于M,則返回空字符串。如果N缺失,則默認(rèn)將N設(shè)為0;如果M缺失,則默認(rèn)表示到字符串結(jié)尾。\n題干中s[1:5]=’2345’,s[0:3]=’123’,s[一10:一5]=’12345’,s[0:4]=’1234’。
30.B關(guān)系SC的主鍵為復(fù)合鍵(學(xué)號(hào),課程號(hào)),但明顯存在課程號(hào)→課程名,課程號(hào)→學(xué)分等,存在非主屬性對(duì)主屬性的部分依賴。對(duì)關(guān)系SC進(jìn)行如下的分解,就可以消除對(duì)非主屬性的部分依賴,滿足第二范式:S(S#,Sn),C(C#,Cn,Cr),SC(S#,C#,G)。本題選擇B選項(xiàng)。
31.Y
32.Y
33.N
34.Y
35.Y
36.Y
37.Y
38.Y
39.Y
40.Y
41.'1'
42.'hiworld,hiweveryone'
43.'r'
44.'B'
45.del
46.with
47.True
48.'afff'
49.False
50.True
51.importrandom\r\nletter_list=[’a’,’b’,’c’,’d’,’e’,’f’,’g’,\r\n‘h’,’i’,’j’,’k’,‘l’,’m’,’n’,\r\n’o’,’p’,’q’,’r’,’s’,’t’,\r\n’u’,’v’,’w’,’x’,’y’,’z’]
letter=letter_list[random.randint(0,25)]
count=0\r\nwhileTrue:\r\n
letter_input=input('請(qǐng)輸入26個(gè)小寫英文字母中的任一個(gè):’)\r\n
count+=1\r\n
ifletter_inputnotinletter_list:\r\n
print('請(qǐng)重新輸入字母')\r\nelse:\r\n
ifcount>=5:\r\n
print('猜測(cè)超過5次,答題失敗')\r\n
break\r\nelse\r\n
ifletter_input==letter:\r\n
print('恭喜你答對(duì)了,總共猜了{(lán)}次',format(count))\r\n
break\r\nelifletter_input>letter\r\n
prinr('你輸入的字母排在該字母之后')\r\nelifletter_input<letter:\r\n
print('你輸入的字母排在該字母之前')\r\nelse\r\n
print('未知錯(cuò)誤')隨機(jī)抽取26個(gè)小寫字母,需要使用Python的random庫(kù)中的函數(shù)。randint(a,b)方法生成一個(gè)[a,b]之間的整數(shù),用來(lái)隨機(jī)抽取列表中的字母。根據(jù)題目要求總體分為兩個(gè)方向:①輸入的字符不是小寫字母中的任一個(gè)字符,則輸出“請(qǐng)重新輸人字母”;②若輸入的字符在列表中,則判斷輸入的次數(shù)是否大于5,大于5則輸出“猜測(cè)超過5次,答題失敗”并退出循環(huán),在輸人次數(shù)之內(nèi),對(duì)輸入的字符與隨機(jī)抽取的字符進(jìn)行比較,即大于、小于和等于,不同的比較范圍對(duì)應(yīng)不同的輸出。
52.?Importmathtry:a=eval(input('請(qǐng)輸入底數(shù):”))b=eval(input(‘請(qǐng)輸入真數(shù):’))c=math.log(b,a)exceptValueError:ifa<=0andb>0:Print(‘真數(shù)和底數(shù)都不能小于等于0’)exceptZeroDivisionError:print(’底數(shù)不能為1’)exceptNameError:print(輸入必須為實(shí)數(shù)’)else:print(c)ax=/V(a>0,a≠1),那么指數(shù)x叫作以a為底N的對(duì)數(shù),記作x\r\n=logaN其中a叫作對(duì)數(shù)的底數(shù),叫作真數(shù)。要使用對(duì)數(shù),需先導(dǎo)入math庫(kù),math.log(x[,base])返回x的自然對(duì)數(shù),x>0。使用異常處理機(jī)制時(shí),根據(jù)不同的錯(cuò)誤類型,輸出不同的信息內(nèi)容,在值錯(cuò)誤類型下,使用if判斷語(yǔ)句將有可能錯(cuò)誤的信息進(jìn)行處理。
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.下列敘述中正確的是()。
A.棧是一種先進(jìn)先出的線性表B.隊(duì)列是一種后進(jìn)先出的線性表C.棧與隊(duì)列都是非線性結(jié)構(gòu)D.以上3種說法都不對(duì)
2.以下關(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ù)
3.以下關(guān)于Python二維數(shù)據(jù)的描述中,錯(cuò)誤的是()。
A.CSV文件的每一行是一維數(shù)據(jù),可以用列表、元組表示
B.從CSV文件獲得數(shù)據(jù)內(nèi)容后,可以用replace()來(lái)去掉每行最后的換行符
C.若一個(gè)列表變量里的元素都是字符串類型,則可以用join()合成字符串
D.列表中保存的二維數(shù)據(jù),可以通過循環(huán)用writelines()寫入CSV文件
4.以下關(guān)于Python處理二進(jìn)制文件的描述中,錯(cuò)誤的是()。
A.Python不可以處理PDF文件
B.Python能處理Excel文件
C.Python能處理音頻文件
D.Python能處理圖形圖像文件
5.以下關(guān)于字符串的描述正確的是()。
A.字符應(yīng)視為長(zhǎng)度為1或2的字符串
B.字符串中的字符可進(jìn)行數(shù)學(xué)運(yùn)算,但進(jìn)行數(shù)學(xué)運(yùn)算的字符必須為數(shù)字
C.在三引號(hào)字符串中可包含換行回車符等特殊的字符
D.字符串可以進(jìn)行切片賦值
6.以下代碼的輸出結(jié)果是()。forsin"PythonNCRE":ifs=="N”:breakprint(s,end="")
A.PythonCREB.NC.PythonD.PythonNCRE
7.以下程序的輸出結(jié)果是()。a,b,c=‘I’,chr(64),“you”s=a+b+cprint(s)
A.I@youB.IyouC.I4youD.Ichr(64)you
8.下面不是“+”的用法的是()。
A.字符串連接B.邏輯與C.算術(shù)加法D.單目運(yùn)算
9.以下程序的輸出結(jié)果是()。a=[[1,2,3],[4,5,6],[7,8,9]]s=0forcina: forjinrange(3): s+=c[j]print(s)
A.[1,2,3,4,5,6,7,8,9]B.45C.24D.0
10.以下關(guān)于Python全局變量和局部變量的描述中,錯(cuò)誤的是()。
A.當(dāng)函數(shù)退出時(shí),局部變量依然存在,下次函數(shù)調(diào)用可以繼續(xù)使用
B.全局變量一般指定義在函數(shù)之外的變量
C.使用global保留字聲明后,變量可以作為全局變量使用
D.局部變量在函數(shù)內(nèi)部創(chuàng)建和使用,函數(shù)退出后變量被釋放
11.以下函數(shù)定義中,錯(cuò)誤的是()。
A.defvfunc(s,a=1,*b):
B.defvfunc(a=3,b):
C.defvfunc(a,**b):
D.defvfunc(a,b=2):
12.以下不屬于Python語(yǔ)言保留字的是()。
A.passB.useC.withD.None
13.以下程序的輸出結(jié)果是()。foriin”Nation”:forkinrange(2):ifi==’n’:breakprint(i,end=””)
A.aattiiooB.NNaattiiooC.NaattiioonD.aattiioonn
14.以下程序的輸出結(jié)果是()。list=[“1”,“3”,“5”]defapp(x): list.append(x)app(“7”)print(list)
A.[‘1’,‘3’,‘5’]B.[‘1’,‘3’,‘5’,‘7’]C.[‘7’]D.“1,3,5,7”
15.下面這段代碼的輸出是()。l=’abcd’deff(x,result=['a','b,'c','d']):ifx:result.remove(x[一1])f(x[:一1])returnresultprint(f(l))
A.[’a’,,b’,’c’,’d’]B.['b',’c’,’d’]C.[’a’,'b',’c’]D.[]
16.列表listV=list(range(10)),以下能夠輸出列表listV中最小元素的是()。
A.print(min(listV))
B.print(min(listV()))
C.print(listV.max())
D.print(listV.reverse(i)[0])
17.以下關(guān)于字符串的描述正確的是()。
A.字符應(yīng)視為長(zhǎng)度為1或2的字符串
B.字符串中的字符可進(jìn)行數(shù)學(xué)運(yùn)算,但進(jìn)行數(shù)學(xué)運(yùn)算的字符必須為數(shù)字
C.在三引號(hào)字符串中可包含換行回車等特殊的字符
D.字符串可以進(jìn)行切片賦值
18.下列關(guān)于Python的描述正確的是()。
A.字典中不可以嵌套字典
B.單分支結(jié)構(gòu)的格式為if-elif
C.Python中整數(shù)的默認(rèn)書寫格式是二進(jìn)制
D.Python中采用“#”表示一行注釋的幵始
19.以下不屬于Python保留字的是()。
A.classB.passC.subD.def
20.面向?qū)ο蠓椒ㄖ校瑢?shù)據(jù)和操作置于對(duì)象的統(tǒng)一體中的實(shí)現(xiàn)方式是()。
A.結(jié)合B.抽象C.封裝D.隱藏
21.以下程序的輸出結(jié)果是()。
A.LOVESB.********LOVESC.LOVES********D.****LOVES****
22.在Python中,不能作為變量名的是()。
A.studentB.2ageC._regD.use_time
23.不屬于Python數(shù)據(jù)分析及可視化處理的第三方庫(kù)的是()。
A.seabornB.randomC.mayavi2D.NumPy
24.下面代碼的輸出結(jié)果是()。deffun(a,b):t=aa=bb=tprint(a,b)fun(pow(3,2),pow(2,3))
A.32B.23C.89D.98
25.以下不屬于Python控制結(jié)構(gòu)的是()。
A.順序結(jié)構(gòu)B.循環(huán)結(jié)構(gòu)C.分支結(jié)構(gòu)D.數(shù)據(jù)結(jié)構(gòu)
26.用Pylnstaller工具把Python源文件打包成一個(gè)獨(dú)立的可執(zhí)行文件,使用的參數(shù)是()。
A.-LB.-C.-FD.-i
27.在Python中,用于數(shù)據(jù)分析的第三方庫(kù)是()。
A.OpenCVB.matplotlibC.NumPyD.Scrapy
28.下面代碼的輸出結(jié)果是()。defadd(x):ifx>0:returnx+add(x一1)else:return0result=add(10)print(result)
A.0B.10C.55D.45
29.S=’1234567890’,以下表示’1234’的選項(xiàng)是()。
A.s[1:5]B.s[0:3]C.s[一10:-5]D.s[0:4]
30.定義學(xué)生選修課程的關(guān)系模式如下:SC(S#,Sn,C#,Cn,G,Cr)(其屬性分別為學(xué)號(hào)、姓名、課程號(hào)、課程名、成績(jī)、學(xué)分)該關(guān)系可進(jìn)一步規(guī)范化為()。
A.S(S#,Sn,C#,Cn,Cr),SC(S#,C#,G)
B.S(S#,Sn),C(C#,Cn,Cr),SC(S#,C#,G)
C.C(C#,Cn,Cr),SC(S#,Sn,C#,G)
D.S(S#,Sn),C(C#,Cn),SC(S#,C#,Cr,G)
二、判斷題(10題)31.在Python中可以使用id作為變量名,盡管不建議這樣做。A.是B.否
32.形參可以看做是函數(shù)內(nèi)部的局部變量,函數(shù)運(yùn)行結(jié)束之后形參就不可訪問了。
A.是B.否
33.3+4j不是合法的Python表達(dá)式。
A.是B.否
34.對(duì)于帶有else子句的循環(huán)語(yǔ)句,如果是因?yàn)檠h(huán)條件表達(dá)式不成立而自然結(jié)束循環(huán),則執(zhí)行else子句中的代碼。
A.是B.否
35.Python使用縮進(jìn)來(lái)體現(xiàn)代碼之間的邏輯關(guān)系。
A.是B.否
36.在Python中0xad是合法的十六進(jìn)制數(shù)字表示形式。
A.是B.否
37.在函數(shù)內(nèi)部直接修改形參的值并不影響外部實(shí)參的值。
A.是B.否
38.定義函數(shù)時(shí),即使該函數(shù)不需要接收任何參數(shù),也必須保留一對(duì)空的圓括號(hào)來(lái)表示這是一個(gè)函數(shù)。
A.是B.否
39.無(wú)法刪除集合中指定位置的元素,只能刪除特定值的元素。
A.是B.否
40.文件對(duì)象是可以迭代的。
A.是B.否
三、填空題(10題)41.執(zhí)行語(yǔ)句x,y,z=map(str,range(3))之后,變量y的值為___________。
42.表達(dá)式'helloworld,helloweveryone'.replace('hello','hi')的值為________________________。
43.表達(dá)式'Helloworld!'[-4]的值為________________。
44.表達(dá)式chr(ord('b')^32)的值為_________。
45.__________命令既可以刪除列表中的一個(gè)元素,也可以刪除整個(gè)列表或其他任意類型的Python對(duì)象。
46.使用上下文管理關(guān)鍵字______________可以自動(dòng)管理文件對(duì)象,不論何種原因結(jié)束該關(guān)鍵字中的語(yǔ)句塊,都能保證文件被正確關(guān)閉。
47.表達(dá)式type(3+4j)in(int,float,complex)的值為____________。
48.表達(dá)式''.join(re.split('[sd]','asdssfff'))的值為_______________。
49.表達(dá)式'ac'in'abce'的值為_____________。
50.已知列表x中包含超過5個(gè)以上的元素,那么表達(dá)式x==x[:5]+x[5:]的值為________。
四、操作題(3題)51.考生文件夾下存在一個(gè)文件PY301.py,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請(qǐng)按照源文件內(nèi)部說明修改代碼,實(shí)現(xiàn)以下功能:
設(shè)計(jì)一個(gè)猜字母的程序,程序隨機(jī)給出26個(gè)小寫字母中的一個(gè),答題者輸入猜測(cè)的字母,若輸入的不是26個(gè)小寫字母之一,讓用戶重新輸入;若字母在答案之前或之后,程序給出相應(yīng)正確提示;若答錯(cuò)5次,則答題失敗并退出游戲;若回答正確,程序輸出回答次數(shù)并退出游戲。
試題程序:
#以下代碼為提示框架
#請(qǐng)?jiān)凇幨褂靡恍谢蚨嘈写a替換
#請(qǐng)?jiān)赺_____處使用一行代碼替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準(zhǔn)
import_________
letter_list=[’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’,’k’,’l’,’m’,’n’,
'o','p','q','r','s','t','u','v','w','x','y','z']
etter=letter_list[random.______(0,25)]
count=0
whileTrue:…
52.考生文件夾下存在一個(gè)文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請(qǐng)?jiān)谠撐募芯帉懘a,以實(shí)現(xiàn)如下功能。使用Python的異常處理結(jié)構(gòu)編寫對(duì)數(shù)計(jì)算,要求底數(shù)大于0且不等于1,真數(shù)大于0,且輸入的必須為實(shí)數(shù),否則拋出對(duì)應(yīng)的異常。試題程序:#以下代碼為提示框架#請(qǐng)?jiān)?..處使用一行或多行代碼替換#請(qǐng)?jiān)赺____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)try:a=eval(input(‘請(qǐng)輸入底數(shù):’))b=eval(input(‘請(qǐng)輸入真數(shù):’))c=_____exceptValueError:…exceptZeroDivisionError:print(‘底數(shù)不能為1’)exceptNameError:Prints(‘輸入必須為實(shí)數(shù)’)else:print(C)
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.D棧是一種先進(jìn)后出的線性表,隊(duì)列是一種先進(jìn)先出的線性表,棧與隊(duì)列都是線性結(jié)構(gòu)。本題選擇D選項(xiàng)。
2.Arandom.uniform(a,b):生成一個(gè)區(qū)間為[a,b)的隨機(jī)小數(shù)。本題選擇A選項(xiàng)。
3.D在Python語(yǔ)言中writelines()方法是將一個(gè)元素為字符串的列表整體寫入文件;write()方法是向文件寫入一個(gè)字符串或字節(jié)流,每次寫入后,將會(huì)記錄一個(gè)寫入指針。二維列表對(duì)象輸出為CSV格式文件采用遍歷循環(huán)和字符串的join()方法相結(jié)合,方法如下:\n#Is代表二維列表,此處省略\nf=open(”cpi.csv”,”w”)\nforrowinls\nf.write(”,”.join(row)+”\n”)\nf.close()\n本題選擇D選項(xiàng)。
4.APython能處理的二進(jìn)制文件包含圖形圖像文件、音頻文件、視頻文件、可執(zhí)行文件、各種數(shù)據(jù)庫(kù)文件、各類Office文件等。
5.C字符應(yīng)視為長(zhǎng)度為1的字符串;字符串中的字符不可以進(jìn)行數(shù)學(xué)運(yùn)算,如果是數(shù)字字符串需要將其轉(zhuǎn)換為數(shù)值類型方可計(jì)算;字符串可進(jìn)行切片,但不能賦值。本題選擇C選項(xiàng)。
6.Cfor循環(huán)將字符串PythonNCRE的字符依次賦給變量s,當(dāng)s==”\nN”時(shí),跳出for循環(huán),故輸出為Python。本題選擇C選項(xiàng)。
7.A程序中,chr(64)輸出的是字符@,之后用“+”連接字符串,最后輸出I@you。本題選擇A選項(xiàng)。
8.B“+”號(hào)的運(yùn)算包括字符串連接、算術(shù)加法和單目運(yùn)算。
9.B外層for循環(huán)是將a[0]=[1,2,3],a[1]=[4,5,6],a[2]=[7,8,9]依次賦給變量c;內(nèi)層for循環(huán)將變量j從0遞增到2,即累加c[1]+c[2]+c[3]的值。所以內(nèi)層循環(huán)加外層循環(huán)是計(jì)算1+2+3+4+5+6+7+8+9的值,即s=45。本題選擇B選項(xiàng)。
10.A根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量指在函數(shù)內(nèi)部定義的變量,僅在函數(shù)內(nèi)部有效,且作用域也在函數(shù)內(nèi)部,當(dāng)函數(shù)退出時(shí)變量將不再存在。全局變量一般指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效。全部變量在函數(shù)內(nèi)部使用時(shí),需要提前使用保留字global聲明,語(yǔ)法形式:global<全局變量>。使用global對(duì)全局變量聲明時(shí),該變量要與外部全局變量同名。
11.B函數(shù)定義時(shí)的語(yǔ)法如下。def<函數(shù)名>(<非可選參數(shù)列表>,<可選參數(shù)>=<默認(rèn)值>):\t<函數(shù)體>\treturn<返回值列表>可選參數(shù)一般放置在非可選參數(shù)的后面。本題選擇B選項(xiàng)。
12.BPython總共有35個(gè)保留字,分別是:and,as,assett,async,await,break,class,eontinue,def,del,elif,else,except,F(xiàn)alse,fihally,for,from,global,if,impor.t,in,is,lambda,None,nonlocal,not,or,pass,raise,return,True,try,whiIe,with,yield。
13.B在Python中對(duì)字母大小寫是敏感的,’N’和’n’是不同的字符。本題中,有兩層for循環(huán),即每個(gè)字符要輸出兩次,直到i=’n’時(shí),跳出循環(huán),執(zhí)行輸出語(yǔ)句。故答案為B項(xiàng)。
14.Bappend()可以向列表元素的結(jié)尾增加元素。本題選擇B選項(xiàng)。
15.D這段代碼是一個(gè)遞歸函數(shù),作用是把result列表中所有與1中一致的元素刪除,所以最后的結(jié)果是一個(gè)空的列表,即[]。
16.A列表操作函數(shù)如下(假設(shè)列表名為ls)。len(ls):返回列表ls的元素個(gè)數(shù)(長(zhǎng)度)。min(ls):返回列表ls的最小元素。max(ls):返回列表ls的最大元素。llst(x):將x轉(zhuǎn)變?yōu)榱斜眍愋?。使用min(ls)和max(ls)的前提是列表中各元素類型可以進(jìn)行比較。如果列表元素不能比較,使用這兩個(gè)函數(shù)將會(huì)報(bào)錯(cuò)。本題選擇A選項(xiàng)。
17.C字符應(yīng)視為長(zhǎng)度為1的字符串;字符串中的字符不可以進(jìn)行數(shù)學(xué)運(yùn)算,如果是數(shù)字字符串需要將其轉(zhuǎn)換為數(shù)值類型方可計(jì)算;字符串可進(jìn)行切片,但不能賦值。
18.D字典中可以嵌套字典;單分支結(jié)構(gòu)的格式為if;Python中整數(shù)的默認(rèn)書寫格式是十進(jìn)制。本題選擇D選項(xiàng)。
19.C保留字,也稱關(guān)鍵字,是編程語(yǔ)言內(nèi)部定義并保留使用的標(biāo)識(shí)符。Python3.x中有35個(gè)保留字,分別為and、as、assert、async、await、break、class、continue、def、del、elif、else、except、False、finally、for、from、global、if、import、in、ls、lambda、None、nonlocal、not、or、pass、ralse、return、True、try、while、with、yield。本題選擇C選項(xiàng)。
20.C封裝是指從外面看只能看到對(duì)象的外部特性,對(duì)象的內(nèi)部對(duì)外是不可見的,即將數(shù)據(jù)和操作置于對(duì)象的統(tǒng)一體中。本題選擇C選項(xiàng)。
21.D本題考查的是字符串輸出格式化知識(shí)點(diǎn),其中”{:*13}'表示輸出的字符串長(zhǎng)度為13,居中對(duì)齊,空白處用“填充。最后輸出的是***\n*L0VES****,本題選擇D選項(xiàng)。
22.BPython中合法的標(biāo)識(shí)符可以采用大寫字母、小寫字母、數(shù)字、下劃線及漢字等字符及其組合命名,但首字母不能為數(shù)字。本題選擇B選項(xiàng)。
23.B屬于Python數(shù)據(jù)分析及可視化的第三方庫(kù)的有seabom、NumPy、scipy、pandas、matplotlib、TVTK、mayavi(也稱mayavi2)等。random庫(kù)是Python用于產(chǎn)生各種分布的偽隨機(jī)數(shù)序列的庫(kù)。本題選擇B選項(xiàng)。
24.Cpow(3,2)的結(jié)果為9,pow(2,3)的結(jié)果為8,定義的函數(shù)fun()的作用為交換輸入的a和b的值,因此結(jié)果為89。
25.DPython控制結(jié)構(gòu)包括順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)及分支結(jié)構(gòu)。本題選擇D選項(xiàng)。
26.CPylnstaller工具沒有-L參數(shù);-D是默認(rèn)值,生成dlst目錄;-F是指在dlst文件夾中只生成獨(dú)立的打包文件;-i是指定打包程序使用的圖標(biāo)文件。本題選擇C選項(xiàng)。
27.CA選項(xiàng)是Python計(jì)算機(jī)視覺方面的庫(kù),B選項(xiàng)是Python數(shù)據(jù)可視化方面的庫(kù),D選項(xiàng)是Python網(wǎng)絡(luò)爬蟲領(lǐng)域的庫(kù)。本題選擇C選項(xiàng)。
28.C該函數(shù)是一個(gè)遞歸函數(shù),用來(lái)計(jì)算1到10之間的所有數(shù)的和,使用函數(shù)時(shí)必須調(diào)用函數(shù),即函數(shù)名(<參數(shù)>),也可以將函數(shù)對(duì)象實(shí)例化。結(jié)果為55,選C項(xiàng)。
29.D對(duì)字符串中某個(gè)子串或區(qū)間的檢索稱為切片。切片的使用方式如下:\n<字符串或字符串變量>[N:M]\n切片獲取字符串從N到M(不包含M)的子字符串,其中N和M為字符串的索引序號(hào),可以混合使用正向遞增序號(hào)和反向遞減序號(hào)。切片要求N和M都在字符串的索引區(qū)間,如果N大于等于M,則返回空字符串。如果N缺失,則默認(rèn)將N設(shè)為0;如果M缺失,則默認(rèn)表示到字符串結(jié)尾。\n題干中s[1:5]=’2345’,s[0:3]=’123’,s[一10:一5]=’12345’,s[0:4]=’1234’。
30.B關(guān)系SC的主鍵為復(fù)合鍵(學(xué)號(hào),課程號(hào)),但明顯存在課程號(hào)→課程名,課程號(hào)→學(xué)分等,存在非主屬性對(duì)主屬性的部分依賴。對(duì)關(guān)系SC進(jìn)行如下的分解,就可以消除對(duì)非主屬性的部分依賴,滿足第二范式:S(S#,Sn),C(C#,Cn,Cr),SC(S#,C#,G)。本題選擇B選項(xiàng)。
31.Y
32.Y
33.N
34.Y
35.Y
36.Y
37.Y
38.Y
39.Y
40.Y
41.'1'
42.'hiworld,hiweveryone'
43.'r'
44.'B'
45.del
46.with
47.True
48.'afff'
49.False
50.True
51.importrandom\r\nletter_list=[’a’,’b’,’c’,’d’,’e’,’f’,’g’,\r\n‘h’,’i’,’j’,’k’,‘l’,’m’,’n’,\r\n’o’,’p’,’q’,’r’,’s’,’t’,\r\n’u’,’v’,’w’,’x’,’y’,’z’]
letter=letter_list[random.randint(0,25)]
count=0\r\nwhileTrue:\r\n
letter_input=input('請(qǐng)輸入26個(gè)小寫英文字母中的任一個(gè):’)\r\n
count+=1\r\n
ifletter_inputnotinletter_list:\r\n
print('請(qǐng)重新輸入字母')\r\nelse:\r\n
ifcount>=5:\r\n
print('猜測(cè)超過5次,答題失敗')\r\n
break\r\nelse\r\n
ifletter_input==letter:\r\n
print('恭喜你答對(duì)了,總共猜了{(lán)}次',format(count))\r\n
break\r\nelifletter_input>letter\r\n
prinr('你輸入的字母排在該字母之后')\r\nelifletter_input<letter:\r\n
print('你輸入的字母排在該字母之前')\r\nelse\r\n
print('未知錯(cuò)誤')隨機(jī)抽取26個(gè)小寫字母,需要使用Python的random庫(kù)中的函數(shù)。randint(a,b)方法生成一個(gè)[a,b]之間的整數(shù),用來(lái)隨機(jī)抽取列表中的字母。根據(jù)題目要求總體分為兩個(gè)方向:①輸入的字符不是小寫字母中的任一個(gè)字符,則輸出“請(qǐng)重新輸人字母”;②若輸入的字符在列表中,則判斷輸入的次數(shù)是否大于5,大于5則輸出“猜測(cè)超過5次,答題失敗”并退出循環(huán),在輸人次數(shù)之內(nèi),對(duì)輸入的字符與隨機(jī)抽取的字符進(jìn)行比較,即大于、小于和等于,不同的比較范圍對(duì)應(yīng)不同的輸出。
52.?Importmathtry:a=eval(input('請(qǐng)輸入底數(shù):”))b=eval(input(‘請(qǐng)輸入真數(shù):’))c=math.log(b,a)exceptValueError:ifa<=0andb>0:Print(‘真數(shù)和底數(shù)都不能小于等于0’)exceptZeroDivisionError:print(’底數(shù)不能為1’)exceptNameError:print(輸入必須為實(shí)數(shù)’)else:print(c)ax=/V(a>0,a≠1),那么指數(shù)x叫作以a為底N的對(duì)數(shù),記作x\r\n=logaN其中a叫作對(duì)數(shù)的底數(shù),叫作真數(shù)。要使用對(duì)數(shù),需先導(dǎo)入math庫(kù),math.log(x[,base])返回x的自然對(duì)數(shù),x>0。使用異常處理機(jī)制時(shí),根據(jù)不同的錯(cuò)誤類型,輸出不同的信息內(nèi)容,在值錯(cuò)誤類型下,使用if判斷語(yǔ)句將有可能錯(cuò)誤的信息進(jìn)行處理。
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.下列敘述中正確的是()。
A.棧是一種先進(jìn)先出的線性表B.隊(duì)列是一種后進(jìn)先出的線性表C.棧與隊(duì)列都是非線性結(jié)構(gòu)D.以上3種說法都不對(duì)
2.以下關(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ù)
3.以下關(guān)于Python二維數(shù)據(jù)的描述中,錯(cuò)誤的是()。
A.CSV文件的每一行是一維數(shù)據(jù),可以用列表、元組表示
B.從CSV文件獲得數(shù)據(jù)內(nèi)容后,可以用replace()來(lái)去掉每行最后的換行符
C.若一個(gè)列表變量里的元素都是字符串類型,則可以用join()合成字符串
D.列表中保存的二維數(shù)據(jù),可以通過循環(huán)用writelines()寫入CSV文件
4.以下關(guān)于Python處理二進(jìn)制文件的描述中,錯(cuò)誤的是()。
A.Python不可以處理PDF文件
B.Python能處理Excel文件
C.Python能處理音頻文件
D.Python能處理圖形圖像文件
5.以下關(guān)于字符串的描述正確的是()。
A.字符應(yīng)視為長(zhǎng)度為1或2的字符串
B.字符串中的字符可進(jìn)行數(shù)學(xué)運(yùn)算,但進(jìn)行數(shù)學(xué)運(yùn)算的字符必須為數(shù)字
C.在三引號(hào)字符串中可包含換行回車符等特殊的字符
D.字符串可以進(jìn)行切片賦值
6.以下代碼的輸出結(jié)果是()。forsin"PythonNCRE":ifs=="N”:breakprint(s,end="")
A.PythonCREB.NC.PythonD.PythonNCRE
7.以下程序的輸出結(jié)果是()。a,b,c=‘I’,chr(64),“you”s=a+b+cprint(s)
A.I@youB.IyouC.I4youD.Ichr(64)you
8.下面不是“+”的用法的是()。
A.字符串連接B.邏輯與C.算術(shù)加法D.單目運(yùn)算
9.以下程序的輸出結(jié)果是()。a=[[1,2,3],[4,5,6],[7,8,9]]s=0forcina: forjinrange(3): s+=c[j]print(s)
A.[1,2,3,4,5,6,7,8,9]B.45C.24D.0
10.以下關(guān)于Python全局變量和局部變量的描述中,錯(cuò)誤的是()。
A.當(dāng)函數(shù)退出時(shí),局部變量依然存在,下次函數(shù)調(diào)用可以繼續(xù)使用
B.全局變量一般指定義在函數(shù)之外的變量
C.使用global保留字聲明后,變量可以作為全局變量使用
D.局部變量在函數(shù)內(nèi)部創(chuàng)建和使用,函數(shù)退出后變量被釋放
11.以下函數(shù)定義中,錯(cuò)誤的是()。
A.defvfunc(s,a=1,*b):
B.defvfunc(a=3,b):
C.defvfunc(a,**b):
D.defvfunc(a,b=2):
12.以下不屬于Python語(yǔ)言保留字的是()。
A.passB.useC.withD.None
13.以下程序的輸出結(jié)果是()。foriin”Nation”:forkinrange(2):ifi==’n’:breakprint(i,end=””)
A.aattiiooB.NNaattiiooC.NaattiioonD.aattiioonn
14.以下程序的輸出結(jié)果是()。list=[“1”,“3”,“5”]defapp(x): list.append(x)app(“7”)print(list)
A.[‘1’,‘3’,‘5’]B.[‘1’,‘3’,‘5’,‘7’]C.[‘7’]D.“1,3,5,7”
15.下面這段代碼的輸出是()。l=’abcd’deff(x,result=['a','b,'c','d']):ifx:result.remove(x[一1])f(x[:一1])returnresultprint(f(l))
A.[’a’,,b’,’c’,’d’]B.['b',’c’,’d’]C.[’a’,'b',’c’]D.[]
16.列表listV=list(range(10)),以下能夠輸出列表listV中最小元素的是()。
A.print(min(listV))
B.print(min(listV()))
C.print(listV.max())
D.print(listV.reverse(i)[0])
17.以下關(guān)于字符串的描述正確的是()。
A.字符應(yīng)視為長(zhǎng)度為1或2的字符串
B.字符串中的字符可進(jìn)行數(shù)學(xué)運(yùn)算,但進(jìn)行數(shù)學(xué)運(yùn)算的字符必須為數(shù)字
C.在三引號(hào)字符串中可包含換行回車等特殊的字符
D.字符串可以進(jìn)行切片賦值
18.下列關(guān)于Python的描述正確的是()。
A.字典中不可以嵌套字典
B.單分支結(jié)構(gòu)的格式為if-elif
C.Python中整數(shù)的默認(rèn)書寫格式是二進(jìn)制
D.Python中采用“#”表示一行注釋的幵始
19.以下不屬于Python保留字的是()。
A.classB.passC.subD.def
20.面向?qū)ο蠓椒ㄖ?,將?shù)據(jù)和操作置于對(duì)象的統(tǒng)一體中的實(shí)現(xiàn)方式是()。
A.結(jié)合B.抽象C.封裝D.隱藏
21.以下程序的輸出結(jié)果是()。
A.LOVESB.********LOVESC.LOVES********D.****LOVES****
22.在Python中,不能作為變量名的是()。
A.studentB.2ageC._regD.use_time
23.不屬于Python數(shù)據(jù)分析及可視化處理的第三方庫(kù)的是()。
A.seabornB.randomC.mayavi2D.NumPy
24.下面代碼的輸出結(jié)果是()。deffun(a,b):t=aa=bb=tprint(a,b)fun(pow(3,2),pow(2,3))
A.32B.23C.89D.98
25.以下不屬于Python控制結(jié)構(gòu)的是()。
A.順序結(jié)構(gòu)B.循環(huán)結(jié)構(gòu)C.分支結(jié)構(gòu)D.數(shù)據(jù)結(jié)構(gòu)
26.用Pylnstaller工具把Python源文件打包成一個(gè)獨(dú)立的可執(zhí)行文件,使用的參數(shù)是()。
A.-LB.-C.-FD.-i
27.在Python中,用于數(shù)據(jù)分析的第三方庫(kù)是()。
A.OpenCVB.matplotlibC.NumPyD.Scrapy
28.下面代碼的輸出結(jié)果是()。defadd(x):ifx>0:returnx+add(x一1)else:return0result=add(10)print(result)
A.0B.10C.55D.45
29.S=’1234567890’,以下表示’1234’的選項(xiàng)是()。
A.s[1:5]B.s[0:3]C.s[一10:-5]D.s[0:4]
30.定義學(xué)生選修課程的關(guān)系模式如下:SC(S#,Sn,C#,Cn,G,Cr)(其屬性分別為學(xué)號(hào)、姓名、課程號(hào)、課程名、成績(jī)、學(xué)分)該關(guān)系可進(jìn)一步規(guī)范化為()。
A.S(S#,Sn,C#,Cn,Cr),SC(S#,C#,G)
B.S(S#,Sn),C(C#,Cn,Cr),SC(S#,C#,G)
C.C(C#,Cn,Cr),SC(S#,Sn,C#,G)
D.S(S#,Sn),C(C#,Cn),SC(S#,C#,Cr,G)
二、判斷題(10題)31.在Python中可以使用id作為變量名,盡管不建議這樣做。A.是B.否
32.形參可以看做是函數(shù)內(nèi)部的局部變量,函數(shù)運(yùn)行結(jié)束之后形參就不可訪問了。
A.是B.否
33.3+4j不是合法的Python表達(dá)式。
A.是B.否
34.對(duì)于帶有else子句的循環(huán)語(yǔ)句,如果是因?yàn)檠h(huán)條件表達(dá)式不成立而自然結(jié)束循環(huán),則執(zhí)行else子句中的代碼。
A.是B.否
35.Python使用縮進(jìn)來(lái)體現(xiàn)代碼之間的邏輯關(guān)系。
A.是B.否
36.在Python中0xad是合法的十六進(jìn)制數(shù)字表示形式。
A.是B.否
37.在函數(shù)內(nèi)部直接修改形參的值并不影響外部實(shí)參的值。
A.是B.否
38.定義函數(shù)時(shí),即使該函數(shù)不需要接收任何參數(shù),也必須保留一對(duì)空的圓括號(hào)來(lái)表示這是一個(gè)函數(shù)。
A.是B.否
39.無(wú)法刪除集合中指定位置的元素,只能刪除特定值的元素。
A.是B.否
40.文件對(duì)象是可以迭代的。
A.是B.否
三、填空題(10題)41.執(zhí)行語(yǔ)句x,y,z=map(str,range(3))之后,變量y的值為___________。
42.表達(dá)式'helloworld,helloweveryone'.replace('hello','hi')的值為________________________。
43.表達(dá)式'Helloworld!'[-4]的值為________________。
44.表達(dá)式chr(ord('b')^32)的值為_________。
45.__________命令既可以刪除列表中的一個(gè)元素,也可以刪除整個(gè)列表或其他任意類型的Python對(duì)象。
46.使用上下文管理關(guān)鍵字______________可以自動(dòng)管理文件對(duì)象,不論何種原因結(jié)束該關(guān)鍵字中的語(yǔ)句塊,都能保證文件被正確關(guān)閉。
47.表達(dá)式type(3+4j)in(int,float,complex)的值為____________。
48.表達(dá)式''.join(re.split('[sd]','asdssfff'))的值為_______________。
49.表達(dá)式'ac'in'abce'的值為_____________。
50.已知列表x中包含超過5個(gè)以上的元素,那么表達(dá)式x==x[:5]+x[5:]的值為________。
四、操作題(3題)51.考生文件夾下存在一個(gè)文件PY301.py,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請(qǐng)按照源文件內(nèi)部說明修改代碼,實(shí)現(xiàn)以下功能:
設(shè)計(jì)一個(gè)猜字母的程序,程序隨機(jī)給出26個(gè)小寫字母中的一個(gè),答題者輸入猜測(cè)的字母,若輸入的不是26個(gè)小寫字母之一,讓用戶重新輸入;若字母在答案之前或之后,程序給出相應(yīng)正確提示;若答錯(cuò)5次,則答題失敗并退出游戲;若回答正確,程序輸出回答次數(shù)并退出游戲。
試題程序:
#以下代碼為提示框架
#請(qǐng)?jiān)凇幨褂靡恍谢蚨嘈写a替換
#請(qǐng)?jiān)赺_____處使用一行代碼替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準(zhǔn)
import_________
letter_list=[’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’,’k’,’l’,’m’,’n’,
'o','p','q','r','s','t','u','v','w','x','y','z']
etter=letter_list[random.______(0,25)]
count=0
whileTrue:…
52.考生文件夾下存在一個(gè)文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請(qǐng)?jiān)谠撐募芯帉懘a,以實(shí)現(xiàn)如下功能。使用Python的異常處理結(jié)構(gòu)編寫對(duì)數(shù)計(jì)算,要求底數(shù)大于0且不等于1,真數(shù)大于0,且輸入的必須為實(shí)數(shù),否則拋出對(duì)應(yīng)的異常。試題程序:#以下代碼為提示框架#請(qǐng)?jiān)?..處使用一行或多行代碼替換#請(qǐng)?jiān)赺____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)try:a=eval(input(‘請(qǐng)輸入底數(shù):’))b=eval(input(‘請(qǐng)輸入真數(shù):’))c=_____exceptValueError:…exceptZeroDivisionError:print(‘底數(shù)不能為1’)exceptNameError:Prints(‘輸入必須為實(shí)數(shù)’)else:print(C)
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.D棧是一種先進(jìn)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄭州黃河護(hù)理職業(yè)學(xué)院《動(dòng)畫短片創(chuàng)作實(shí)踐》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙大寧波理工學(xué)院《生物藥物化學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 全程種植玉米高產(chǎn)高效栽培技術(shù)
- 餐飲行業(yè)投資指南模板
- DB2201T 72-2024 公共數(shù)據(jù)授權(quán)運(yùn)營(yíng)評(píng)估規(guī)范
- 生物學(xué)開題答辯模板
- 七夕節(jié)文化講座
- 申請(qǐng)外國(guó)人簽證邀請(qǐng)函需提供的材料
- 讀后感《小王子》
- 二零二五年度贍養(yǎng)協(xié)議及養(yǎng)老產(chǎn)業(yè)市場(chǎng)調(diào)研合同范本3篇
- 國(guó)家免疫規(guī)劃疫苗兒童免疫程序說明-培訓(xùn)課件
- 能源管理體系記錄表單
- 智慧城市建設(shè)課件
- 污水處理廠提標(biāo)升級(jí)可研
- 湖南省建設(shè)工程施工階段監(jiān)理服務(wù)費(fèi)計(jì)費(fèi)規(guī)則【實(shí)用文檔】doc
- GB/T 6913-2008鍋爐用水和冷卻水分析方法磷酸鹽的測(cè)定
- GB/T 18717.2-2002用于機(jī)械安全的人類工效學(xué)設(shè)計(jì)第2部分:人體局部進(jìn)入機(jī)械的開口尺寸確定原則
- 中國(guó)文化概論(第三版)全套課件
- 117-鋼結(jié)構(gòu)工程質(zhì)量常見問題與管控措施
- SHS5230三星指紋鎖中文說明書
- 諾和關(guān)懷俱樂部對(duì)外介紹
評(píng)論
0/150
提交評(píng)論