版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
廣東省惠州市全國計算機等級考試Python語言程序設計學校:________班級:________姓名:________考號:________
一、單選題(30題)1.下面屬于“對象”成分之一的是()。
A.封裝B.規(guī)則C.屬性D.繼承
2.以下代碼的輸出結果是()。ls=[”apple”,”red”,”orange”]deffunC(a):ls.append(a)returnfunC(”yellow”)print(ls)
A.[]
B.[”apple”,”red”,”orange”]
C.[“yellow”]
D.[”apple”,”red”,”orange”,”yellow”]
3.以下選項中不是Python文件目錄操作方法的是()。
A.split()B.rename()C.getcwd()D.rmdir()
4.以下關于數(shù)據(jù)維度的描述,錯誤的是()。
A.列表的索引值是大于0小于列表長度的整數(shù)
B.JSON格式可以表示比二維數(shù)據(jù)還復雜的高維數(shù)據(jù)
C.二維數(shù)據(jù)可以看成多條一維數(shù)據(jù)的組合形式
D.CSV文件既能保存一維數(shù)據(jù),也能保存二維數(shù)據(jù)
5.設有表示學生選課的3張表,學生S(學號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學號,課號,成績),則表SC的關鍵字(鍵或碼)為()。
A.課號,成績B.學號,成績C.學號,課號D.學號,姓名,成績
6.Is=[2,“apple”,[42,“yellow”,“misd”],1.2],表達式ls[2][-1][2]的結果是()。
A.mB.iC.sD.d
7.定義學生的關系模式如下:S(S#,Sn,Sex,Age,D#,Da(其屬性分別為學號、姓名、性別、年齡、所屬學院、院長)該關系滿足的最高范式是()。
A.1NFB.2NFC.3NFD.BCNF
8.在Python中,使用for—n…方式形成的循環(huán)不能遍歷的類型是()。
A.列表B.復數(shù)C.字符串D.字典
9.對于序列s,以下選項對min(s)描述正確的是()。
A.可以返回序列s中的最小元素,如果存在多個相同的最小元素,則返回一個列表類型
B.一定能夠返回序列s中的最小元素
C.可以返回序列s中的最小元素,如果存在多個相同的最小元素,則返回一個元組類型
D.可以返回序列s中的最小元素,但要求s中元素可比較
10.float('inf')<float('inf')+1執(zhí)行后的結果A.A.TrueB.False
11.以下關于程序的異常處理的描述中,錯誤的是()。
A.在try-except-else結構中,如果try塊的語句引發(fā)了異常則會執(zhí)行else塊中的代碼
B.異常處理結構中的finally塊中的代碼仍然有可能出錯從而再次引發(fā)異常
C.一般不建議在try中放太多代碼,而是應該只放入可能會引發(fā)異常的代碼
D.在異常處理結構中,不論是否發(fā)生異常,finally子句中的代碼總是會執(zhí)行的
12.—個工作人員可以使用多臺計算機,而一臺計算機可被多個人使用,則實體工作人員與實體計算機之間的聯(lián)系是()。
A.—對一B.—對多C.多對多D.多對一
13.下列關于Python的描述正確的是()。
A.條件2<=3<=5是合法的,輸出False
B.條件2<=3<=5是不合法的
C.條件2<=3<=5是合法的,輸出True
D.條件2<=3<=5是不合法的,會拋出異常
14.在軟件開發(fā)中,需求分析階段產生的主要文檔是()。
A.可行性分析報告B.軟件需求規(guī)格說明書C.概要設計說明書D.集成測試計劃
15.關于以下代碼的描述中,正確的是()。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í)行以下程序會發(fā)生什么操作()。importosos.rmdir(r‘C:\\A’)
A.刪除文件夾A,保留文件a.txt
B.刪除文件夾A和文件a.txt
C.刪除文件a.txt,保留文件夾A
D.OSError
18.以下程序的輸出結果是()。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.以下代碼的輸出結果是()。Is=[[1,2,3],’python’,[[4,5,’ABC’],6],[7,8]]print(ls[2][l])
A.'ABC'B.pC.4D.6
20.執(zhí)行以下代碼的結果是?A.20B.24C.30D.33
21.下面這條語句的輸出結果是()。f=(lambdaa="hello",b="python",c="world":a+b.split(“o")[1]+C)print(f("hi"))
A.hellopythonworldB.hipythworldC.hellonworldD.hinworld
22.下列關于Python列表的描述錯誤的是()。
A.列表元素可以被修改B.列表元素沒有長度限制C.列表元素的個數(shù)不限D.列表元素的數(shù)據(jù)類型必須一致
23.以下代碼的輸出結果是()。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ù)調用出錯
24.執(zhí)行以下代碼的結果是()A.2B.22C.23D.24
25.以下描述中,正確的是()。
A.如果s是一個序列,s=[1,”kate”,True],s[3]返回True
B.如果x不是s的元素,xnotins返回True
C.如果x是s的元素,xins返回1
D.如果s是一個序列,s=[1,”kate”,F(xiàn)alse],s[一1]返回True
26.下列關于Python運算符的使用描述正確的是()。
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.以下關于Python全局變量和局部變量的描述中,錯誤的是()。
A.局部變量在使用過后立即被釋放
B.全局變量一般沒有縮進
C.全局變量和局部變量的命名不能相同
D.—個程序中的變量包含兩類:全局變量和局部變量
29.文件family.txt在當前代碼所在目錄內,其內容是一段文本:Wearefamily,以下代碼的輸出結果是()。txt=open(”family.txt”,”r”)print(txt)txt.close()
A.txtB.family.txtC.非其他答案D.Wearefamily
30.以下關于程序的異常處理的描述中,錯誤的是()。
A.except語句后面可以指定異常類型
B.異常和錯誤是兩個相同的意思
C.帶有else子句的異常處理結構,當try中的語句塊正常執(zhí)行結束且沒有異常時執(zhí)行else子句中的代碼
D.異常處理機制雖然可以解決程序的一些錯誤,但不建議過度依賴
二、判斷題(10題)31.標準庫os的rename()方法可以實現(xiàn)文件移動操作。
A.是B.否
32.相同內容的字符串使用不同的編碼格式進行編碼得到的結果并不完全相同。
A.是B.否
33.元組可以作為字典的“鍵”。
A.是B.否
34.對于帶有else子句的循環(huán)語句,如果是因為循環(huán)條件表達式不成立而自然結束循環(huán),則執(zhí)行else子句中的代碼。
A.是B.否
35.在定義函數(shù)時,某個參數(shù)名字前面帶有兩個*符號表示可變長度參數(shù),可以接收任意多個關鍵參數(shù)并將其存放于一個字典之中。A.是B.否
36.帶有else子句的循環(huán)如果因為執(zhí)行了break語句而退出的話,則會執(zhí)行else子句中的代碼。
A.是B.否
37.如果定義類時沒有編寫析構函數(shù),Python將提供一個默認的析構函數(shù)進行必要的資源清理工作。
A.是B.否
38.繼承自threading.Thread類的派生類中不能有普通的成員方法。A.是B.否
39.在Python中定義函數(shù)時不需要聲明函數(shù)的返回值類型。
A.是B.否
40.Python集合中的元素不允許重復。
A.是B.否
三、填空題(10題)41.表達式sum(range(1,10,2))的值為____________。
42.表達式list(filter(lambdax:x>2,[0,1,2,3,0,0]))的值為_________。
43.Python擴展庫_____________支持Excel2007或更高版本文件的讀寫操作。
44.表達式list(filter(lambdax:len(x)>3,['a','b','abcd']))的值為___________。
45.表達式'abcab'.replace('a','yy')的值為___________。
46.Python擴展庫______________和______________提供了圖像處理功能。
47.表達式isinstance('Helloworld',str)的值為__________。
48.表達式list(map(list,zip(*[[1,2,3],[4,5,6]])))的值為________________。
49.表達式'abc10'.isalnum()的值為______________。
50.表達式[str(i)foriinrange(3)]的值為____________。
四、操作題(3題)51.考生文件夾下存在一個文件“PY103.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。用鍵盤輸入十進制整數(shù),按要求將這個整數(shù)轉換為二進制、八進制及十六進制(大寫)并輸出到屏幕。例如:輸入數(shù)字:425對應的二進制數(shù):110101001對應的八進制數(shù):651對應的十六進制數(shù):1A9試題程序:#請在_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼num=eval(input("輸入數(shù)字:"))print("對應的二進制數(shù):{_____(1)_____}\n八進制數(shù):{_____(2)_____}\n十六進制數(shù):{_____(3)_____}".format(num))試題答案:num=eval(input("輸入數(shù)字:”))Print(”對應的二進制數(shù):{0:b}\n八進制數(shù):{0:o}\n十六進制數(shù):{0:x}”.format(num))
52.考生文件夾下存在2個Python源文件和3個文本文件,分別對應兩個問題,請按照文件內說明修改代碼,實現(xiàn)以下功能?!墩撜Z》是儒家學派的經典著作之一,主要記錄了孔子及其弟子言行。這里給出了一個網(wǎng)絡版本的《論語》,文件名稱為“論語.txt”,其內容采用逐句“原文”與逐句“注釋”相結合的形式組織,通過【原文】標記《論語》原文內容,通過【注釋】標記《論語》注釋內容,具體格式請參考“論語.txt”文件。問題1:在“PY301-1.py”文件中修改代碼,提取“論語.txt”文件中的原文內容,輸出保存到考生文件夾下,文件名為“論語-原文.txt”。具體要求:僅保留“論語.txt”文件中所有【原文】標簽下面的內容,不保留標簽,并去掉每行行首空格及行尾空格,無空行。原文圓括號及內部數(shù)字是源文件中注釋內容的標記,請保留。文件輸出格式請參考“論語-原文-輸出示例.txt”文件。注意:輸出示例僅幫助考生了解輸出格式,不作它用。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準fi=open(“論語.txt",)fo=open(“論語-原文.txt",)…Forlineinfi:…fo.write(line.lstrip())問題2:在“PY301-2.py”文件中修改代碼,對“論語-原文.txt”或“論語.txt”文件進一步提純,去掉每行文字中所有圓括號及內部數(shù)字,保存為“論語-提純原文.txt”文件。文件輸出格式請參考“論語-提純原文-輸出示例.txt”文件。注意:示例輸出文件僅幫助考生了解輸出格式,不做它用。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準fi=open("論語-原文.txt",_____)fo=open("論語-提純原文.txt",_____)Forlineinfi:line=line.replace()
53.考生文件夾下存在一個文件PY301.py,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請按照源文件內部說明修改代碼,實現(xiàn)以下功能:
設計一個猜字母的程序,程序隨機給出26個小寫字母中的一個,答題者輸入猜測的字母,若輸入的不是26個小寫字母之一,讓用戶重新輸入;若字母在答案之前或之后,程序給出相應正確提示;若答錯5次,則答題失敗并退出游戲;若回答正確,程序輸出回答次數(shù)并退出游戲。
試題程序:
#以下代碼為提示框架
#請在…處使用一行或多行代碼替換
#請在______處使用一行代碼替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準
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面向對象方法中的對象由兩部分組成:①數(shù)據(jù),也稱為屬性,即對象所包含的信息,表示對象的狀態(tài);②方法,也稱為操作,即對象所能執(zhí)行的功能、所能具有的行為。本題選擇C選項。
2.D列表ls中有三個元素,函數(shù)funC(”yellow”),將”yellow”傳遞給形參a,用append()方法將a中內容添加到列表ls中,最后返回,故最終的ls=[”apple”,”red”,”orange”,”yellow”],print(ls),即將列表ls中的內容輸出。
3.Arename():給文件重命名;getcwd():得到當前工作目錄,即當前Python腳本工作的目錄路徑;rmdir():刪除目錄。split():按給出的分隔符分隔字符串,返回的是列表類型。
4.A列表的索引值也可以是負整數(shù),如1[-1]就代表列表1的最后一個元素。本題選擇A選項。
5.C學號是學生表S的主鍵,課號是課程表C的主鍵,所以選課表SC的關鍵字就應該是與前兩個表能夠直接聯(lián)系且能唯一定義的學號和課號,本題選擇C選項。
6.C列表中正向遞增索引從0開始,反向遞減索引從-1開始,ls[2][-1][2]指的是列表中索引為2的元素下的索引為-1元素下的索引為2的元素,輸出結果是s。本題選擇C選項。
7.B關系數(shù)據(jù)庫中的關系是要滿足一定要求的,滿足不同程度要求的為不同的范式。滿足最低要求的叫第一范式,簡稱1NF。在滿足第一范式的基礎上,進一步滿足更多要求的則是第二范式。在滿足第二范式的基礎上,還可以再滿足第三范式,以此類推。對于關系模式,若其中的每個屬性都已不能再分為簡單項,則它屬于第一范式。若某個關系R為第一范式,并且R中每一個非主屬性完全依賴于R的某個候選鍵,則稱其為第二范式。第二范式消除了非主屬性對主鍵的部分依賴。如果關系R是第二范式,并且每個非主屬性都不傳遞依賴于R的候選鍵,則稱R為第三范式。(傳遞依賴:在關系模式中,如果Y→X,X→A,且X不決定Y、A不屬于X,那么Y→A是傳遞依賴。)本題中,關系S滿足第一范式和第二范式,但是S#→D#,D#→Da,存在傳遞依賴,因此不滿足第三范式。該關系滿足的最高范式是2NF。本題選擇B選項。
8.B在Python中,使用for…in…方式形成的循環(huán)能遍歷的類型有字符串、文件、range()函數(shù)或組合數(shù)據(jù)類型,不能遍歷復數(shù)。本題選擇B選項。
9.Dmin()函數(shù)返回給定參數(shù)的最小值,但是要求給定參數(shù)是可以比較的。若給定的參數(shù)不能比較,則會報錯;若給定參數(shù)存在多個最小元素,min()只會返回序列中最小的一個元素。故答案為D項。
10.B
11.A只有try語句塊中的語句正常執(zhí)行,不發(fā)生中斷或異常,else子句中的代碼才會執(zhí)行。本題選擇A選項。
12.C因為一個人可以操作多個計算機,而一臺計算機又可以被多個人使用,所以兩個實體之間是多對多的關系。本題選擇C選項。
13.
14.BA選項錯誤,可行性分析階段產生可行性分析報告。C選項錯誤,概要設計說明書是總體設計階段產生的文檔。D選項錯誤,集成測試計劃是在概要設計階段編寫的文檔。B選項正確,軟件需求規(guī)格說明書是后續(xù)工作如設計、編碼等需要的重要參考文檔。本題選擇B選項。
15.C程序中,將實參b的值傳給形參a,將實參a的值傳給形參b,則在函數(shù)體中c=2**2+10=14,函數(shù)返回14,則實參c=14+10=24;形參a和b在函數(shù)結束后會自動釋放,并沒有影響到實參a和b的值,故實參a仍然是10,實參b仍然是2。
16.DPython采用大寫字母、小寫字母、數(shù)字、下劃線和漢字等字符及其組合進行命名,但名字的首字符不能是數(shù)字,標識符中間不能出現(xiàn)空格,長度沒有限制。變量名不能與保留字相同。
17.D使用rmdir()刪除目錄之前要先清除其中所有的文件,否則會產生OSError錯誤。本題選擇D選項。
18.D遍歷列表letter,當i==‘D’時,執(zhí)行l(wèi)etter.remove(i),此時列表letter=[‘A’,‘B’,‘C’,‘D’,‘D’];再次遍歷列表letter,當i==‘D’時,執(zhí)行l(wèi)etter.remove(i),此時列表letter=[‘A’,‘B’,‘C’,‘D’]。因為列表中的元素隨著“D”元素的刪除而減少,當刪除第一個“D”元素之后,列表元素的個數(shù)變?yōu)?,for循環(huán)又是控制循環(huán)次數(shù)的,因此只遍歷5次;當?shù)诙€“D”元素刪除時,循環(huán)結束。本題選擇D選項。
19.D列表索引從0開始,所以ls[2]\n[1]指的是列表中索引為2的元素[[4,5,’ABC’],6]中索引為1的元素6,所以輸出結果是6。本題選擇D選項。
20.D
21.D這是一個Python的匿名函數(shù),是字符串連接輸出的一個函數(shù),即a+b+\nc的輸出。該函數(shù)有3個默認值參數(shù),在調用該函數(shù)時傳入了一個實參hi,根據(jù)函數(shù)的傳參要求可知參數(shù)a的值被改變,其他值不變。split()是一個字符串分隔的方法,把b根據(jù)0這個字符分隔為兩個字符串,且返回的是列表類型,訪問其中的元素需要用到索引訪問。所以結果是hi+n+world\n=hinworid,本題選擇D選項。
22.D列表沒有長度限制,元素類型可以不同,不需要預定義長度。列表可以進行元素的增加、刪除、替換、查找等操作。
23.B將實參age=43,famlyName=”趙”分別賦給形參age和famlyName,之后進入多分支結構進行判斷,因為40<age=43<50,執(zhí)行第一個elif后面的語句,用”+”進行字符串連接,故輸出“您好!趙阿姨”。本題選擇B選項。
24.D
25.B序列的索引序號從0開始編號,所以s=[1,”kate”,True]時,s[3]=0,返回False,A項錯誤。xins(如果x是s的元素,返回True;否則返回False);xnotins(如果x不是s的元素,返回True;否則返回False),B項正確、C項錯誤。序列類型使用的索引體系可以是正向遞增序號(從0開始遞增),也可以是反向遞減序號(從一1開始遞減),所以s[一1]=False,返回的是False,D項錯誤。
26.C比較a與b是否不相等的運算符是!=;a+=b等同于a=a+b;a//=b等同于a=a//b。
27.C一維數(shù)據(jù)由對等關系的有序或無序數(shù)據(jù)構成,采用線性方式組織;二維數(shù)據(jù),也稱表格數(shù)據(jù),由關聯(lián)關系數(shù)據(jù)構成,采用二維表格方式組織;高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構成,采用對象方式組織。故答案為C項。
28.C根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量指在函數(shù)內部定義的變量,僅在函數(shù)內部有效,且作用域也在函數(shù)內部,當函數(shù)退出時變量將不再存在。全局變量一般指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效,一般沒有縮進。全局變量和局部變量的命名可以相同。本題選擇C選項。
29.Copen()函數(shù)打開一個文件,并返回可以操作這個文件的變量txt,并且open()函數(shù)有兩個參數(shù):文件名和打開模式。本題只是打開了文件,并沒有對文件進行操作,因此不會輸出文件的內容。print(txt)語句輸出的是變量txt代表的文件的相關信息:<_io.TextIOWrappername=’family.txt’mode=’r’encoding=’cp936’>。若想要輸出文件的內容,需要把文件的內容讀人,如txt1=_txt.read()。本題選C選項。
30.B編程語言的異常和錯誤是兩個相似但不相同的概念。異常和錯誤都可能引起程序執(zhí)行錯誤而退出,它們屬于程序沒有考慮到的例外情況。
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(”對應的二進制數(shù):{0:b}\\n八進制數(shù):{0:o}\\n十六進制數(shù):{0:x}”.format(num))考查format()方法的使用。格式控制標記可以使用變量來表示,即用槽來指定對應的控制標記及數(shù)量,模板字符串在本題中總共有3個槽,即參數(shù)變量需要3個,但此時的參數(shù)只有一個,這里需要指定對應的變量。<類型\r\n>\r\n表示輸出整數(shù)和浮點數(shù)類型的格式規(guī)則。b表示二進制;o表示八進制;大寫的X表示大寫的十六進制。因此第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”文件中提取內容,輸出保存到文件“論語-原文.txt”中,因此需要用”r”模式打開“論語”txt”,用”\r\nw”模式創(chuàng)建文件“論語-原文.txt”。本題要求區(qū)域性提取,與單行提取不同,因此,可以借助寫標記flag來標記操作的是哪里的文本。使用for循環(huán)遍歷“論語.txt”中的每一行,當該行存在時,說明已經到了新的區(qū)域,寫標記設置為否,即flag\r\n=False;當該行存在【原文】時,寫標記設置為True;當寫標記為True時,就將當前行內容寫入新的文件”論語-原文.txt"中。對文件操作完成后,使用close()方法關閉文件。(2)題目要求對“論語-原文.txt”進一步提純,保存為“論語-提純原文.txt”文件,因此需要用”r”模式打開“論語-原文.txt”,用”\r\nw”模式創(chuàng)建文件“論語-提純原文.txt”。題目要求去掉每行文字中所有圓括號及內部數(shù)字,可在for循環(huán)遍歷“論語-原文.txt”文件中的每一行時,用空格來代替出現(xiàn)的“(數(shù)字)”形式。分析“論語-原文.txt”文件可知,其中出現(xiàn)(1)~(22)共22種可能,因此內部嵌套for循環(huán)需要從1遍歷到22,構造(i)并替換。替換后將該行內容寫入文件“論語-提純原文.txt”中。對文件操作完成后,使用close()方法關閉文件。
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個小寫英文字母中的任一個:’)\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('恭喜你答對了,總共猜了{}次',format(count))\r\n
break\r\nelifletter_input>letter\r\n
prinr('你輸入的字母排在該字母之后')\r\nelifletter_input<letter:\r\n
print('你輸入的字母排在該字母之前')\r\nelse\r\n
print('未知錯誤')隨機抽取26個小寫字母,需要使用Python的random庫中的函數(shù)。randint(a,b)方法生成一個[a,b]之間的整數(shù),用來隨機抽取列表中的字母。根據(jù)題目要求總體分為兩個方向:①輸入的字符不是小寫字母中的任一個字符,則輸出“請重新輸人字母”;②若輸入的字符在列表中,則判斷輸入的次數(shù)是否大于5,大于5則輸出“猜測超過5次,答題失敗”并退出循環(huán),在輸人次數(shù)之內,對輸入的字符與隨機抽取的字符進行比較,即大于、小于和等于,不同的比較范圍對應不同的輸出。廣東省惠州市全國計算機等級考試Python語言程序設計學校:________班級:________姓名:________考號:________
一、單選題(30題)1.下面屬于“對象”成分之一的是()。
A.封裝B.規(guī)則C.屬性D.繼承
2.以下代碼的輸出結果是()。ls=[”apple”,”red”,”orange”]deffunC(a):ls.append(a)returnfunC(”yellow”)print(ls)
A.[]
B.[”apple”,”red”,”orange”]
C.[“yellow”]
D.[”apple”,”red”,”orange”,”yellow”]
3.以下選項中不是Python文件目錄操作方法的是()。
A.split()B.rename()C.getcwd()D.rmdir()
4.以下關于數(shù)據(jù)維度的描述,錯誤的是()。
A.列表的索引值是大于0小于列表長度的整數(shù)
B.JSON格式可以表示比二維數(shù)據(jù)還復雜的高維數(shù)據(jù)
C.二維數(shù)據(jù)可以看成多條一維數(shù)據(jù)的組合形式
D.CSV文件既能保存一維數(shù)據(jù),也能保存二維數(shù)據(jù)
5.設有表示學生選課的3張表,學生S(學號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學號,課號,成績),則表SC的關鍵字(鍵或碼)為()。
A.課號,成績B.學號,成績C.學號,課號D.學號,姓名,成績
6.Is=[2,“apple”,[42,“yellow”,“misd”],1.2],表達式ls[2][-1][2]的結果是()。
A.mB.iC.sD.d
7.定義學生的關系模式如下:S(S#,Sn,Sex,Age,D#,Da(其屬性分別為學號、姓名、性別、年齡、所屬學院、院長)該關系滿足的最高范式是()。
A.1NFB.2NFC.3NFD.BCNF
8.在Python中,使用for—n…方式形成的循環(huán)不能遍歷的類型是()。
A.列表B.復數(shù)C.字符串D.字典
9.對于序列s,以下選項對min(s)描述正確的是()。
A.可以返回序列s中的最小元素,如果存在多個相同的最小元素,則返回一個列表類型
B.一定能夠返回序列s中的最小元素
C.可以返回序列s中的最小元素,如果存在多個相同的最小元素,則返回一個元組類型
D.可以返回序列s中的最小元素,但要求s中元素可比較
10.float('inf')<float('inf')+1執(zhí)行后的結果A.A.TrueB.False
11.以下關于程序的異常處理的描述中,錯誤的是()。
A.在try-except-else結構中,如果try塊的語句引發(fā)了異常則會執(zhí)行else塊中的代碼
B.異常處理結構中的finally塊中的代碼仍然有可能出錯從而再次引發(fā)異常
C.一般不建議在try中放太多代碼,而是應該只放入可能會引發(fā)異常的代碼
D.在異常處理結構中,不論是否發(fā)生異常,finally子句中的代碼總是會執(zhí)行的
12.—個工作人員可以使用多臺計算機,而一臺計算機可被多個人使用,則實體工作人員與實體計算機之間的聯(lián)系是()。
A.—對一B.—對多C.多對多D.多對一
13.下列關于Python的描述正確的是()。
A.條件2<=3<=5是合法的,輸出False
B.條件2<=3<=5是不合法的
C.條件2<=3<=5是合法的,輸出True
D.條件2<=3<=5是不合法的,會拋出異常
14.在軟件開發(fā)中,需求分析階段產生的主要文檔是()。
A.可行性分析報告B.軟件需求規(guī)格說明書C.概要設計說明書D.集成測試計劃
15.關于以下代碼的描述中,正確的是()。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í)行以下程序會發(fā)生什么操作()。importosos.rmdir(r‘C:\\A’)
A.刪除文件夾A,保留文件a.txt
B.刪除文件夾A和文件a.txt
C.刪除文件a.txt,保留文件夾A
D.OSError
18.以下程序的輸出結果是()。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.以下代碼的輸出結果是()。Is=[[1,2,3],’python’,[[4,5,’ABC’],6],[7,8]]print(ls[2][l])
A.'ABC'B.pC.4D.6
20.執(zhí)行以下代碼的結果是?A.20B.24C.30D.33
21.下面這條語句的輸出結果是()。f=(lambdaa="hello",b="python",c="world":a+b.split(“o")[1]+C)print(f("hi"))
A.hellopythonworldB.hipythworldC.hellonworldD.hinworld
22.下列關于Python列表的描述錯誤的是()。
A.列表元素可以被修改B.列表元素沒有長度限制C.列表元素的個數(shù)不限D.列表元素的數(shù)據(jù)類型必須一致
23.以下代碼的輸出結果是()。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ù)調用出錯
24.執(zhí)行以下代碼的結果是()A.2B.22C.23D.24
25.以下描述中,正確的是()。
A.如果s是一個序列,s=[1,”kate”,True],s[3]返回True
B.如果x不是s的元素,xnotins返回True
C.如果x是s的元素,xins返回1
D.如果s是一個序列,s=[1,”kate”,F(xiàn)alse],s[一1]返回True
26.下列關于Python運算符的使用描述正確的是()。
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.以下關于Python全局變量和局部變量的描述中,錯誤的是()。
A.局部變量在使用過后立即被釋放
B.全局變量一般沒有縮進
C.全局變量和局部變量的命名不能相同
D.—個程序中的變量包含兩類:全局變量和局部變量
29.文件family.txt在當前代碼所在目錄內,其內容是一段文本:Wearefamily,以下代碼的輸出結果是()。txt=open(”family.txt”,”r”)print(txt)txt.close()
A.txtB.family.txtC.非其他答案D.Wearefamily
30.以下關于程序的異常處理的描述中,錯誤的是()。
A.except語句后面可以指定異常類型
B.異常和錯誤是兩個相同的意思
C.帶有else子句的異常處理結構,當try中的語句塊正常執(zhí)行結束且沒有異常時執(zhí)行else子句中的代碼
D.異常處理機制雖然可以解決程序的一些錯誤,但不建議過度依賴
二、判斷題(10題)31.標準庫os的rename()方法可以實現(xiàn)文件移動操作。
A.是B.否
32.相同內容的字符串使用不同的編碼格式進行編碼得到的結果并不完全相同。
A.是B.否
33.元組可以作為字典的“鍵”。
A.是B.否
34.對于帶有else子句的循環(huán)語句,如果是因為循環(huán)條件表達式不成立而自然結束循環(huán),則執(zhí)行else子句中的代碼。
A.是B.否
35.在定義函數(shù)時,某個參數(shù)名字前面帶有兩個*符號表示可變長度參數(shù),可以接收任意多個關鍵參數(shù)并將其存放于一個字典之中。A.是B.否
36.帶有else子句的循環(huán)如果因為執(zhí)行了break語句而退出的話,則會執(zhí)行else子句中的代碼。
A.是B.否
37.如果定義類時沒有編寫析構函數(shù),Python將提供一個默認的析構函數(shù)進行必要的資源清理工作。
A.是B.否
38.繼承自threading.Thread類的派生類中不能有普通的成員方法。A.是B.否
39.在Python中定義函數(shù)時不需要聲明函數(shù)的返回值類型。
A.是B.否
40.Python集合中的元素不允許重復。
A.是B.否
三、填空題(10題)41.表達式sum(range(1,10,2))的值為____________。
42.表達式list(filter(lambdax:x>2,[0,1,2,3,0,0]))的值為_________。
43.Python擴展庫_____________支持Excel2007或更高版本文件的讀寫操作。
44.表達式list(filter(lambdax:len(x)>3,['a','b','abcd']))的值為___________。
45.表達式'abcab'.replace('a','yy')的值為___________。
46.Python擴展庫______________和______________提供了圖像處理功能。
47.表達式isinstance('Helloworld',str)的值為__________。
48.表達式list(map(list,zip(*[[1,2,3],[4,5,6]])))的值為________________。
49.表達式'abc10'.isalnum()的值為______________。
50.表達式[str(i)foriinrange(3)]的值為____________。
四、操作題(3題)51.考生文件夾下存在一個文件“PY103.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。用鍵盤輸入十進制整數(shù),按要求將這個整數(shù)轉換為二進制、八進制及十六進制(大寫)并輸出到屏幕。例如:輸入數(shù)字:425對應的二進制數(shù):110101001對應的八進制數(shù):651對應的十六進制數(shù):1A9試題程序:#請在_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼num=eval(input("輸入數(shù)字:"))print("對應的二進制數(shù):{_____(1)_____}\n八進制數(shù):{_____(2)_____}\n十六進制數(shù):{_____(3)_____}".format(num))試題答案:num=eval(input("輸入數(shù)字:”))Print(”對應的二進制數(shù):{0:b}\n八進制數(shù):{0:o}\n十六進制數(shù):{0:x}”.format(num))
52.考生文件夾下存在2個Python源文件和3個文本文件,分別對應兩個問題,請按照文件內說明修改代碼,實現(xiàn)以下功能?!墩撜Z》是儒家學派的經典著作之一,主要記錄了孔子及其弟子言行。這里給出了一個網(wǎng)絡版本的《論語》,文件名稱為“論語.txt”,其內容采用逐句“原文”與逐句“注釋”相結合的形式組織,通過【原文】標記《論語》原文內容,通過【注釋】標記《論語》注釋內容,具體格式請參考“論語.txt”文件。問題1:在“PY301-1.py”文件中修改代碼,提取“論語.txt”文件中的原文內容,輸出保存到考生文件夾下,文件名為“論語-原文.txt”。具體要求:僅保留“論語.txt”文件中所有【原文】標簽下面的內容,不保留標簽,并去掉每行行首空格及行尾空格,無空行。原文圓括號及內部數(shù)字是源文件中注釋內容的標記,請保留。文件輸出格式請參考“論語-原文-輸出示例.txt”文件。注意:輸出示例僅幫助考生了解輸出格式,不作它用。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準fi=open(“論語.txt",)fo=open(“論語-原文.txt",)…Forlineinfi:…fo.write(line.lstrip())問題2:在“PY301-2.py”文件中修改代碼,對“論語-原文.txt”或“論語.txt”文件進一步提純,去掉每行文字中所有圓括號及內部數(shù)字,保存為“論語-提純原文.txt”文件。文件輸出格式請參考“論語-提純原文-輸出示例.txt”文件。注意:示例輸出文件僅幫助考生了解輸出格式,不做它用。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準fi=open("論語-原文.txt",_____)fo=open("論語-提純原文.txt",_____)Forlineinfi:line=line.replace()
53.考生文件夾下存在一個文件PY301.py,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請按照源文件內部說明修改代碼,實現(xiàn)以下功能:
設計一個猜字母的程序,程序隨機給出26個小寫字母中的一個,答題者輸入猜測的字母,若輸入的不是26個小寫字母之一,讓用戶重新輸入;若字母在答案之前或之后,程序給出相應正確提示;若答錯5次,則答題失敗并退出游戲;若回答正確,程序輸出回答次數(shù)并退出游戲。
試題程序:
#以下代碼為提示框架
#請在…處使用一行或多行代碼替換
#請在______處使用一行代碼替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準
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面向對象方法中的對象由兩部分組成:①數(shù)據(jù),也稱為屬性,即對象所包含的信息,表示對象的狀態(tài);②方法,也稱為操作,即對象所能執(zhí)行的功能、所能具有的行為。本題選擇C選項。
2.D列表ls中有三個元素,函數(shù)funC(”yellow”),將”yellow”傳遞給形參a,用append()方法將a中內容添加到列表ls中,最后返回,故最終的ls=[”apple”,”red”,”orange”,”yellow”],print(ls),即將列表ls中的內容輸出。
3.Arename():給文件重命名;getcwd():得到當前工作目錄,即當前Python腳本工作的目錄路徑;rmdir():刪除目錄。split():按給出的分隔符分隔字符串,返回的是列表類型。
4.A列表的索引值也可以是負整數(shù),如1[-1]就代表列表1的最后一個元素。本題選擇A選項。
5.C學號是學生表S的主鍵,課號是課程表C的主鍵,所以選課表SC的關鍵字就應該是與前兩個表能夠直接聯(lián)系且能唯一定義的學號和課號,本題選擇C選項。
6.C列表中正向遞增索引從0開始,反向遞減索引從-1開始,ls[2][-1][2]指的是列表中索引為2的元素下的索引為-1元素下的索引為2的元素,輸出結果是s。本題選擇C選項。
7.B關系數(shù)據(jù)庫中的關系是要滿足一定要求的,滿足不同程度要求的為不同的范式。滿足最低要求的叫第一范式,簡稱1NF。在滿足第一范式的基礎上,進一步滿足更多要求的則是第二范式。在滿足第二范式的基礎上,還可以再滿足第三范式,以此類推。對于關系模式,若其中的每個屬性都已不能再分為簡單項,則它屬于第一范式。若某個關系R為第一范式,并且R中每一個非主屬性完全依賴于R的某個候選鍵,則稱其為第二范式。第二范式消除了非主屬性對主鍵的部分依賴。如果關系R是第二范式,并且每個非主屬性都不傳遞依賴于R的候選鍵,則稱R為第三范式。(傳遞依賴:在關系模式中,如果Y→X,X→A,且X不決定Y、A不屬于X,那么Y→A是傳遞依賴。)本題中,關系S滿足第一范式和第二范式,但是S#→D#,D#→Da,存在傳遞依賴,因此不滿足第三范式。該關系滿足的最高范式是2NF。本題選擇B選項。
8.B在Python中,使用for…in…方式形成的循環(huán)能遍歷的類型有字符串、文件、range()函數(shù)或組合數(shù)據(jù)類型,不能遍歷復數(shù)。本題選擇B選項。
9.Dmin()函數(shù)返回給定參數(shù)的最小值,但是要求給定參數(shù)是可以比較的。若給定的參數(shù)不能比較,則會報錯;若給定參數(shù)存在多個最小元素,min()只會返回序列中最小的一個元素。故答案為D項。
10.B
11.A只有try語句塊中的語句正常執(zhí)行,不發(fā)生中斷或異常,else子句中的代碼才會執(zhí)行。本題選擇A選項。
12.C因為一個人可以操作多個計算機,而一臺計算機又可以被多個人使用,所以兩個實體之間是多對多的關系。本題選擇C選項。
13.
14.BA選項錯誤,可行性分析階段產生可行性分析報告。C選項錯誤,概要設計說明書是總體設計階段產生的文檔。D選項錯誤,集成測試計劃是在概要設計階段編寫的文檔。B選項正確,軟件需求規(guī)格說明書是后續(xù)工作如設計、編碼等需要的重要參考文檔。本題選擇B選項。
15.C程序中,將實參b的值傳給形參a,將實參a的值傳給形參b,則在函數(shù)體中c=2**2+10=14,函數(shù)返回14,則實參c=14+10=24;形參a和b在函數(shù)結束后會自動釋放,并沒有影響到實參a和b的值,故實參a仍然是10,實參b仍然是2。
16.DPython采用大寫字母、小寫字母、數(shù)字、下劃線和漢字等字符及其組合進行命名,但名字的首字符不能是數(shù)字,標識符中間不能出現(xiàn)空格,長度沒有限制。變量名不能與保留字相同。
17.D使用rmdir()刪除目錄之前要先清除其中所有的文件,否則會產生OSError錯誤。本題選擇D選項。
18.D遍歷列表letter,當i==‘D’時,執(zhí)行l(wèi)etter.remove(i),此時列表letter=[‘A’,‘B’,‘C’,‘D’,‘D’];再次遍歷列表letter,當i==‘D’時,執(zhí)行l(wèi)etter.remove(i),此時列表letter=[‘A’,‘B’,‘C’,‘D’]。因為列表中的元素隨著“D”元素的刪除而減少,當刪除第一個“D”元素之后,列表元素的個數(shù)變?yōu)?,for循環(huán)又是控制循環(huán)次數(shù)的,因此只遍歷5次;當?shù)诙€“D”元素刪除時,循環(huán)結束。本題選擇D選項。
19.D列表索引從0開始,所以ls[2]\n[1]指的是列表中索引為2的元素[[4,5,’ABC’],6]中索引為1的元素6,所以輸出結果是6。本題選擇D選項。
20.D
21.D這是一個Python的匿名函數(shù),是字符串連接輸出的一個函數(shù),即a+b+\nc的輸出。該函數(shù)有3個默認值參數(shù),在調用該函數(shù)時傳入了一個實參hi,根據(jù)函數(shù)的傳參要求可知參數(shù)a的值被改變,其他值不變。split()是一個字符串分隔的方法,把b根據(jù)0這個字符分隔為兩個字符串,且返回的是列表類型,訪問其中的元素需要用到索引訪問。所以結果是hi+n+world\n=hinworid,本題選擇D選項。
22.D列表沒有長度限制,元素類型可以不同,不需要預定義長度。列表可以進行元素的增加、刪除、替換、查找等操作。
23.B將實參age=43,famlyName=”趙”分別賦給形參age和famlyName,之后進入多分支結構進行判斷,因為40<age=43<50,執(zhí)行第一個elif后面的語句,用”+”進行字符串連接,故輸出“您好!趙阿姨”。本題選擇B選項。
24.D
25.B序列的索引序號從0開始編號,所以s=[1,”kate”,True]時,s[3]=0,返回False,A項錯誤。xins(如果x是s的元素,返回True;否則返回False);xnotins(如果x不是s的元素,返回True;否則返回False),B項正確、C項錯誤。序列類型使用的索引體系可以是正向遞增序號(從0開始遞增),也可以是反向遞減序號(從一1開始遞減),所以s[一1]=False,返回的是False,D項錯誤。
26.C比較a與b是否不相等的運算符是!=;a+=b等同于a=a+b;a//=b等同于a=a//b。
27.C一維數(shù)據(jù)由對等關系的有序或無序數(shù)據(jù)構成,采用線性方式組織;二維數(shù)據(jù),也稱表格數(shù)據(jù),由關聯(lián)關系數(shù)據(jù)構成,采用二維表格方式組織;高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構成,采用對象方式組織。故答案為C項。
28.C根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量指在函數(shù)內部定義的變量,僅在函數(shù)內部有效,且作用域也在函數(shù)內部,當函數(shù)退出時變量將不再存在。全局變量一般指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效,一般沒有縮進。全局變量和局部變量的命名可以相同。本題選擇C選項。
29.Copen()函數(shù)打開一個文件,并返回可以操作這個文件的變量txt,并且open()函數(shù)有兩個參數(shù):文件名和打開模式。本題只是打開了文件,并沒有對文件進行操作,因此不會輸出文件的內容。print(txt)語句輸出的是變量txt代表的文件的相關信息:<_io.TextIOWrappername=’family.txt’mode=’r’encoding=’cp936’>。若想要輸出文件的內容,需要把文件的內容讀人,如txt1=_txt.read()。本題選C選項。
30.B編程語言的異常和錯誤是兩個相似但不相同的概念。異常和錯誤都可能引起程序執(zhí)行錯誤而退出,它們屬于程序沒有考慮到的例外情況。
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(”對應的二進制數(shù):{0:b}\\n八進制數(shù):{0:o}\\n十六進制數(shù):{0:x}”.format(num))考查format()方法的使用。格式控制標記可以使用變量來表示,即用槽來指定對應的控制標記及數(shù)量,模板字符串在本題中總共有3個槽,即參數(shù)變量需要3個,但此時的參數(shù)只有一個,這里需要指定對應的變量。<類型\r\n>\r\n表示輸出整數(shù)和浮點數(shù)類型的格式規(guī)則。b表示二進制;o表示八進制;大寫的X表示大寫的十六進制。因此第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”文件中提取內容,輸出保存到文件“論語-原文.txt”中,因此需要用”r”模式打開“論語”txt”,用”\r\nw”模式創(chuàng)建文件“論語-原文.txt”。本題要求區(qū)域性提取,與單行提取不同,因此,可以借助寫標記flag來標記操作的是哪里的文本。使用for循環(huán)遍歷“論語.txt”中的每一行,當該行存在時,說明已經到了新的區(qū)域,寫標記設置為否,即flag\r\n=False;當該行存在【原文】時,寫標記設置為True;當寫標記為True時,就將當前行內容寫入新的文件”論語-原文.txt"中。對文件操作完成后,使用close()方法關閉文件。(2)題目要求對“論語-原文.txt”進一步提純,保存為“論語-提純原文.txt”文件,因此需要用”r”模式打開“論語-原文.txt”,用”\r\nw”模式創(chuàng)建文件“論語-提純原文.txt”。題目要求去掉每行文字中所有圓括號及內部數(shù)字,可在for循環(huán)遍歷“論語-原文.txt”文件中的每一行時,用空格來代替出現(xiàn)的“(數(shù)字)”形式。分析“論語-原文.txt”文件可知,其中出現(xiàn)(1)~(22)共22種可能,因此內部嵌套for循環(huán)需要從1遍歷到22,構造(i)并替換。替換后將該行內容寫入文件“論語-提純原文.txt”中。對文件操作完成后,使用close()方法關閉文件。
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個小寫英文字母中的任一個:’)\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('恭喜你答對了,總共猜了{}次',format(count))\r\n
break\r\nelifletter_input>letter\r\n
prinr('你輸入的字母排在該字母之后')\r\nelifletter_input<letter:\r\n
print('你輸入的字母排在該字母之前')\r\nelse\r\n
print('未知錯誤')隨機抽取26個小寫字母,需要使用Python的random庫中的函數(shù)。randint(a,b)方法生成一個[a,b]之間的整數(shù),用來隨機抽取列表中的字母。根據(jù)題目要求總體分為兩個方向:①輸入的字符不是小寫字母中的任一個字符,則輸出“請重新輸人字母”;②若輸入的字符在列表中,則判斷輸入的次數(shù)是否大于5,大于5則輸出“猜測超過5次,答題失敗”并退出循環(huán),在輸人次數(shù)之內,對輸入的字符與隨機抽取的字符進行比較,即大于、小于和等于,不同的比較范圍對應不同的輸出。廣東省惠州市全國計算機等級考試Python語言程序設計學校:________班級:________姓名:________考號:________
一、單選題(30題)1.下面屬于“對象”成分之一的是()。
A.封裝B.規(guī)則C.屬性D.繼承
2.以下代碼的輸出結果是()。ls=[”apple”,”red”,”orange”]deffunC(a):ls.append(a)returnfunC(”yellow”)print(ls)
A.[]
B.[”apple”,”red”,”orange”]
C.[“yellow”]
D.[”apple”,”red”,”orange”,”yellow”]
3.以下選項中不是Python文件目錄操作方法的是()。
A.split()B.rename()C.getcwd()D.rmdir()
4.以下關于數(shù)據(jù)維度的描述,錯誤的是()。
A.列表的索引值是大于0小于列表長度的整數(shù)
B.JSON格式可以表示比二維數(shù)據(jù)還復雜的高維數(shù)據(jù)
C.二維數(shù)據(jù)可以看成多條一維數(shù)據(jù)的組合形式
D.CSV文件既能保存一維數(shù)據(jù),也能保存二維數(shù)據(jù)
5.設有表示學生選課的3張表,學生S(學號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學號,課號,成績),則表SC的關鍵字(鍵或碼)為()。
A.課號,成績B.學號,成績C.學號,課號D.學號,姓名,成績
6.Is=[2,“apple”,[42,“yellow”,“misd”],1.2],表達式ls[2][-1][2]的結果是()。
A.mB.iC.sD.d
7.定義學生的關系模式如下:S(S#,Sn,Sex,Age,D#,Da(其屬性分別為學號、姓名、性別、年齡、所屬學院、院長)該關系滿足的最高范式是()。
A.1NFB.2NFC.3NFD.BCNF
8.在Python中,使用for—n…方式形成的循環(huán)不能遍歷的類型是()。
A.列表B.復數(shù)C.字符串D.字典
9.對于序列s,以下選項對min(s)描述正確的是()。
A.可以返回序列s中的最小元素,如果存在多個相同的最小元素,則返回一個列表類型
B.一定能夠返回序列s中的最小元素
C.可以返回序列s中的最小元素,如果存在多個相同的最小元素,則返回一個元組類型
D.可以返回序列s中的最小元素,但要求s中元素可比較
10.float('inf')<float('inf')+1執(zhí)行后的結果A.A.TrueB.False
11.以下關于程序的異常處理的描述中,錯誤的是()。
A.在try-except-else結構中,如果try塊的語句引發(fā)了異常則會執(zhí)行else塊中的代碼
B.異常處理結構中的finally塊中的代碼仍然有可能出錯從而再次引發(fā)異常
C.一般不建議在try中放太多代碼,而是應該只放入可能會引發(fā)異常的代碼
D.在異常處理結構中,不論是否發(fā)生異常,finally子句中的代碼總是會執(zhí)行的
12.—個工作人員可以使用多臺計算機,而一臺計算機可被多個人使用,則實體工作人員與實體計算機之間的聯(lián)系是()。
A.—對一B.—對多C.多對多D.多對一
13.下列關于Python的描述正確的是()。
A.條件2<=3<=5是合法的,輸出False
B.條件2<=3<=5是不合法的
C.條件2<=3<=5是合法的,輸出True
D.條件2<=3<=5是不合法的,會拋出異常
14.在軟件開發(fā)中,需求分析階段產生的主要文檔是()。
A.可行性分析報告B.軟件需求規(guī)格說明書C.概要設計說明書D.集成測試計劃
15.關于以下代碼的描述中,正確的是()。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í)行以下程序會發(fā)生什么操作()。importosos.rmdir(r‘C:\\A’)
A.刪除文件夾A,保留文件a.txt
B.刪除文件夾A和文件a.txt
C.刪除文件a.txt,保留文件夾A
D.OSError
18.以下程序的輸出結果是()。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.以下代碼的輸出結果是()。Is=[[1,2,3],’python’,[[4,5,’ABC’],6],[7,8]]print(ls[2][l])
A.'ABC'B.pC.4D.6
20.執(zhí)行以下代碼的結果是?A.20B.24C.30D.33
21.下面這條語句的輸出結果是()。f=(lambdaa="hello",b="python",c="world":a+b.split(“o")[1]+C)print(f("hi"))
A.hellopythonworldB.hipythworldC.hellonworldD.hinworld
22.下列關于Python列表的描述錯誤的是()。
A.列表元素可以被修改B.列表元素沒有長度限制C.列表元素的個數(shù)不限D.列表元素的數(shù)據(jù)類型必須一致
23.以下代碼的輸出結果是()。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ù)調用出錯
24.執(zhí)行以下代碼的結果是()A.2B.22C.23D.24
25.以下描述中,正確的是()。
A.如果s是一個序列,s=[1,”kate”,True],s[3]返回True
B.如果x不是s的元素,xnotins返回True
C.如果x是s的元素,xins返回1
D.如果s是一個序列,s=[1,”kate”,F(xiàn)alse],s[一1]返回True
26.下列關于Python運算符的使用描述正確的是()。
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.以下關于Python全局變量和局部變量的描述中,錯誤的是()。
A.局部變量在使用過后立即被釋放
B.全局變量一般沒有縮進
C.全局變量和局部變量的命名不能相同
D.—個程序中的變量包含兩類:全局變量和局部變量
29.文件family.txt在當前代碼所在目錄內,其內容是一段文本:Wearefamily,以下代碼的輸出結果是()。txt=open(”family.txt”,”r”)print(txt)txt.cl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 花椒樹提質增效施工方案
- 疫情期間農村施工方案
- 詔安縣防滑涂層施工方案
- 聚合物乳液防水施工方案
- 蘇州常見異形螺栓施工方案
- 礦粉加工施工方案
- 長葛市外墻施工方案
- 山西廣場瓷磚養(yǎng)護施工方案
- 野外鐵塔保護帽施工方案
- 2025年散熱器總成項目可行性研究報告
- 第2課《濟南的冬天》課件-2024-2025學年統(tǒng)編版語文七年級上冊
- 2024年水利工程高級工程師理論考試題庫(濃縮400題)
- 增強現(xiàn)實技術在藝術教育中的應用
- TD/T 1060-2021 自然資源分等定級通則(正式版)
- 《創(chuàng)傷失血性休克中國急診專家共識(2023)》解讀
- 倉庫智能化建設方案
- 海外市場開拓計劃
- 供應鏈組織架構與職能設置
- 幼兒數(shù)學益智圖形連線題100題(含完整答案)
- 七上-動點、動角問題12道好題-解析
- 2024年九省聯(lián)考新高考 數(shù)學試卷(含答案解析)
評論
0/150
提交評論