版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
廣東省惠州市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.下面屬于“對象”成分之一的是()。
A.封裝B.規(guī)則C.屬性D.繼承
2.以下代碼的輸出結(jié)果是()。ls=[”apple”,”red”,”orange”]deffunC(a):ls.a(chǎn)ppend(a)returnfunC(”yellow”)print(ls)
A.[]
B.[”apple”,”red”,”orange”]
C.[“yellow”]
D.[”apple”,”red”,”orange”,”yellow”]
3.以下選項(xiàng)中不是Python文件目錄操作方法的是()。
A.split()B.rename()C.getcwd()D.rmdir()
4.以下關(guān)于數(shù)據(jù)維度的描述,錯(cuò)誤的是()。
A.列表的索引值是大于0小于列表長度的整數(shù)
B.JSON格式可以表示比二維數(shù)據(jù)還復(fù)雜的高維數(shù)據(jù)
C.二維數(shù)據(jù)可以看成多條一維數(shù)據(jù)的組合形式
D.CSV文件既能保存一維數(shù)據(jù),也能保存二維數(shù)據(jù)
5.設(shè)有表示學(xué)生選課的3張表,學(xué)生S(學(xué)號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學(xué)號,課號,成績),則表SC的關(guān)鍵字(鍵或碼)為()。
A.課號,成績B.學(xué)號,成績C.學(xué)號,課號D.學(xué)號,姓名,成績
6.Is=[2,“apple”,[42,“yellow”,“misd”],1.2],表達(dá)式ls[2][-1][2]的結(jié)果是()。
A.mB.iC.sD.d
7.定義學(xué)生的關(guān)系模式如下:S(S#,Sn,Sex,Age,D#,Da(其屬性分別為學(xué)號、姓名、性別、年齡、所屬學(xué)院、院長)該關(guān)系滿足的最高范式是()。
A.1NFB.2NFC.3NFD.BCNF
8.在Python中,使用for—n…方式形成的循環(huán)不能遍歷的類型是()。
A.列表B.復(fù)數(shù)C.字符串D.字典
9.對于序列s,以下選項(xiàng)對min(s)描述正確的是()。
A.可以返回序列s中的最小元素,如果存在多個(gè)相同的最小元素,則返回一個(gè)列表類型
B.一定能夠返回序列s中的最小元素
C.可以返回序列s中的最小元素,如果存在多個(gè)相同的最小元素,則返回一個(gè)元組類型
D.可以返回序列s中的最小元素,但要求s中元素可比較
10.float('inf')<float('inf')+1執(zhí)行后的結(jié)果A.A.TrueB.False
11.以下關(guān)于程序的異常處理的描述中,錯(cuò)誤的是()。
A.在try-except-else結(jié)構(gòu)中,如果try塊的語句引發(fā)了異常則會(huì)執(zhí)行else塊中的代碼
B.異常處理結(jié)構(gòu)中的finally塊中的代碼仍然有可能出錯(cuò)從而再次引發(fā)異常
C.一般不建議在try中放太多代碼,而是應(yīng)該只放入可能會(huì)引發(fā)異常的代碼
D.在異常處理結(jié)構(gòu)中,不論是否發(fā)生異常,finally子句中的代碼總是會(huì)執(zhí)行的
12.—個(gè)工作人員可以使用多臺(tái)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)可被多個(gè)人使用,則實(shí)體工作人員與實(shí)體計(jì)算機(jī)之間的聯(lián)系是()。
A.—對一B.—對多C.多對多D.多對一
13.下列關(guān)于Python的描述正確的是()。
A.條件2<=3<=5是合法的,輸出False
B.條件2<=3<=5是不合法的
C.條件2<=3<=5是合法的,輸出True
D.條件2<=3<=5是不合法的,會(huì)拋出異常
14.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。
A.可行性分析報(bào)告B.軟件需求規(guī)格說明書C.概要設(shè)計(jì)說明書D.集成測試計(jì)劃
15.關(guān)于以下代碼的描述中,正確的是()。defrune(a,b):c=a**2+bb=areturnca=10b=2c=func(b,a)+a
A.執(zhí)行該函數(shù)后,變量c的值為112
B.該函數(shù)名稱為fun
C.執(zhí)行該函數(shù)后,變量b的值為2
D.執(zhí)行該函數(shù)后,變量b的值為10
16.以下變量名中,符合Python語言變量命名規(guī)則的是()。
A.33_keywordB.key@word33_C.nonlocalD._33keyword
17.如果文件a.txt在目錄C:\\A下,執(zhí)行以下程序會(huì)發(fā)生什么操作()。importosos.rmdir(r‘C:\\A’)
A.刪除文件夾A,保留文件a.txt
B.刪除文件夾A和文件a.txt
C.刪除文件a.txt,保留文件夾A
D.OSError
18.以下程序的輸出結(jié)果是()。letter=[‘A’,‘B’,‘C’,‘D’,‘D’,‘D’]foriinletter: ifi==‘D’: letter.remove(i)print(letter)
A.[‘A’,‘B’,‘C’]
B.[‘A’,‘B’,‘C’,‘D’,‘D’]
C.[‘A’,‘B’,‘C’,‘D’,‘D’,‘D’]
D.[‘A’,‘B’,‘C’,‘D’]
19.以下代碼的輸出結(jié)果是()。Is=[[1,2,3],’python’,[[4,5,’ABC’],6],[7,8]]print(ls[2][l])
A.'ABC'B.pC.4D.6
20.執(zhí)行以下代碼的結(jié)果是?A.20B.24C.30D.33
21.下面這條語句的輸出結(jié)果是()。f=(lambdaa="hello",b="python",c="world":a+b.split(“o")[1]+C)print(f("hi"))
A.hellopythonworldB.hipythworldC.hellonworldD.hinworld
22.下列關(guān)于Python列表的描述錯(cuò)誤的是()。
A.列表元素可以被修改B.列表元素沒有長度限制C.列表元素的個(gè)數(shù)不限D(zhuǎn).列表元素的數(shù)據(jù)類型必須一致
23.以下代碼的輸出結(jié)果是()。defHello(famlyName,age):ifage>50:print(”您好!”+famlyName+”奶奶”)elifage>40:print(”您好!”+famlyName+”阿姨”)elifage>30:print(”您好!”+famlyName+”姐姐”)else:print(”您好!”+”小”+famlyName)Hello(age=43,famlyName=”趙”)
A.您好!趙奶奶B.您好!趙阿姨C.您好!趙姐姐D.函數(shù)調(diào)用出錯(cuò)
24.執(zhí)行以下代碼的結(jié)果是()A.2B.22C.23D.24
25.以下描述中,正確的是()。
A.如果s是一個(gè)序列,s=[1,”kate”,True],s[3]返回True
B.如果x不是s的元素,xnotins返回True
C.如果x是s的元素,xins返回1
D.如果s是一個(gè)序列,s=[1,”kate”,F(xiàn)alse],s[一1]返回True
26.下列關(guān)于Python運(yùn)算符的使用描述正確的是()。
A.a=!b,比較a與b是否不相等
B.a=+b,等同于a=a+b
C.a==b,比較a與b是否相等
D.a//=b,等同于a=a/b
27.表格類型數(shù)據(jù)的組織維度最可能是()。
A.多維數(shù)據(jù)B.一維數(shù)據(jù)C.二維數(shù)據(jù)D.高維數(shù)據(jù)
28.以下關(guān)于Python全局變量和局部變量的描述中,錯(cuò)誤的是()。
A.局部變量在使用過后立即被釋放
B.全局變量一般沒有縮進(jìn)
C.全局變量和局部變量的命名不能相同
D.—個(gè)程序中的變量包含兩類:全局變量和局部變量
29.文件family.txt在當(dāng)前代碼所在目錄內(nèi),其內(nèi)容是一段文本:Wearefamily,以下代碼的輸出結(jié)果是()。txt=open(”family.txt”,”r”)print(txt)txt.close()
A.txtB.family.txtC.非其他答案D.Wearefamily
30.以下關(guān)于程序的異常處理的描述中,錯(cuò)誤的是()。
A.except語句后面可以指定異常類型
B.異常和錯(cuò)誤是兩個(gè)相同的意思
C.帶有else子句的異常處理結(jié)構(gòu),當(dāng)try中的語句塊正常執(zhí)行結(jié)束且沒有異常時(shí)執(zhí)行else子句中的代碼
D.異常處理機(jī)制雖然可以解決程序的一些錯(cuò)誤,但不建議過度依賴
二、判斷題(10題)31.標(biāo)準(zhǔn)庫os的rename()方法可以實(shí)現(xiàn)文件移動(dòng)操作。
A.是B.否
32.相同內(nèi)容的字符串使用不同的編碼格式進(jìn)行編碼得到的結(jié)果并不完全相同。
A.是B.否
33.元組可以作為字典的“鍵”。
A.是B.否
34.對于帶有else子句的循環(huán)語句,如果是因?yàn)檠h(huán)條件表達(dá)式不成立而自然結(jié)束循環(huán),則執(zhí)行else子句中的代碼。
A.是B.否
35.在定義函數(shù)時(shí),某個(gè)參數(shù)名字前面帶有兩個(gè)*符號表示可變長度參數(shù),可以接收任意多個(gè)關(guān)鍵參數(shù)并將其存放于一個(gè)字典之中。A.是B.否
36.帶有else子句的循環(huán)如果因?yàn)閳?zhí)行了break語句而退出的話,則會(huì)執(zhí)行else子句中的代碼。
A.是B.否
37.如果定義類時(shí)沒有編寫析構(gòu)函數(shù),Python將提供一個(gè)默認(rèn)的析構(gòu)函數(shù)進(jìn)行必要的資源清理工作。
A.是B.否
38.繼承自threading.Thread類的派生類中不能有普通的成員方法。A.是B.否
39.在Python中定義函數(shù)時(shí)不需要聲明函數(shù)的返回值類型。
A.是B.否
40.Python集合中的元素不允許重復(fù)。
A.是B.否
三、填空題(10題)41.表達(dá)式sum(range(1,10,2))的值為____________。
42.表達(dá)式list(filter(lambdax:x>2,[0,1,2,3,0,0]))的值為_________。
43.Python擴(kuò)展庫_____________支持Excel2007或更高版本文件的讀寫操作。
44.表達(dá)式list(filter(lambdax:len(x)>3,['a','b','abcd']))的值為___________。
45.表達(dá)式'abcab'.replace('a','yy')的值為___________。
46.Python擴(kuò)展庫______________和______________提供了圖像處理功能。
47.表達(dá)式isinstance('Helloworld',str)的值為__________。
48.表達(dá)式list(map(list,zip(*[[1,2,3],[4,5,6]])))的值為________________。
49.表達(dá)式'abc10'.isalnum()的值為______________。
50.表達(dá)式[str(i)foriinrange(3)]的值為____________。
四、操作題(3題)51.考生文件夾下存在一個(gè)文件“PY103.py”,請寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。用鍵盤輸入十進(jìn)制整數(shù),按要求將這個(gè)整數(shù)轉(zhuǎn)換為二進(jìn)制、八進(jìn)制及十六進(jìn)制(大寫)并輸出到屏幕。例如:輸入數(shù)字:425對應(yīng)的二進(jìn)制數(shù):110101001對應(yīng)的八進(jìn)制數(shù):651對應(yīng)的十六進(jìn)制數(shù):1A9試題程序:#請?jiān)赺____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼num=eval(input("輸入數(shù)字:"))print("對應(yīng)的二進(jìn)制數(shù):{_____(1)_____}\n八進(jìn)制數(shù):{_____(2)_____}\n十六進(jìn)制數(shù):{_____(3)_____}".format(num))試題答案:num=eval(input("輸入數(shù)字:”))Print(”對應(yīng)的二進(jìn)制數(shù):{0:b}\n八進(jìn)制數(shù):{0:o}\n十六進(jìn)制數(shù):{0:x}”.format(num))
52.考生文件夾下存在2個(gè)Python源文件和3個(gè)文本文件,分別對應(yīng)兩個(gè)問題,請按照文件內(nèi)說明修改代碼,實(shí)現(xiàn)以下功能?!墩撜Z》是儒家學(xué)派的經(jīng)典著作之一,主要記錄了孔子及其弟子言行。這里給出了一個(gè)網(wǎng)絡(luò)版本的《論語》,文件名稱為“論語.txt”,其內(nèi)容采用逐句“原文”與逐句“注釋”相結(jié)合的形式組織,通過【原文】標(biāo)記《論語》原文內(nèi)容,通過【注釋】標(biāo)記《論語》注釋內(nèi)容,具體格式請參考“論語.txt”文件。問題1:在“PY301-1.py”文件中修改代碼,提取“論語.txt”文件中的原文內(nèi)容,輸出保存到考生文件夾下,文件名為“論語-原文.txt”。具體要求:僅保留“論語.txt”文件中所有【原文】標(biāo)簽下面的內(nèi)容,不保留標(biāo)簽,并去掉每行行首空格及行尾空格,無空行。原文圓括號及內(nèi)部數(shù)字是源文件中注釋內(nèi)容的標(biāo)記,請保留。文件輸出格式請參考“論語-原文-輸出示例.txt”文件。注意:輸出示例僅幫助考生了解輸出格式,不作它用。試題程序:#以下代碼為提示框架#請?jiān)诔绦虻?..處使用一行或多行代碼替換#請?jiān)诔绦虻腳___處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fi=open(“論語.txt",)fo=open(“論語-原文.txt",)…Forlineinfi:…fo.write(line.lstrip())問題2:在“PY301-2.py”文件中修改代碼,對“論語-原文.txt”或“論語.txt”文件進(jìn)一步提純,去掉每行文字中所有圓括號及內(nèi)部數(shù)字,保存為“論語-提純原文.txt”文件。文件輸出格式請參考“論語-提純原文-輸出示例.txt”文件。注意:示例輸出文件僅幫助考生了解輸出格式,不做它用。試題程序:#以下代碼為提示框架#請?jiān)诔绦虻?..處使用一行或多行代碼替換#請?jiān)诔绦虻奶幨褂靡恍写a替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fi=open("論語-原文.txt",_____)fo=open("論語-提純原文.txt",_____)Forlineinfi:line=line.replace()
53.考生文件夾下存在一個(gè)文件PY301.py,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請按照源文件內(nèi)部說明修改代碼,實(shí)現(xiàn)以下功能:
設(shè)計(jì)一個(gè)猜字母的程序,程序隨機(jī)給出26個(gè)小寫字母中的一個(gè),答題者輸入猜測的字母,若輸入的不是26個(gè)小寫字母之一,讓用戶重新輸入;若字母在答案之前或之后,程序給出相應(yīng)正確提示;若答錯(cuò)5次,則答題失敗并退出游戲;若回答正確,程序輸出回答次數(shù)并退出游戲。
試題程序:
#以下代碼為提示框架
#請?jiān)凇幨褂靡恍谢蚨嘈写a替換
#請?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:…
參考答案
1.C面向?qū)ο蠓椒ㄖ械膶ο笥蓛刹糠纸M成:①數(shù)據(jù),也稱為屬性,即對象所包含的信息,表示對象的狀態(tài);②方法,也稱為操作,即對象所能執(zhí)行的功能、所能具有的行為。本題選擇C選項(xiàng)。
2.D列表ls中有三個(gè)元素,函數(shù)funC(”yellow”),將”yellow”傳遞給形參a,用append()方法將a中內(nèi)容添加到列表ls中,最后返回,故最終的ls=[”apple”,”red”,”orange”,”yellow”],print(ls),即將列表ls中的內(nèi)容輸出。
3.Arename():給文件重命名;getcwd():得到當(dāng)前工作目錄,即當(dāng)前Python腳本工作的目錄路徑;rmdir():刪除目錄。split():按給出的分隔符分隔字符串,返回的是列表類型。
4.A列表的索引值也可以是負(fù)整數(shù),如1[-1]就代表列表1的最后一個(gè)元素。本題選擇A選項(xiàng)。
5.C學(xué)號是學(xué)生表S的主鍵,課號是課程表C的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個(gè)表能夠直接聯(lián)系且能唯一定義的學(xué)號和課號,本題選擇C選項(xiàng)。
6.C列表中正向遞增索引從0開始,反向遞減索引從-1開始,ls[2][-1][2]指的是列表中索引為2的元素下的索引為-1元素下的索引為2的元素,輸出結(jié)果是s。本題選擇C選項(xiàng)。
7.B關(guān)系數(shù)據(jù)庫中的關(guān)系是要滿足一定要求的,滿足不同程度要求的為不同的范式。滿足最低要求的叫第一范式,簡稱1NF。在滿足第一范式的基礎(chǔ)上,進(jìn)一步滿足更多要求的則是第二范式。在滿足第二范式的基礎(chǔ)上,還可以再滿足第三范式,以此類推。對于關(guān)系模式,若其中的每個(gè)屬性都已不能再分為簡單項(xiàng),則它屬于第一范式。若某個(gè)關(guān)系R為第一范式,并且R中每一個(gè)非主屬性完全依賴于R的某個(gè)候選鍵,則稱其為第二范式。第二范式消除了非主屬性對主鍵的部分依賴。如果關(guān)系R是第二范式,并且每個(gè)非主屬性都不傳遞依賴于R的候選鍵,則稱R為第三范式。(傳遞依賴:在關(guān)系模式中,如果Y→X,X→A,且X不決定Y、A不屬于X,那么Y→A是傳遞依賴。)本題中,關(guān)系S滿足第一范式和第二范式,但是S#→D#,D#→Da,存在傳遞依賴,因此不滿足第三范式。該關(guān)系滿足的最高范式是2NF。本題選擇B選項(xiàng)。
8.B在Python中,使用for…in…方式形成的循環(huán)能遍歷的類型有字符串、文件、range()函數(shù)或組合數(shù)據(jù)類型,不能遍歷復(fù)數(shù)。本題選擇B選項(xiàng)。
9.Dmin()函數(shù)返回給定參數(shù)的最小值,但是要求給定參數(shù)是可以比較的。若給定的參數(shù)不能比較,則會(huì)報(bào)錯(cuò);若給定參數(shù)存在多個(gè)最小元素,min()只會(huì)返回序列中最小的一個(gè)元素。故答案為D項(xiàng)。
10.B
11.A只有try語句塊中的語句正常執(zhí)行,不發(fā)生中斷或異常,else子句中的代碼才會(huì)執(zhí)行。本題選擇A選項(xiàng)。
12.C因?yàn)橐粋€(gè)人可以操作多個(gè)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)又可以被多個(gè)人使用,所以兩個(gè)實(shí)體之間是多對多的關(guān)系。本題選擇C選項(xiàng)。
13.
14.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)。
15.C程序中,將實(shí)參b的值傳給形參a,將實(shí)參a的值傳給形參b,則在函數(shù)體中c=2**2+10=14,函數(shù)返回14,則實(shí)參c=14+10=24;形參a和b在函數(shù)結(jié)束后會(huì)自動(dòng)釋放,并沒有影響到實(shí)參a和b的值,故實(shí)參a仍然是10,實(shí)參b仍然是2。
16.DPython采用大寫字母、小寫字母、數(shù)字、下劃線和漢字等字符及其組合進(jìn)行命名,但名字的首字符不能是數(shù)字,標(biāo)識符中間不能出現(xiàn)空格,長度沒有限制。變量名不能與保留字相同。
17.D使用rmdir()刪除目錄之前要先清除其中所有的文件,否則會(huì)產(chǎn)生OSError錯(cuò)誤。本題選擇D選項(xiàng)。
18.D遍歷列表letter,當(dāng)i==‘D’時(shí),執(zhí)行l(wèi)etter.remove(i),此時(shí)列表letter=[‘A’,‘B’,‘C’,‘D’,‘D’];再次遍歷列表letter,當(dāng)i==‘D’時(shí),執(zhí)行l(wèi)etter.remove(i),此時(shí)列表letter=[‘A’,‘B’,‘C’,‘D’]。因?yàn)榱斜碇械脑仉S著“D”元素的刪除而減少,當(dāng)刪除第一個(gè)“D”元素之后,列表元素的個(gè)數(shù)變?yōu)?,for循環(huán)又是控制循環(huán)次數(shù)的,因此只遍歷5次;當(dāng)?shù)诙€(gè)“D”元素刪除時(shí),循環(huán)結(jié)束。本題選擇D選項(xiàng)。
19.D列表索引從0開始,所以ls[2]\n[1]指的是列表中索引為2的元素[[4,5,’ABC’],6]中索引為1的元素6,所以輸出結(jié)果是6。本題選擇D選項(xiàng)。
20.D
21.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)。
22.D列表沒有長度限制,元素類型可以不同,不需要預(yù)定義長度。列表可以進(jìn)行元素的增加、刪除、替換、查找等操作。
23.B將實(shí)參age=43,famlyName=”趙”分別賦給形參age和famlyName,之后進(jìn)入多分支結(jié)構(gòu)進(jìn)行判斷,因?yàn)?0<age=43<50,執(zhí)行第一個(gè)elif后面的語句,用”+”進(jìn)行字符串連接,故輸出“您好!趙阿姨”。本題選擇B選項(xiàng)。
24.D
25.B序列的索引序號從0開始編號,所以s=[1,”kate”,True]時(shí),s[3]=0,返回False,A項(xiàng)錯(cuò)誤。xins(如果x是s的元素,返回True;否則返回False);xnotins(如果x不是s的元素,返回True;否則返回False),B項(xiàng)正確、C項(xiàng)錯(cuò)誤。序列類型使用的索引體系可以是正向遞增序號(從0開始遞增),也可以是反向遞減序號(從一1開始遞減),所以s[一1]=False,返回的是False,D項(xiàng)錯(cuò)誤。
26.C比較a與b是否不相等的運(yùn)算符是!=;a+=b等同于a=a+b;a//=b等同于a=a//b。
27.C一維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織;二維數(shù)據(jù),也稱表格數(shù)據(jù),由關(guān)聯(lián)關(guān)系數(shù)據(jù)構(gòu)成,采用二維表格方式組織;高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構(gòu)成,采用對象方式組織。故答案為C項(xiàng)。
28.C根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量指在函數(shù)內(nèi)部定義的變量,僅在函數(shù)內(nèi)部有效,且作用域也在函數(shù)內(nèi)部,當(dāng)函數(shù)退出時(shí)變量將不再存在。全局變量一般指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效,一般沒有縮進(jìn)。全局變量和局部變量的命名可以相同。本題選擇C選項(xiàng)。
29.Copen()函數(shù)打開一個(gè)文件,并返回可以操作這個(gè)文件的變量txt,并且open()函數(shù)有兩個(gè)參數(shù):文件名和打開模式。本題只是打開了文件,并沒有對文件進(jìn)行操作,因此不會(huì)輸出文件的內(nèi)容。print(txt)語句輸出的是變量txt代表的文件的相關(guān)信息:<_io.TextIOWrappername=’family.txt’mode=’r’encoding=’cp936’>。若想要輸出文件的內(nèi)容,需要把文件的內(nèi)容讀人,如txt1=_txt.read()。本題選C選項(xiàng)。
30.B編程語言的異常和錯(cuò)誤是兩個(gè)相似但不相同的概念。異常和錯(cuò)誤都可能引起程序執(zhí)行錯(cuò)誤而退出,它們屬于程序沒有考慮到的例外情況。
31.Y
32.Y
33.Y
34.Y
35.Y
36.N
37.Y
38.N
39.Y
40.Y
41.25
42.[3]
43.openpyxl
44.['abcd']
45.'yybcyyb'
46.PIL、pillow
47.TRUE
48.[[1,4],[2,5],[3,6]]
49.True
50.['0','1','2']
51.num=eval(input("輸入數(shù)字:”))Print(”對應(yīng)的二進(jìn)制數(shù):{0:b}\\n八進(jìn)制數(shù):{0:o}\\n十六進(jìn)制數(shù):{0:x}”.format(num))考查format()方法的使用。格式控制標(biāo)記可以使用變量來表示,即用槽來指定對應(yīng)的控制標(biāo)記及數(shù)量,模板字符串在本題中總共有3個(gè)槽,即參數(shù)變量需要3個(gè),但此時(shí)的參數(shù)只有一個(gè),這里需要指定對應(yīng)的變量。<類型\r\n>\r\n表示輸出整數(shù)和浮點(diǎn)數(shù)類型的格式規(guī)則。b表示二進(jìn)制;o表示八進(jìn)制;大寫的X表示大寫的十六進(jìn)制。因此第1空填入o:b,第2空填入0:o,第3空填入0:X。
52.fi=open(“論語.txt'”r”)fo=open(”論語-原文.txt”,”w”)Flag=falseforlineinfi:If”【“inline:Flag=falseIf”【原文】”inline:Flag=tureContinueIffiag=ture:fo.write(line.lstrip())Fi.close()Fo.close()fi=open("論語-原文.txt"’r’)fo=open("論語-提純原文.txt”,’w’)forlineinfi:Foriinrange(1,23):line=line,replace(“{}”.format(i),””)fowrite(line)Fi.close()Fo.close()(1)題目要求從“論語.txt”文件中提取內(nèi)容,輸出保存到文件“論語-原文.txt”中,因此需要用”r”模式打開“論語”txt”,用”\r\nw”模式創(chuàng)建文件“論語-原文.txt”。本題要求區(qū)域性提取,與單行提取不同,因此,可以借助寫標(biāo)記flag來標(biāo)記操作的是哪里的文本。使用for循環(huán)遍歷“論語.txt”中的每一行,當(dāng)該行存在時(shí),說明已經(jīng)到了新的區(qū)域,寫標(biāo)記設(shè)置為否,即flag\r\n=False;當(dāng)該行存在【原文】時(shí),寫標(biāo)記設(shè)置為True;當(dāng)寫標(biāo)記為True時(shí),就將當(dāng)前行內(nèi)容寫入新的文件”論語-原文.txt"中。對文件操作完成后,使用close()方法關(guān)閉文件。(2)題目要求對“論語-原文.txt”進(jìn)一步提純,保存為“論語-提純原文.txt”文件,因此需要用”r”模式打開“論語-原文.txt”,用”\r\nw”模式創(chuàng)建文件“論語-提純原文.txt”。題目要求去掉每行文字中所有圓括號及內(nèi)部數(shù)字,可在for循環(huán)遍歷“論語-原文.txt”文件中的每一行時(shí),用空格來代替出現(xiàn)的“(數(shù)字)”形式。分析“論語-原文.txt”文件可知,其中出現(xiàn)(1)~(22)共22種可能,因此內(nèi)部嵌套for循環(huán)需要從1遍歷到22,構(gòu)造(i)并替換。替換后將該行內(nèi)容寫入文件“論語-提純原文.txt”中。對文件操作完成后,使用close()方法關(guān)閉文件。
53.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('請輸入26個(gè)小寫英文字母中的任一個(gè):’)\r\n
count+=1\r\n
ifletter_inputnotinletter_list:\r\n
print('請重新輸入字母')\r\nelse:\r\n
ifcount>=5:\r\n
print('猜測超過5次,答題失敗')\r\n
break\r\nelse\r\n
ifletter_input==letter:\r\n
print('恭喜你答對了,總共猜了{(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庫中的函數(shù)。randint(a,b)方法生成一個(gè)[a,b]之間的整數(shù),用來隨機(jī)抽取列表中的字母。根據(jù)題目要求總體分為兩個(gè)方向:①輸入的字符不是小寫字母中的任一個(gè)字符,則輸出“請重新輸人字母”;②若輸入的字符在列表中,則判斷輸入的次數(shù)是否大于5,大于5則輸出“猜測超過5次,答題失敗”并退出循環(huán),在輸人次數(shù)之內(nèi),對輸入的字符與隨機(jī)抽取的字符進(jìn)行比較,即大于、小于和等于,不同的比較范圍對應(yīng)不同的輸出。廣東省惠州市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.下面屬于“對象”成分之一的是()。
A.封裝B.規(guī)則C.屬性D.繼承
2.以下代碼的輸出結(jié)果是()。ls=[”apple”,”red”,”orange”]deffunC(a):ls.a(chǎn)ppend(a)returnfunC(”yellow”)print(ls)
A.[]
B.[”apple”,”red”,”orange”]
C.[“yellow”]
D.[”apple”,”red”,”orange”,”yellow”]
3.以下選項(xiàng)中不是Python文件目錄操作方法的是()。
A.split()B.rename()C.getcwd()D.rmdir()
4.以下關(guān)于數(shù)據(jù)維度的描述,錯(cuò)誤的是()。
A.列表的索引值是大于0小于列表長度的整數(shù)
B.JSON格式可以表示比二維數(shù)據(jù)還復(fù)雜的高維數(shù)據(jù)
C.二維數(shù)據(jù)可以看成多條一維數(shù)據(jù)的組合形式
D.CSV文件既能保存一維數(shù)據(jù),也能保存二維數(shù)據(jù)
5.設(shè)有表示學(xué)生選課的3張表,學(xué)生S(學(xué)號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學(xué)號,課號,成績),則表SC的關(guān)鍵字(鍵或碼)為()。
A.課號,成績B.學(xué)號,成績C.學(xué)號,課號D.學(xué)號,姓名,成績
6.Is=[2,“apple”,[42,“yellow”,“misd”],1.2],表達(dá)式ls[2][-1][2]的結(jié)果是()。
A.mB.iC.sD.d
7.定義學(xué)生的關(guān)系模式如下:S(S#,Sn,Sex,Age,D#,Da(其屬性分別為學(xué)號、姓名、性別、年齡、所屬學(xué)院、院長)該關(guān)系滿足的最高范式是()。
A.1NFB.2NFC.3NFD.BCNF
8.在Python中,使用for—n…方式形成的循環(huán)不能遍歷的類型是()。
A.列表B.復(fù)數(shù)C.字符串D.字典
9.對于序列s,以下選項(xiàng)對min(s)描述正確的是()。
A.可以返回序列s中的最小元素,如果存在多個(gè)相同的最小元素,則返回一個(gè)列表類型
B.一定能夠返回序列s中的最小元素
C.可以返回序列s中的最小元素,如果存在多個(gè)相同的最小元素,則返回一個(gè)元組類型
D.可以返回序列s中的最小元素,但要求s中元素可比較
10.float('inf')<float('inf')+1執(zhí)行后的結(jié)果A.A.TrueB.False
11.以下關(guān)于程序的異常處理的描述中,錯(cuò)誤的是()。
A.在try-except-else結(jié)構(gòu)中,如果try塊的語句引發(fā)了異常則會(huì)執(zhí)行else塊中的代碼
B.異常處理結(jié)構(gòu)中的finally塊中的代碼仍然有可能出錯(cuò)從而再次引發(fā)異常
C.一般不建議在try中放太多代碼,而是應(yīng)該只放入可能會(huì)引發(fā)異常的代碼
D.在異常處理結(jié)構(gòu)中,不論是否發(fā)生異常,finally子句中的代碼總是會(huì)執(zhí)行的
12.—個(gè)工作人員可以使用多臺(tái)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)可被多個(gè)人使用,則實(shí)體工作人員與實(shí)體計(jì)算機(jī)之間的聯(lián)系是()。
A.—對一B.—對多C.多對多D.多對一
13.下列關(guān)于Python的描述正確的是()。
A.條件2<=3<=5是合法的,輸出False
B.條件2<=3<=5是不合法的
C.條件2<=3<=5是合法的,輸出True
D.條件2<=3<=5是不合法的,會(huì)拋出異常
14.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。
A.可行性分析報(bào)告B.軟件需求規(guī)格說明書C.概要設(shè)計(jì)說明書D.集成測試計(jì)劃
15.關(guān)于以下代碼的描述中,正確的是()。defrune(a,b):c=a**2+bb=areturnca=10b=2c=func(b,a)+a
A.執(zhí)行該函數(shù)后,變量c的值為112
B.該函數(shù)名稱為fun
C.執(zhí)行該函數(shù)后,變量b的值為2
D.執(zhí)行該函數(shù)后,變量b的值為10
16.以下變量名中,符合Python語言變量命名規(guī)則的是()。
A.33_keywordB.key@word33_C.nonlocalD._33keyword
17.如果文件a.txt在目錄C:\\A下,執(zhí)行以下程序會(huì)發(fā)生什么操作()。importosos.rmdir(r‘C:\\A’)
A.刪除文件夾A,保留文件a.txt
B.刪除文件夾A和文件a.txt
C.刪除文件a.txt,保留文件夾A
D.OSError
18.以下程序的輸出結(jié)果是()。letter=[‘A’,‘B’,‘C’,‘D’,‘D’,‘D’]foriinletter: ifi==‘D’: letter.remove(i)print(letter)
A.[‘A’,‘B’,‘C’]
B.[‘A’,‘B’,‘C’,‘D’,‘D’]
C.[‘A’,‘B’,‘C’,‘D’,‘D’,‘D’]
D.[‘A’,‘B’,‘C’,‘D’]
19.以下代碼的輸出結(jié)果是()。Is=[[1,2,3],’python’,[[4,5,’ABC’],6],[7,8]]print(ls[2][l])
A.'ABC'B.pC.4D.6
20.執(zhí)行以下代碼的結(jié)果是?A.20B.24C.30D.33
21.下面這條語句的輸出結(jié)果是()。f=(lambdaa="hello",b="python",c="world":a+b.split(“o")[1]+C)print(f("hi"))
A.hellopythonworldB.hipythworldC.hellonworldD.hinworld
22.下列關(guān)于Python列表的描述錯(cuò)誤的是()。
A.列表元素可以被修改B.列表元素沒有長度限制C.列表元素的個(gè)數(shù)不限D(zhuǎn).列表元素的數(shù)據(jù)類型必須一致
23.以下代碼的輸出結(jié)果是()。defHello(famlyName,age):ifage>50:print(”您好!”+famlyName+”奶奶”)elifage>40:print(”您好!”+famlyName+”阿姨”)elifage>30:print(”您好!”+famlyName+”姐姐”)else:print(”您好!”+”小”+famlyName)Hello(age=43,famlyName=”趙”)
A.您好!趙奶奶B.您好!趙阿姨C.您好!趙姐姐D.函數(shù)調(diào)用出錯(cuò)
24.執(zhí)行以下代碼的結(jié)果是()A.2B.22C.23D.24
25.以下描述中,正確的是()。
A.如果s是一個(gè)序列,s=[1,”kate”,True],s[3]返回True
B.如果x不是s的元素,xnotins返回True
C.如果x是s的元素,xins返回1
D.如果s是一個(gè)序列,s=[1,”kate”,F(xiàn)alse],s[一1]返回True
26.下列關(guān)于Python運(yùn)算符的使用描述正確的是()。
A.a=!b,比較a與b是否不相等
B.a=+b,等同于a=a+b
C.a==b,比較a與b是否相等
D.a//=b,等同于a=a/b
27.表格類型數(shù)據(jù)的組織維度最可能是()。
A.多維數(shù)據(jù)B.一維數(shù)據(jù)C.二維數(shù)據(jù)D.高維數(shù)據(jù)
28.以下關(guān)于Python全局變量和局部變量的描述中,錯(cuò)誤的是()。
A.局部變量在使用過后立即被釋放
B.全局變量一般沒有縮進(jìn)
C.全局變量和局部變量的命名不能相同
D.—個(gè)程序中的變量包含兩類:全局變量和局部變量
29.文件family.txt在當(dāng)前代碼所在目錄內(nèi),其內(nèi)容是一段文本:Wearefamily,以下代碼的輸出結(jié)果是()。txt=open(”family.txt”,”r”)print(txt)txt.close()
A.txtB.family.txtC.非其他答案D.Wearefamily
30.以下關(guān)于程序的異常處理的描述中,錯(cuò)誤的是()。
A.except語句后面可以指定異常類型
B.異常和錯(cuò)誤是兩個(gè)相同的意思
C.帶有else子句的異常處理結(jié)構(gòu),當(dāng)try中的語句塊正常執(zhí)行結(jié)束且沒有異常時(shí)執(zhí)行else子句中的代碼
D.異常處理機(jī)制雖然可以解決程序的一些錯(cuò)誤,但不建議過度依賴
二、判斷題(10題)31.標(biāo)準(zhǔn)庫os的rename()方法可以實(shí)現(xiàn)文件移動(dòng)操作。
A.是B.否
32.相同內(nèi)容的字符串使用不同的編碼格式進(jìn)行編碼得到的結(jié)果并不完全相同。
A.是B.否
33.元組可以作為字典的“鍵”。
A.是B.否
34.對于帶有else子句的循環(huán)語句,如果是因?yàn)檠h(huán)條件表達(dá)式不成立而自然結(jié)束循環(huán),則執(zhí)行else子句中的代碼。
A.是B.否
35.在定義函數(shù)時(shí),某個(gè)參數(shù)名字前面帶有兩個(gè)*符號表示可變長度參數(shù),可以接收任意多個(gè)關(guān)鍵參數(shù)并將其存放于一個(gè)字典之中。A.是B.否
36.帶有else子句的循環(huán)如果因?yàn)閳?zhí)行了break語句而退出的話,則會(huì)執(zhí)行else子句中的代碼。
A.是B.否
37.如果定義類時(shí)沒有編寫析構(gòu)函數(shù),Python將提供一個(gè)默認(rèn)的析構(gòu)函數(shù)進(jìn)行必要的資源清理工作。
A.是B.否
38.繼承自threading.Thread類的派生類中不能有普通的成員方法。A.是B.否
39.在Python中定義函數(shù)時(shí)不需要聲明函數(shù)的返回值類型。
A.是B.否
40.Python集合中的元素不允許重復(fù)。
A.是B.否
三、填空題(10題)41.表達(dá)式sum(range(1,10,2))的值為____________。
42.表達(dá)式list(filter(lambdax:x>2,[0,1,2,3,0,0]))的值為_________。
43.Python擴(kuò)展庫_____________支持Excel2007或更高版本文件的讀寫操作。
44.表達(dá)式list(filter(lambdax:len(x)>3,['a','b','abcd']))的值為___________。
45.表達(dá)式'abcab'.replace('a','yy')的值為___________。
46.Python擴(kuò)展庫______________和______________提供了圖像處理功能。
47.表達(dá)式isinstance('Helloworld',str)的值為__________。
48.表達(dá)式list(map(list,zip(*[[1,2,3],[4,5,6]])))的值為________________。
49.表達(dá)式'abc10'.isalnum()的值為______________。
50.表達(dá)式[str(i)foriinrange(3)]的值為____________。
四、操作題(3題)51.考生文件夾下存在一個(gè)文件“PY103.py”,請寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。用鍵盤輸入十進(jìn)制整數(shù),按要求將這個(gè)整數(shù)轉(zhuǎn)換為二進(jìn)制、八進(jìn)制及十六進(jìn)制(大寫)并輸出到屏幕。例如:輸入數(shù)字:425對應(yīng)的二進(jìn)制數(shù):110101001對應(yīng)的八進(jìn)制數(shù):651對應(yīng)的十六進(jìn)制數(shù):1A9試題程序:#請?jiān)赺____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼num=eval(input("輸入數(shù)字:"))print("對應(yīng)的二進(jìn)制數(shù):{_____(1)_____}\n八進(jìn)制數(shù):{_____(2)_____}\n十六進(jìn)制數(shù):{_____(3)_____}".format(num))試題答案:num=eval(input("輸入數(shù)字:”))Print(”對應(yīng)的二進(jìn)制數(shù):{0:b}\n八進(jìn)制數(shù):{0:o}\n十六進(jìn)制數(shù):{0:x}”.format(num))
52.考生文件夾下存在2個(gè)Python源文件和3個(gè)文本文件,分別對應(yīng)兩個(gè)問題,請按照文件內(nèi)說明修改代碼,實(shí)現(xiàn)以下功能?!墩撜Z》是儒家學(xué)派的經(jīng)典著作之一,主要記錄了孔子及其弟子言行。這里給出了一個(gè)網(wǎng)絡(luò)版本的《論語》,文件名稱為“論語.txt”,其內(nèi)容采用逐句“原文”與逐句“注釋”相結(jié)合的形式組織,通過【原文】標(biāo)記《論語》原文內(nèi)容,通過【注釋】標(biāo)記《論語》注釋內(nèi)容,具體格式請參考“論語.txt”文件。問題1:在“PY301-1.py”文件中修改代碼,提取“論語.txt”文件中的原文內(nèi)容,輸出保存到考生文件夾下,文件名為“論語-原文.txt”。具體要求:僅保留“論語.txt”文件中所有【原文】標(biāo)簽下面的內(nèi)容,不保留標(biāo)簽,并去掉每行行首空格及行尾空格,無空行。原文圓括號及內(nèi)部數(shù)字是源文件中注釋內(nèi)容的標(biāo)記,請保留。文件輸出格式請參考“論語-原文-輸出示例.txt”文件。注意:輸出示例僅幫助考生了解輸出格式,不作它用。試題程序:#以下代碼為提示框架#請?jiān)诔绦虻?..處使用一行或多行代碼替換#請?jiān)诔绦虻腳___處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fi=open(“論語.txt",)fo=open(“論語-原文.txt",)…Forlineinfi:…fo.write(line.lstrip())問題2:在“PY301-2.py”文件中修改代碼,對“論語-原文.txt”或“論語.txt”文件進(jìn)一步提純,去掉每行文字中所有圓括號及內(nèi)部數(shù)字,保存為“論語-提純原文.txt”文件。文件輸出格式請參考“論語-提純原文-輸出示例.txt”文件。注意:示例輸出文件僅幫助考生了解輸出格式,不做它用。試題程序:#以下代碼為提示框架#請?jiān)诔绦虻?..處使用一行或多行代碼替換#請?jiān)诔绦虻奶幨褂靡恍写a替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fi=open("論語-原文.txt",_____)fo=open("論語-提純原文.txt",_____)Forlineinfi:line=line.replace()
53.考生文件夾下存在一個(gè)文件PY301.py,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請按照源文件內(nèi)部說明修改代碼,實(shí)現(xiàn)以下功能:
設(shè)計(jì)一個(gè)猜字母的程序,程序隨機(jī)給出26個(gè)小寫字母中的一個(gè),答題者輸入猜測的字母,若輸入的不是26個(gè)小寫字母之一,讓用戶重新輸入;若字母在答案之前或之后,程序給出相應(yīng)正確提示;若答錯(cuò)5次,則答題失敗并退出游戲;若回答正確,程序輸出回答次數(shù)并退出游戲。
試題程序:
#以下代碼為提示框架
#請?jiān)凇幨褂靡恍谢蚨嘈写a替換
#請?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:…
參考答案
1.C面向?qū)ο蠓椒ㄖ械膶ο笥蓛刹糠纸M成:①數(shù)據(jù),也稱為屬性,即對象所包含的信息,表示對象的狀態(tài);②方法,也稱為操作,即對象所能執(zhí)行的功能、所能具有的行為。本題選擇C選項(xiàng)。
2.D列表ls中有三個(gè)元素,函數(shù)funC(”yellow”),將”yellow”傳遞給形參a,用append()方法將a中內(nèi)容添加到列表ls中,最后返回,故最終的ls=[”apple”,”red”,”orange”,”yellow”],print(ls),即將列表ls中的內(nèi)容輸出。
3.Arename():給文件重命名;getcwd():得到當(dāng)前工作目錄,即當(dāng)前Python腳本工作的目錄路徑;rmdir():刪除目錄。split():按給出的分隔符分隔字符串,返回的是列表類型。
4.A列表的索引值也可以是負(fù)整數(shù),如1[-1]就代表列表1的最后一個(gè)元素。本題選擇A選項(xiàng)。
5.C學(xué)號是學(xué)生表S的主鍵,課號是課程表C的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個(gè)表能夠直接聯(lián)系且能唯一定義的學(xué)號和課號,本題選擇C選項(xiàng)。
6.C列表中正向遞增索引從0開始,反向遞減索引從-1開始,ls[2][-1][2]指的是列表中索引為2的元素下的索引為-1元素下的索引為2的元素,輸出結(jié)果是s。本題選擇C選項(xiàng)。
7.B關(guān)系數(shù)據(jù)庫中的關(guān)系是要滿足一定要求的,滿足不同程度要求的為不同的范式。滿足最低要求的叫第一范式,簡稱1NF。在滿足第一范式的基礎(chǔ)上,進(jìn)一步滿足更多要求的則是第二范式。在滿足第二范式的基礎(chǔ)上,還可以再滿足第三范式,以此類推。對于關(guān)系模式,若其中的每個(gè)屬性都已不能再分為簡單項(xiàng),則它屬于第一范式。若某個(gè)關(guān)系R為第一范式,并且R中每一個(gè)非主屬性完全依賴于R的某個(gè)候選鍵,則稱其為第二范式。第二范式消除了非主屬性對主鍵的部分依賴。如果關(guān)系R是第二范式,并且每個(gè)非主屬性都不傳遞依賴于R的候選鍵,則稱R為第三范式。(傳遞依賴:在關(guān)系模式中,如果Y→X,X→A,且X不決定Y、A不屬于X,那么Y→A是傳遞依賴。)本題中,關(guān)系S滿足第一范式和第二范式,但是S#→D#,D#→Da,存在傳遞依賴,因此不滿足第三范式。該關(guān)系滿足的最高范式是2NF。本題選擇B選項(xiàng)。
8.B在Python中,使用for…in…方式形成的循環(huán)能遍歷的類型有字符串、文件、range()函數(shù)或組合數(shù)據(jù)類型,不能遍歷復(fù)數(shù)。本題選擇B選項(xiàng)。
9.Dmin()函數(shù)返回給定參數(shù)的最小值,但是要求給定參數(shù)是可以比較的。若給定的參數(shù)不能比較,則會(huì)報(bào)錯(cuò);若給定參數(shù)存在多個(gè)最小元素,min()只會(huì)返回序列中最小的一個(gè)元素。故答案為D項(xiàng)。
10.B
11.A只有try語句塊中的語句正常執(zhí)行,不發(fā)生中斷或異常,else子句中的代碼才會(huì)執(zhí)行。本題選擇A選項(xiàng)。
12.C因?yàn)橐粋€(gè)人可以操作多個(gè)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)又可以被多個(gè)人使用,所以兩個(gè)實(shí)體之間是多對多的關(guān)系。本題選擇C選項(xiàng)。
13.
14.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)。
15.C程序中,將實(shí)參b的值傳給形參a,將實(shí)參a的值傳給形參b,則在函數(shù)體中c=2**2+10=14,函數(shù)返回14,則實(shí)參c=14+10=24;形參a和b在函數(shù)結(jié)束后會(huì)自動(dòng)釋放,并沒有影響到實(shí)參a和b的值,故實(shí)參a仍然是10,實(shí)參b仍然是2。
16.DPython采用大寫字母、小寫字母、數(shù)字、下劃線和漢字等字符及其組合進(jìn)行命名,但名字的首字符不能是數(shù)字,標(biāo)識符中間不能出現(xiàn)空格,長度沒有限制。變量名不能與保留字相同。
17.D使用rmdir()刪除目錄之前要先清除其中所有的文件,否則會(huì)產(chǎn)生OSError錯(cuò)誤。本題選擇D選項(xiàng)。
18.D遍歷列表letter,當(dāng)i==‘D’時(shí),執(zhí)行l(wèi)etter.remove(i),此時(shí)列表letter=[‘A’,‘B’,‘C’,‘D’,‘D’];再次遍歷列表letter,當(dāng)i==‘D’時(shí),執(zhí)行l(wèi)etter.remove(i),此時(shí)列表letter=[‘A’,‘B’,‘C’,‘D’]。因?yàn)榱斜碇械脑仉S著“D”元素的刪除而減少,當(dāng)刪除第一個(gè)“D”元素之后,列表元素的個(gè)數(shù)變?yōu)?,for循環(huán)又是控制循環(huán)次數(shù)的,因此只遍歷5次;當(dāng)?shù)诙€(gè)“D”元素刪除時(shí),循環(huán)結(jié)束。本題選擇D選項(xiàng)。
19.D列表索引從0開始,所以ls[2]\n[1]指的是列表中索引為2的元素[[4,5,’ABC’],6]中索引為1的元素6,所以輸出結(jié)果是6。本題選擇D選項(xiàng)。
20.D
21.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)。
22.D列表沒有長度限制,元素類型可以不同,不需要預(yù)定義長度。列表可以進(jìn)行元素的增加、刪除、替換、查找等操作。
23.B將實(shí)參age=43,famlyName=”趙”分別賦給形參age和famlyName,之后進(jìn)入多分支結(jié)構(gòu)進(jìn)行判斷,因?yàn)?0<age=43<50,執(zhí)行第一個(gè)elif后面的語句,用”+”進(jìn)行字符串連接,故輸出“您好!趙阿姨”。本題選擇B選項(xiàng)。
24.D
25.B序列的索引序號從0開始編號,所以s=[1,”kate”,True]時(shí),s[3]=0,返回False,A項(xiàng)錯(cuò)誤。xins(如果x是s的元素,返回True;否則返回False);xnotins(如果x不是s的元素,返回True;否則返回False),B項(xiàng)正確、C項(xiàng)錯(cuò)誤。序列類型使用的索引體系可以是正向遞增序號(從0開始遞增),也可以是反向遞減序號(從一1開始遞減),所以s[一1]=False,返回的是False,D項(xiàng)錯(cuò)誤。
26.C比較a與b是否不相等的運(yùn)算符是!=;a+=b等同于a=a+b;a//=b等同于a=a//b。
27.C一維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織;二維數(shù)據(jù),也稱表格數(shù)據(jù),由關(guān)聯(lián)關(guān)系數(shù)據(jù)構(gòu)成,采用二維表格方式組織;高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構(gòu)成,采用對象方式組織。故答案為C項(xiàng)。
28.C根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量指在函數(shù)內(nèi)部定義的變量,僅在函數(shù)內(nèi)部有效,且作用域也在函數(shù)內(nèi)部,當(dāng)函數(shù)退出時(shí)變量將不再存在。全局變量一般指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效,一般沒有縮進(jìn)。全局變量和局部變量的命名可以相同。本題選擇C選項(xiàng)。
29.Copen()函數(shù)打開一個(gè)文件,并返回可以操作這個(gè)文件的變量txt,并且open()函數(shù)有兩個(gè)參數(shù):文件名和打開模式。本題只是打開了文件,并沒有對文件進(jìn)行操作,因此不會(huì)輸出文件的內(nèi)容。print(txt)語句輸出的是變量txt代表的文件的相關(guān)信息:<_io.TextIOWrappername=’family.txt’mode=’r’encoding=’cp936’>。若想要輸出文件的內(nèi)容,需要把文件的內(nèi)容讀人,如txt1=_txt.read()。本題選C選項(xiàng)。
30.B編程語言的異常和錯(cuò)誤是兩個(gè)相似但不相同的概念。異常和錯(cuò)誤都可能引起程序執(zhí)行錯(cuò)誤而退出,它們屬于程序沒有考慮到的例外情況。
31.Y
32.Y
33.Y
34.Y
35.Y
36.N
37.Y
38.N
39.Y
40.Y
41.25
42.[3]
43.openpyxl
44.['abcd']
45.'yybcyyb'
46.PIL、pillow
47.TRUE
48.[[1,4],[2,5],[3,6]]
49.True
50.['0','1','2']
51.num=eval(input("輸入數(shù)字:”))Print(”對應(yīng)的二進(jìn)制數(shù):{0:b}\\n八進(jìn)制數(shù):{0:o}\\n十六進(jìn)制數(shù):{0:x}”.format(num))考查format()方法的使用。格式控制標(biāo)記可以使用變量來表示,即用槽來指定對應(yīng)的控制標(biāo)記及數(shù)量,模板字符串在本題中總共有3個(gè)槽,即參數(shù)變量需要3個(gè),但此時(shí)的參數(shù)只有一個(gè),這里需要指定對應(yīng)的變量。<類型\r\n>\r\n表示輸出整數(shù)和浮點(diǎn)數(shù)類型的格式規(guī)則。b表示二進(jìn)制;o表示八進(jìn)制;大寫的X表示大寫的十六進(jìn)制。因此第1空填入o:b,第2空填入0:o,第3空填入0:X。
52.fi=open(“論語.txt'”r”)fo=open(”論語-原文.txt”,”w”)Flag=falseforlineinfi:If”【“inline:Flag=falseIf”【原文】”inline:Flag=tureContinueIffiag=ture:fo.write(line.lstrip())Fi.close()Fo.close()fi=open("論語-原文.txt"’r’)fo=open("論語-提純原文.txt”,’w’)forlineinfi:Foriinrange(1,23):line=line,replace(“{}”.format(i),””)fowrite(line)Fi.close()Fo.close()(1)題目要求從“論語.txt”文件中提取內(nèi)容,輸出保存到文件“論語-原文.txt”中,因此需要用”r”模式打開“論語”txt”,用”\r\nw”模式創(chuàng)建文件“論語-原文.txt”。本題要求區(qū)域性提取,與單行提取不同,因此,可以借助寫標(biāo)記flag來標(biāo)記操作的是哪里的文本。使用for循環(huán)遍歷“論語.txt”中的每一行,當(dāng)該行存在時(shí),說明已經(jīng)到了新的區(qū)域,寫標(biāo)記設(shè)置為否,即flag\r\n=False;當(dāng)該行存在【原文】時(shí),寫標(biāo)記設(shè)置為True;當(dāng)寫標(biāo)記為True時(shí),就將當(dāng)前行內(nèi)容寫入新的文件”論語-原文.txt"中。對文件操作完成后,使用close()方法關(guān)閉文件。(2)題目要求對“論語-原文.txt”進(jìn)一步提純,保存為“論語-提純原文.txt”文件,因此需要用”r”模式打開“論語-原文.txt”,用”\r\nw”模式創(chuàng)建文件“論語-提純原文.txt”。題目要求去掉每行文字中所有圓括號及內(nèi)部數(shù)字,可在for循環(huán)遍歷“論語-原文.txt”文件中的每一行時(shí),用空格來代替出現(xiàn)的“(數(shù)字)”形式。分析“論語-原文.txt”文件可知,其中出現(xiàn)(1)~(22)共22種可能,因此內(nèi)部嵌套for循環(huán)需要從1遍歷到22,構(gòu)造(i)并替換。替換后將該行內(nèi)容寫入文件“論語-提純原文.txt”中。對文件操作完成后,使用close()方法關(guān)閉文件。
53.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('請輸入26個(gè)小寫英文字母中的任一個(gè):’)\r\n
count+=1\r\n
ifletter_inputnotinletter_list:\r\n
print('請重新輸入字母')\r\nelse:\r\n
ifcount>=5:\r\n
print('猜測超過5次,答題失敗')\r\n
break\r\nelse\r\n
ifletter_input==letter:\r\n
print('恭喜你答對了,總共猜了{(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庫中的函數(shù)。randint(a,b)方法生成一個(gè)[a,b]之間的整數(shù),用來隨機(jī)抽取列表中的字母。根據(jù)題目要求總體分為兩個(gè)方向:①輸入的字符不是小寫字母中的任一個(gè)字符,則輸出“請重新輸人字母”;②若輸入的字符在列表中,則判斷輸入的次數(shù)是否大于5,大于5則輸出“猜測超過5次,答題失敗”并退出循環(huán),在輸人次數(shù)之內(nèi),對輸入的字符與隨機(jī)抽取的字符進(jìn)行比較,即大于、小于和等于,不同的比較范圍對應(yīng)不同的輸出。廣東省惠州市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.下面屬于“對象”成分之一的是()。
A.封裝B.規(guī)則C.屬性D.繼承
2.以下代碼的輸出結(jié)果是()。ls=[”apple”,”red”,”orange”]deffunC(a):ls.a(chǎn)ppend(a)returnfunC(”yellow”)print(ls)
A.[]
B.[”apple”,”red”,”orange”]
C.[“yellow”]
D.[”apple”,”red”,”orange”,”yellow”]
3.以下選項(xiàng)中不是Python文件目錄操作方法的是()。
A.split()B.rename()C.getcwd()D.rmdir()
4.以下關(guān)于數(shù)據(jù)維度的描述,錯(cuò)誤的是()。
A.列表的索引值是大于0小于列表長度的整數(shù)
B.JSON格式可以表示比二維數(shù)據(jù)還復(fù)雜的高維數(shù)據(jù)
C.二維數(shù)據(jù)可以看成多條一維數(shù)據(jù)的組合形式
D.CSV文件既能保存一維數(shù)據(jù),也能保存二維數(shù)據(jù)
5.設(shè)有表示學(xué)生選課的3張表,學(xué)生S(學(xué)號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學(xué)號,課號,成績),則表SC的關(guān)鍵字(鍵或碼)為()。
A.課號,成績B.學(xué)號,成績C.學(xué)號,課號D.學(xué)號,姓名,成績
6.Is=[2,“apple”,[42,“yellow”,“misd”],1.2],表達(dá)式ls[2][-1][2]的結(jié)果是()。
A.mB.iC.sD.d
7.定義學(xué)生的關(guān)系模式如下:S(S#,Sn,Sex,Age,D#,Da(其屬性分別為學(xué)號、姓名、性別、年齡、所屬學(xué)院、院長)該關(guān)系滿足的最高范式是()。
A.1NFB.2NFC.3NFD.BCNF
8.在Python中,使用for—n…方式形成的循環(huán)不能遍歷的類型是()。
A.列表B.復(fù)數(shù)C.字符串D.字典
9.對于序列s,以下選項(xiàng)對min(s)描述正確的是()。
A.可以返回序列s中的最小元素,如果存在多個(gè)相同的最小元素,則返回一個(gè)列表類型
B.一定能夠返回序列s中的最小元素
C.可以返回序列s中的最小元素,如果存在多個(gè)相同的最小元素,則返回一個(gè)元組類型
D.可以返回序列s中的最小元素,但要求s中元素可比較
10.float('inf')<float('inf')+1執(zhí)行后的結(jié)果A.A.TrueB.False
11.以下關(guān)于程序的異常處理的描述中,錯(cuò)誤的是()。
A.在try-except-else結(jié)構(gòu)中,如果try塊的語句引發(fā)了異常則會(huì)執(zhí)行else塊中的代碼
B.異常處理結(jié)構(gòu)中的finally塊中的代碼仍然有可能出錯(cuò)從而再次引發(fā)異常
C.一般不建議在try中放太多代碼,而是應(yīng)該只放入可能會(huì)引發(fā)異常的代碼
D.在異常處理結(jié)構(gòu)中,不論是否發(fā)生異常,finally子句中的代碼總是會(huì)執(zhí)行的
12.—個(gè)工作人員可以使用多臺(tái)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)可被多個(gè)人使用,則實(shí)體工作人員與實(shí)體計(jì)算機(jī)之間的聯(lián)系是()。
A.—對一B.—對多C.多對多D.多對一
13.下列關(guān)于Python的描述正確的是()。
A.條件2<=3<=5是合法的,輸出False
B.條件2<=3<=5是不合法的
C.條件2<=3<=5是合法的,輸出True
D.條件2<=3<=5是不合法的,會(huì)拋出異常
14.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。
A.可行性分析報(bào)告B.軟件需求規(guī)格說明書C.概要設(shè)計(jì)說明書D.集成測試計(jì)劃
15.關(guān)于以下代碼的描述中,正確的是()。defrune(a,b):c=a**2+bb=areturnca=10b=2c=func(b,a)+a
A.執(zhí)行該函數(shù)后,變量c的值為112
B.該函數(shù)名稱為fun
C.執(zhí)行該函數(shù)后,變量b的值為2
D.執(zhí)行該函數(shù)后,變量b的值為10
16.以下變量名中,符合Python語言變量命名規(guī)則的是()。
A.33_keywordB.key@word33_C.nonlocalD._33keyword
17.如果文件a.txt在目錄C:\\A下,執(zhí)行以下程序會(huì)發(fā)生什么操作()。importosos.rmdir(r‘C:\\A’)
A.刪除文件夾A,保留文件a.txt
B.刪除文件夾A和文件a.txt
C.刪除文件a.txt,保留文件夾A
D.OSError
18.以下程序的輸出結(jié)果是()。letter=[‘A’,‘B’,‘C’,‘D’,‘D’,‘D’]foriinletter: ifi==‘D’: letter.remove(i)print(letter)
A.[‘A’,‘B’,‘C’]
B.[‘A’,‘B’,‘C’,‘D’,‘D’]
C.[‘A’,‘B’,‘C’,‘D’,‘D’,‘D’]
D.[‘A’,‘B’,‘C’,‘D’]
19.以下代碼的輸出結(jié)果是()。Is=[[1,2,3],’python’,[[4,5,’ABC’],6],[7,8]]print(ls[2][l])
A.'ABC'B.pC.4D.6
20.執(zhí)行以下代碼的結(jié)果是?A.20B.24C.30D.33
21.下面這條語句的輸出結(jié)果是()。f=(lambdaa="hello",b="python",c="world":a+b.split(“o")[1]+C)print(f("hi"))
A.hellopythonworldB.hipythworldC.hellonworldD.hinworld
22.下列關(guān)于Python列表的描述錯(cuò)誤的是()。
A.列表元素可以被修改B.列表元素沒有長度限制C.列表元素的個(gè)數(shù)不限D(zhuǎn).列表元素的數(shù)據(jù)類型必須一致
23.以下代碼的輸出結(jié)果是()。defHello(famlyName,age):ifage>50:print(”您好!”+famlyName+”奶奶”)elifage>40:print(”您好!”+famlyName+”阿姨”)elifage>30:print(”您好!”+famlyName+”姐姐”)else:print(”您好!”+”小”+famlyName)Hello(age=43,famlyName=”趙”)
A.您好!趙奶奶B.您好!趙阿姨C.您好!趙姐姐D.函數(shù)調(diào)用出錯(cuò)
24.執(zhí)行以下代碼的結(jié)果是()A.2B.22C.23D.24
25.以下描述中,正確的是()。
A.如果s是一個(gè)序列,s=[1,”kate”,True],s[3]返回True
B.如果x不是s的元素,xnotins返回True
C.如果x是s的元素,xins返回1
D.如果s是一個(gè)序列,s=[1,”kate”,F(xiàn)alse],s[一1]返回True
26.下列關(guān)于Python運(yùn)算符的使用描述正確的是()。
A.a=!b,比較a與b是否不相等
B.a=+b,等同于a=a+b
C.a==b,比較a與b是否相等
D.a//=b,等同于a=a/b
27.表格類型數(shù)據(jù)的組織維度最可能是()。
A.多維數(shù)據(jù)B.一維數(shù)據(jù)C.二維數(shù)據(jù)D.高維數(shù)據(jù)
28.以下關(guān)于Python全局變量和局部變量的描述中,錯(cuò)誤的是()。
A.局部變量在使用過后立即被釋放
B.全局變量一般沒有縮進(jìn)
C.全局變量和局部變量的命名不能相同
D.—個(gè)程序中的變量包含兩類:全局變量和局部變量
29.文件family.txt在當(dāng)前代碼所在目錄內(nèi),其內(nèi)容是一段文本:Wearefamily,以下代碼的輸出結(jié)果是()。txt=open(”family.txt”,”r”)print(txt)txt.cl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 水壩拆除爆破服務(wù)協(xié)議
- 城市住宅區(qū)電梯施工合同
- 交通強(qiáng)弱電布線改造協(xié)議
- 體食堂炊事員勞動(dòng)合同
- 燃油運(yùn)輸貨車司機(jī)招聘合同
- 鐵路建設(shè)施工合同毛利計(jì)算
- 高鐵車站粉刷施工合同模板
- 設(shè)計(jì)合同法律責(zé)任
- 公路養(yǎng)護(hù)與維修勞務(wù)合同
- 水利工程轉(zhuǎn)讓協(xié)議書
- 冰銅主要性質(zhì)都有哪些呢
- 光伏并網(wǎng)逆變器調(diào)試報(bào)告(正式版)
- BIM咨詢技術(shù)標(biāo)
- 2022年安全管理落實(shí)“三項(xiàng)措施” 推進(jìn)安全生產(chǎn).doc
- 印染廢水現(xiàn)狀及處理方法(共60頁).ppt
- 生物工程工廠設(shè)計(jì)
- 項(xiàng)目成果交付清單
- 寶龍地產(chǎn)商管公司各級員工薪酬
- 兒童哮喘診療指南
- 房地產(chǎn)企業(yè)樓盤商業(yè)定位報(bào)告培訓(xùn)講座PPT講座資料課件
- 空氣站質(zhì)量控制措施之運(yùn)行維護(hù)
評論
0/150
提交評論