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

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論