




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
甘肅省隴南市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.在Python中,以下表達式結(jié)果為False的選項是()。
A.”CD”<”CDFG"B.”DCBA"<”DC”C.“”<’G’D.”L0VE”>”love”
2.下面代碼的意義是()。>>>car='BWM’>>>Id(car)
A.查看變量所占的位數(shù)B.轉(zhuǎn)換成布爾值C.查看變量在內(nèi)存中的地址D.把變量中的元素隨機排列
3.以下變量名中,符合Python變量命名規(guī)則的是()。
A.33_keywordB.key@word33_C.nonlocalD._33keyword
4.以下關(guān)于數(shù)據(jù)維度的描述,錯誤的是()。
A.—維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織,對應(yīng)于數(shù)學(xué)中的集合或數(shù)組的概念
B.二維數(shù)據(jù)由關(guān)聯(lián)關(guān)系構(gòu)成,采用表格方式組織,對應(yīng)于數(shù)學(xué)中的矩陣
C.高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)組成,采用對象方式組織
D.—維數(shù)據(jù)由對等關(guān)系的有序數(shù)據(jù)構(gòu)成,無序數(shù)據(jù)不是一維數(shù)據(jù)
5.設(shè)二叉樹的中序序列為BCDA,前序序列為ABCD,則后序序列為()。
A.CBDAB.DCBAC.BCDAD.ACDB
6.下面代碼的輸出結(jié)果是()。n=2deff(a):n=bool(a-2)returnnb=f(2)print(n,b)
A.20
B.0True
C.2False
D.0False
7.Python讀取文件中一行內(nèi)容的操作是()。
A.readtextB.readlineC.readallD.read
8.在Python中,包含矩陣運算的第三方庫是()。
A.NumPyB.PyQt5C.wordcloudD.wxPython
9.表達式list(map(lambdax:x*2,[1,2,3,4,’hi’]))的返回值是()
A.[1,2,3,4,’hi’]
B.[2,4,6,8,'hihi']
C.[2,4,6,8,'hi','hi']
D.異常
10.以下代碼的輸出結(jié)果是()。S='Pame’Foriinrange(len(S)):print(S[-i],end=”")
A.PameB.emaPC.amePD.Pema
11.循環(huán)隊列的存儲空間為Q(l:50)。經(jīng)過一系列正常的入隊與退隊操作后,front=rear=25。然后又成功地將一個元素退隊,此時隊列中的元素個數(shù)為()。
A.24B.49C.26D.0
12.以下程序的輸出結(jié)果是()。x=10y=0if(x>5)or(x/y>5): print(‘Right’)else: print(‘Wrong’)
A.RightB.WrongC.報錯:ZeroDivisionErrorD.不報錯,但不輸出任何結(jié)果
13.以下程序的輸出結(jié)果是()。f=lambdax,y:xifx<yelseya=f(“aa”,“bb”)b=f(“bb”,“aa”)print(a,b)
A.aaaaB.aabbC.bbaaD.bbbb
14.以下關(guān)于程序的異常處理的描述中,錯誤的是()。
A.—旦代碼拋出異常并且沒有得到正確的處理,整個程序會崩潰,并且不會繼續(xù)執(zhí)行后面的代碼
B.—般不建議在try中放太多代碼,而是應(yīng)該只放入可能會引發(fā)異常的代碼
C.帶有else子句的異常處理結(jié)構(gòu),如果不發(fā)生異常則執(zhí)行else子句中的代碼
D.在try-except-else結(jié)構(gòu)中,如果try子句的語句引發(fā)了異常,貝!]會執(zhí)行else子句中的代碼
15.以下關(guān)于函數(shù)優(yōu)點的描述中,正確的是()。
A.函數(shù)可以表現(xiàn)程序的復(fù)雜度B.函數(shù)可以使程序更加模塊化C.函數(shù)可以減少代碼多次使用D.函數(shù)便于書寫
16.一間宿舍可住多個學(xué)生,則實體宿舍和學(xué)生之間的聯(lián)系是()。
A.一對一B.一對多C.多對一D.多對多
17.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程
B.軟件從需求分析、設(shè)計、實現(xiàn)到測試完成的過程
C.軟件的開發(fā)過程
D.軟件的運行維護過程
18.以下程序的輸出結(jié)果是()。try:print((3+4j)*(3-4j))except:print(”運算錯誤!!”)
A.(25+0j)B.5C.運算錯誤!!D.3
19.假設(shè)有一個包含一個函數(shù)的程序放在一個文件中,在主程序文件中使用下面各種方法來導(dǎo)入它,方法錯誤的是()。
A.importmodule
B.frommoduleasfimportfunction
C.importmoduleasm
D.frommoduleimport*
20.下列敘述中正確的是()。
A.順序存儲結(jié)構(gòu)的存儲一定是連續(xù)的,鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空間不一定是連續(xù)的
B.順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈?zhǔn)酱鎯Y(jié)構(gòu)只針對非線性結(jié)構(gòu)
C.順序存儲結(jié)構(gòu)能存儲有序表,鏈?zhǔn)酱鎯Y(jié)構(gòu)不能存儲有序表
D.鏈?zhǔn)酱鎯Y(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間
21.''[0:4]該表達使用了Python的特性()
A.IndexingB.SlicingC.PathD.Multi-Indexing
22.以下程序的輸出結(jié)果是()。
A.LOVESB.********LOVESC.LOVES********D.****LOVES****
23.以下關(guān)于Python循環(huán)結(jié)構(gòu)的描述中,錯誤的是()。
A.while循環(huán)使用關(guān)鍵字continue結(jié)束本次循環(huán)
B.while循環(huán)可以使用保留字break和continue
C.while循環(huán)也叫遍歷循環(huán),用來遍歷序列中的元素,默認(rèn)提取每個元素并執(zhí)行一次循環(huán)體
D.while循環(huán)使用pass語句,則什么事也不做,只是空占位語句
24.若I,j均為整形數(shù)值對象,以下哪個語句計算i被j除后的余數(shù)()
A.imodjB.i/jC.i%jD.i//j
25.一個棧的初始狀態(tài)為空?,F(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棧的順序是()。
A.12345ABCDEB.EDCBA54321C.ABCDE12345D.54321EDCBA
26.在供應(yīng)關(guān)系中,實體供應(yīng)商和實體零件之間的聯(lián)系是()。
A.多對多B.一對一C.多對一D.一對多
27.在Python中,讀入CSV文件保存的二維數(shù)據(jù),按特定分隔符抽取信息,最可能用到的函數(shù)是()。
A.read()B.join()C.replace()D.split()
28.對于以下代碼的描述正確的是()。s=”Pythonisgood"1="isn’tit?"length=len(s)s_title=s.title()s_l=s+1s_number=s[1:6]print(length)
A.length為12
B.s_title為”PYTHONISGOOD”
C.s_l為”Pythonisgoodisn’tit?”
D.s_number為”Python”
29.關(guān)于Python元組類型,以下選項中描述錯誤的是()。
A.元組不可以被修改
B.Python中元組使用圓括號和逗號表示
C.元組中的元素要求是相同類型
D.一個元組可以作為另一個元祖的元素,可以采用多級索引獲取信息
30.Python提供3種基本的數(shù)字類型,它們是()。
A.整數(shù)類型、二進制類型、浮點數(shù)類型
B.整數(shù)類型、浮點數(shù)類型、復(fù)數(shù)類型
C.整數(shù)類型、二進制類型、復(fù)數(shù)類型
D.二進制類型、浮點數(shù)類型、復(fù)數(shù)類型
二、判斷題(10題)31.定義類時所有實例方法的第一個參數(shù)用來表示對象本身,在類的外部通過對象名來調(diào)用實例方法時不需要為該參數(shù)傳值。
A.是B.否
32.在GUI設(shè)計中,復(fù)選框往往用來實現(xiàn)非互斥多選的功能,多個復(fù)選框之間的選擇互不影響。
A.是B.否
33.表達式pow(3,2)==3**2的值為True。
A.是B.否
34.在定義函數(shù)時,某個參數(shù)名字前面帶有一個*符號表示可變長度參數(shù),可以接收任意多個普通實參并存放于一個元組之中。
A.是B.否
35.Python變量名區(qū)分大小寫,所以student和Student不是同一個變量。
A.是B.否
36.函數(shù)內(nèi)部定義的局部變量當(dāng)函數(shù)調(diào)用結(jié)束后被自動刪除。
A.是B.否
37.執(zhí)行語句frommathimportsin之后,可以直接使用sin()函數(shù),例如sin(3)。A.是B.否
38.假設(shè)re模塊已成功導(dǎo)入,并且有pattern=pile('^'+'\.'.join([r'\d{1,3}'foriinrange(4)])+'$'),那么表達式pattern.match('03')的值為None。
A.是B.否
39.在Python中可以使用id作為變量名,盡管不建議這樣做。
A.是B.否
40.使用普通文本編輯器軟件也可以正常查看二進制文件的內(nèi)容。
A.是B.否
三、填空題(10題)41.運算符%__________(可以/不可以)對浮點數(shù)進行求余數(shù)操作。
42.已知列表x=[1,2],那么連續(xù)執(zhí)行命令y=x[:]和y.append(3)之后,x的值為________。
43.列表對象的sort()方法用來對列表元素進行原地排序,該函數(shù)返回值為
。
44.正則表達式元字符________用來表示該符號前面的字符或子模式0次或多次出現(xiàn)。
45.Python標(biāo)準(zhǔn)庫os.path中用來判斷指定文件是否存在的方法是______________。
46.正則表達式模塊re的______________方法用來在字符串開始處進行指定模式的匹配。
47.Python中定義函數(shù)的關(guān)鍵字是_________________。
48.已知x={1:2},那么執(zhí)行語句x[2]=3之后,x的值為________________。
49.表達式3notin[1,2,3]的值為__________。
50.表達式len(range(1,10))的值為___________。
四、操作題(3題)51.考生文件夾下存在一個文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請在該文件中編寫代碼,以實現(xiàn)如下功能。用鍵盤輸入兩個大于0的整數(shù),按要求輸出這兩個整數(shù)之間(不包括這兩個整數(shù))的所有素數(shù)。素數(shù)又稱質(zhì)數(shù),是指除了1和它本身以外不能被其他整數(shù)整除的數(shù)。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)lower=int(input(‘輸入?yún)^(qū)間最小值:’))upper=int(inputs(‘輸入?yún)^(qū)間最大值:’))fornuminrange(_____,_____):
52.考生文件夾下存在一個文件“PY101.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。用鍵盤輸入正整數(shù)n,按要求把n輸出到屏幕。
格式要求:寬度為30個字符,以@填充,右對齊,帶千位分隔符。如果輸入的正整數(shù)超過30位,則按照真實長度輸出。例如:用鍵盤輸入的正整數(shù)n為5201314,屏幕輸出@@@@@@@@@@@@@@@5,201,314
試題程序:
#請在程序的處使用一行代碼或表達式替換
#注意:請不要修改其他已給出代碼
n=eval(input("請輸入正整數(shù)”))print("{_____}".format(n))
53.考生文件夾下存在3個Python源文件,分別對應(yīng)3個問題;1個文本文件,作為本題目的輸入數(shù)據(jù),請按照源文件內(nèi)部說明修改代碼,實現(xiàn)以下功能?!顿u火柴的小女孩》是丹麥童話故事作家安徒生寫的一篇童話故事,發(fā)表于1846年。主要講了一個賣火柴的小女孩在富人闔家歡樂、舉杯共慶的大年夜凍死在街頭的故事。這里給出《賣火柴的小女孩》的一個網(wǎng)絡(luò)版本文件,文件名為“小女孩.txt”。問題1:在“PY301-1.py”文件中修改代碼,對“小女孩.txt”文件進行字符頻次統(tǒng)計,輸出頻次最高的中文字符(不包含標(biāo)點符號)及其頻次,字符與頻次之間采用英文冒號(:)分隔,將輸出結(jié)果保存在考生文件夾下,命名為“PY301-l.txt”。示例格式如下。的:83試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)…fo=open("PY301-1.txt","w")d={}fo.write("{}:{}".format(_____))fo.close()問題L在“PY301-2.Py”文件中修改代碼,對“小女孩.txt”文件進行字符頻次統(tǒng)計,按照頻次由高到低,輸出前10個頻次最高的字符,不包含回車符,字符之間無間隔,連續(xù)輸出,將輸出結(jié)果保存在考生文件夾下,命名為“PY301-2.txt”。示例格式如下。,的一...(共10個字符)試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fo=open("PY301-2.txt",”w”)…d={}…Is=list(d.items())ls.sort(key=lambdax:x[l],reverse=True)#此行可以按照字符頻次由高到低排序…問題3:在PY301-3.py文件中修改代碼,對“小女孩.txt”文件進行字符頻次統(tǒng)計,將所有字符按照頻次從高到低排序,字符包括中文、標(biāo)點、英文等,但不包含空格符和回車符。將排序后的字符及頻次輸出到考生文件夾下,文件名為“小女孩-頻次排序.txt”。字符與頻次之間采用英文冒號(:)分隔,各字符之間采用英文逗號(,)分隔,參考CSV格式,最后無逗號,文件內(nèi)部示例格式如下。著:30,那:29,火:29試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)…d={}…Is=list(d.items())Is.sort(key=lambdax:x[1]#reverse=True)#此行可以按照字符頻次由高到低排序
參考答案
1.B字符串比較規(guī)則:從第一個字符開始,一一對應(yīng)比較編碼大小;當(dāng)?shù)谝粋€字符串的全部字符和另一個字符串的前部分字符相同時,長度長的字符串為大。本題選擇B選項。
2.Cid(x)是Python中的內(nèi)置函數(shù),用來查看變量在內(nèi)存中的地址。本題選擇C選項。
3.DPython采用大寫字母、小寫字母、數(shù)字、下劃線和漢字等字符及其組合進行命名,但名字的首字符不能是數(shù)字,標(biāo)識符中間不能出現(xiàn)空格,長度沒有限制。變量名不能與保留字相同。本題選擇D選項。
4.D任何可以以序列或集合表示的內(nèi)容都可以看作一維數(shù)據(jù)。本題選擇D選項。
5.B二叉樹的前序序列為ABCD,由于前序遍歷首先訪問根節(jié)點,可以確定該二叉樹的根節(jié)點是A。再由中序序列為BCDA,可知以A為根節(jié)點的該二叉樹只存在左子樹,不存在右子樹,故后序序列為DCBA。本題答案為B選項。
6.C這段代碼是全局變量、局部變量以及Python內(nèi)置函數(shù)bool()的一個結(jié)合。在函數(shù)內(nèi)部的局部變量名和函數(shù)外部全局變量名相同時,調(diào)用函數(shù)時,總是先找到函數(shù)內(nèi)部的局部變量名,所以當(dāng)a為2時,經(jīng)過布爾型轉(zhuǎn)換之后的a\r\n-2,即b為False,而在函數(shù)外部只能訪問全局變量名,所以n仍為2,本題選擇C選項。
7.B在Python中,文件的讀取方法(f代表文件變量)如下。f.read():從文件中讀入整個文件的內(nèi)容。f.readline():從文件中讀入一行內(nèi)容。f.readlines():從文件中讀入所有行,以每行為元素形成一個列表。f.seek():改變當(dāng)前文件操作指針的位置。本題選擇B選項。
8.ANumPy是Python的一種開源數(shù)值計算擴展第三方庫,用于處理數(shù)據(jù)類型相同的多維數(shù)組,簡稱“數(shù)組”。NrnnPy可以用來存儲和處理大型矩陣,其提供了許多髙級的數(shù)組編程工具,如矩陣運算、矢量處理、N維數(shù)據(jù)變換等。本題選擇A選項。
9.B
10.Drange()函數(shù)的語法格式為range(\nstart,stop,step),作用是生成一個從start參數(shù)的值開始,到stop參數(shù)的值結(jié)束的數(shù)字序列(注意不包含參數(shù)stop)\n,step是步進參數(shù)。一般默認(rèn)start為0,步進step=1,如range(5),生成0、1、2、3、4。len(3)=4,foriin\nrange(4)表示i從0開始取值,當(dāng)i=0時,print(S[0],end=”'),輸出P;當(dāng)i=1時,print(S[-1],end=””),輸出e;當(dāng)i=2時,print(S[-2],end=\n””),輸出m;當(dāng)i=3時,print(S[-3],end=''),輸出a。故代碼輸出結(jié)果為Pema。本題選擇D選項。
11.B當(dāng)front=\nrear時可知隊列要么為空要么為滿,因為又成功地將一個元素退隊,說明之前隊列為滿(為空時隊列中無元素),退出一個元素后隊列中還有50-1\n=49個元素。本題選擇B選項。
12.A在Python中,or表示多個條件之間的“或”關(guān)系。xory,若x為True,則xory的結(jié)果為True,不再對y進行判斷。本題中,x>5為True,故(x>5)or(x/y>5)的結(jié)果為True,輸出結(jié)果為Right。本題選擇A選項。
13.Alambda關(guān)鍵字用來定義匿名函數(shù),語法為<函數(shù)名>=lambda<參數(shù)列表>:<表達式>。本題比較字符串大小,因為aa<bb,所以輸出均為aa。本題選擇A選項。
14.D程序的異常處理模塊,若try語句塊中的代碼異常,則進入except語句塊中,執(zhí)行該處的代碼;沒有異常時,直接執(zhí)行與try語句塊同級的代碼或者是else后面的代碼。本題選擇D選項。
15.B函數(shù)定義:函數(shù)是指一組語句的集合通過一個名字(函數(shù)名)封裝起來,要想執(zhí)行這個函數(shù),只需要調(diào)用其函數(shù)名即可。函數(shù)能提高應(yīng)用的模塊性和代碼的重復(fù)利用率。本題選B選項。
16.B解析:兩個實體間的聯(lián)系可以歸納為3種類型:一對一聯(lián)系:一對一的聯(lián)系表現(xiàn)為主表中的每一條記錄只與相關(guān)表中的一條記錄相關(guān)聯(lián)。一對多聯(lián)系或多對一:一對多的聯(lián)系表現(xiàn)為主表中的每一條記錄與相關(guān)表中的多條記錄相關(guān)聯(lián)。多對多聯(lián)系:多對多的聯(lián)系表現(xiàn)為一個表中的多個記錄在相關(guān)表中同樣有多個記錄與其匹配。一間宿舍可以住多個學(xué)生,但每個學(xué)生只能住一個宿舍,所以實體宿舍和學(xué)生之間的聯(lián)系為一對多的聯(lián)系。
17.A通常,將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期。也就是說,軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個時期都屬于軟件生命周期。
18.A(3+4j)*(3-4j)是復(fù)數(shù)的乘法運算。設(shè)c1=a+bj,c2=c+dj(a、b、c、d均為實數(shù)),c1*c2=\n(ac-bd)+(bc+ad)j0結(jié)果是(25+0j)。本題選擇A選項。
19.BD選項用于導(dǎo)入模塊中所有的函數(shù)從而直接調(diào)用該模塊中的函數(shù);A選項直接導(dǎo)入整個模塊,再利用“模塊名.函數(shù)名”這樣的方式來運行該模塊中的函數(shù);C選項只是在導(dǎo)入該模塊時給該模塊起了一個別名,本質(zhì)和A選項一樣。B選項正確的寫法應(yīng)該是from\nmoduleimportfunctionasf,本題選擇B選項。
20.A鏈?zhǔn)酱鎯Y(jié)構(gòu)既可以針對線性結(jié)構(gòu)也可以針對非線性結(jié)構(gòu),所以選項B,C錯誤。鏈?zhǔn)酱鎯Y(jié)構(gòu)中每個結(jié)點都由數(shù)據(jù)域與指針域兩部分組成,增加了存儲空間,所以D選項錯誤。本題選擇A選項。
21.B
22.D本題考查的是字符串輸出格式化知識點,其中”{:*13}'表示輸出的字符串長度為13,居中對齊,空白處用“填充。最后輸出的是***\n*L0VES****,本題選擇D選項。
23.CPython中循環(huán)包括兩種:遍歷循環(huán)和無限循環(huán)。遍歷循環(huán)使用關(guān)鍵字for依次提取遍歷結(jié)構(gòu)元素進行處理;無限循環(huán)使用關(guān)鍵字while根據(jù)判斷條件執(zhí)行程序。循環(huán)結(jié)構(gòu)有兩個輔助循環(huán)控制關(guān)鍵字:break和continue。break用來跳出最內(nèi)層for或while循環(huán),脫離該循環(huán)后程序從循環(huán)后的代碼繼續(xù)執(zhí)行。continue用來結(jié)束當(dāng)前當(dāng)次循環(huán),即跳出循環(huán)體中下面尚未執(zhí)行的語句,但跳不出當(dāng)前循環(huán)。pass:什么事也不做,只是空占位語句,并且是無運算的占位語句,當(dāng)語法需要語句并且還沒有任何使用的語句可寫時,就可以使用它。它通常用于為復(fù)合語句編寫一個空的主體。如果寫無限循環(huán),每次迭代什么也不做,就寫pass。pass是有意義的,如忽略try語句所捕獲的異常,以及定義帶屬性的空類對象,而該類實現(xiàn)的對象行為就像其他語言的結(jié)構(gòu)和記錄。pass有時指“以后會填上”,只是暫時用于填充函數(shù)主體而已,無法保持函數(shù)體為空而不產(chǎn)生語法錯誤,因此,可以使用pass來替代。兩者的區(qū)別:continue語句只結(jié)束本次循環(huán),不終止整個循環(huán)的執(zhí)行,而break具備結(jié)束循環(huán)的能力。本題選擇C選項。
24.C
25.B棧按先進后出的原則組織數(shù)據(jù),所以入棧最早的元素最后出棧,本題選擇B選項。
26.A一家供應(yīng)商可提供多種零件,一種零件也可被多家供應(yīng)商提供。所以實體供應(yīng)商和實體零件之間的聯(lián)系是多對多。本題答案為A選項。
27.D在Python中,讀取CSV文件中的二維碼數(shù)據(jù)采用遍歷循環(huán)和字符串的split()方法相結(jié)合,方法如下:f=open('cpi.csv”,”r”)ls=[]forlineinf:Is.append(line,strip(“\\n').split(“,”))f.close()本題選擇D選項。
28.Clen()方法用來獲取字符串的長度,所以length應(yīng)為14;title()方法把字符串每個單詞的首字母變?yōu)榇髮懀詰?yīng)為Python\nIsGood;索引從0開始,所以s[1:6]應(yīng)為ython。本題選擇C選項。
29.C元組與列表類似,可存儲不同類型的數(shù)據(jù);元組是不可改變的,創(chuàng)建后不能再做任何修改操作。
30.BPython中3種基本數(shù)字類型是整數(shù)類型、浮點數(shù)類型、復(fù)數(shù)類型。本題選擇B選項。
31.Y
32.Y
33.Y
34.Y
35.Y
36.Y
37.Y
38.N
39.Y
40.N
41.可以
42.[1,2]
43.NoneNone
44.*
45.exists()
46.match()
47.def
48.{1:2,2:3}
49.False
50.9
51.lower=int(input(‘輸入?yún)^(qū)間最小值:’))upper=int(inputs(‘輸入?yún)^(qū)間最大值:’))fornuminrange(lower+1,upper):Ifnum>1:Foriin染個(2,num):If(num%i)==0:BreakElse:Print(num)題目要求輸出兩個整數(shù)之間(不包括這兩個整數(shù))的所有素數(shù),因此mnge()函數(shù)的參數(shù)應(yīng)為lower+1和upper。for循環(huán)遍歷range(lower\n+l,upper)返回的每個整數(shù)num,判斷該數(shù)是否為素數(shù)。如果num大于1(1既不是素數(shù)也不是合數(shù)),且該數(shù)能被取值范圍為[2,num-1\n]的任何一個整數(shù)整除,那么該數(shù)一定不是素數(shù),否則一定是素數(shù)。
52.n=eval(input(“請輸入正整數(shù):”))print(”{0:@>30,}”.format(n))該題目主要考查Python字符串的格式化方法。字符串的.format()格式化方法的語法格式為<模板字符串>.format(\r\n<逗號分隔的參數(shù)>)。題目的輸出格式為右對齊、30個字符、以@填充、千位分隔符,橫線處應(yīng)填入0:@>30,或:@>30,。
53.(1)fi=open("小女孩.txt","r")fo=open(”PY301—1.txt”,”w”)txt=fi.read()d={}\r\nexclude=",。!?、()【】<>《》=:+-*-“”…"forwordintxt:ifwordinexclude:continueelse:d[word]=d.get(word,0)+1ls=list(d.items())ls.sort(key=lambda\r\nx:x[1],reverse=True)fo.write(”{}:{}”format(ls[0][0],ls[0][1]))fo.close()(2)fi=open("小女孩.txt","r")fo=open(”PY301—2.txt”,”w”)txt=fi.read()d={}forwordintxt;d[word]=d.get(word,0)+1deld["\\n"]ls=list(d.items())ls.sort(key=lambdax:x[1],reverse=True)#此行可以按照詞頻由高到低排序foriinrange(10);fo.write(ls[i][0])fi.close()fo.close()(3)fi=open("小女孩.txt","r")fo=open(小女孩-頻次排序。txt","w")txt=fi.read()d={}forwordintxtd[word]=d.get(word,0)+1deld[""]deld["\\n"]ls=list(d.items())ls.sort(key=lambdax:x[1],reverse=True)#此行可以按照詞頻由高到低排序foriin\r\nrange(len(ls)):ls[i]="{}:{}".format(ls[i][0],ls[i][1])fo.write(",".join(ls))fi.close()fo.close()(1)首先使用open()函數(shù)打開文件“小女孩.txt”,把文件的內(nèi)容通過read()方法保存到變量txt中;定義一個字符串變量exclude用來存放標(biāo)點符號。然后用for循環(huán)遍歷txt中的每個字符(word),并使用if條件進行判斷,若該字符在變量exclude中,說明該字符為標(biāo)點符號,跳出該循環(huán);否則將該字符作為字典d中的一個鍵,該鍵所對應(yīng)的值置為1,在后面循環(huán)中只要遍歷的字符與該鍵相同,就將該鍵對應(yīng)的值加1。ls=list(d.items())表示將字典類型變成列表類型,字典中的每個鍵值對對應(yīng)列表中的一個元組。隨后,對列表ls中的元組進行排序,用到sort()方法,參數(shù)“key=lambda.x:x[1]”中l(wèi)ambda是一個隱函數(shù),是固定寫法,不能寫成別的單詞;x表示列表中的一個元素,在這里表示一個元組,x只是臨時起的一個名字,也可以使用任意的名字;x[1]表示以元組中第二個元素排序。sort()方法的第二參數(shù)表示是按哪種方式排序,若為“reverse=True”表示按降序排序;若該參數(shù)缺省或“reverse=False”,表示按升序排序。排序后,列表ls中第一個元組中即為頻次最高的中文字符和頻次,ls[0][0]表示該字符,ls[0][1]表示其頻次,將這兩個元素通過“:”連接寫入文件“PY301—1.txt”中。(2)問題2和問題1的區(qū)別在于統(tǒng)計的字符包含標(biāo)點符號,因此不需要設(shè)置字符串變量exclude和使用if條件語句進行判斷;題目要求不包含回車符,因此需要使用del刪除字典d中鍵為”\\n”的元素。最后要無間隔輸出前10個頻次最高的字符,需要對排序好的列表ls進行for循環(huán)遍歷,找到前10個元組的第一個元素,并將其直接寫入到文件“PY301—2.txt”中。(3)問題3和問題2的區(qū)別在于統(tǒng)計的字符中不能包含空格,因此需要使用del刪除字典d中鍵為空格的元素。最后要將所有字符和其頻次輸出,需要對排序好的列表ls進行for循環(huán)遍歷,遍歷列表中的每個元組,并將元組中的兩個元素通過“:”連接,再用逗號分隔每個字符寫入到文件“小女孩一頻次排序.txt”中。甘肅省隴南市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.在Python中,以下表達式結(jié)果為False的選項是()。
A.”CD”<”CDFG"B.”DCBA"<”DC”C.“”<’G’D.”L0VE”>”love”
2.下面代碼的意義是()。>>>car='BWM’>>>Id(car)
A.查看變量所占的位數(shù)B.轉(zhuǎn)換成布爾值C.查看變量在內(nèi)存中的地址D.把變量中的元素隨機排列
3.以下變量名中,符合Python變量命名規(guī)則的是()。
A.33_keywordB.key@word33_C.nonlocalD._33keyword
4.以下關(guān)于數(shù)據(jù)維度的描述,錯誤的是()。
A.—維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織,對應(yīng)于數(shù)學(xué)中的集合或數(shù)組的概念
B.二維數(shù)據(jù)由關(guān)聯(lián)關(guān)系構(gòu)成,采用表格方式組織,對應(yīng)于數(shù)學(xué)中的矩陣
C.高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)組成,采用對象方式組織
D.—維數(shù)據(jù)由對等關(guān)系的有序數(shù)據(jù)構(gòu)成,無序數(shù)據(jù)不是一維數(shù)據(jù)
5.設(shè)二叉樹的中序序列為BCDA,前序序列為ABCD,則后序序列為()。
A.CBDAB.DCBAC.BCDAD.ACDB
6.下面代碼的輸出結(jié)果是()。n=2deff(a):n=bool(a-2)returnnb=f(2)print(n,b)
A.20
B.0True
C.2False
D.0False
7.Python讀取文件中一行內(nèi)容的操作是()。
A.readtextB.readlineC.readallD.read
8.在Python中,包含矩陣運算的第三方庫是()。
A.NumPyB.PyQt5C.wordcloudD.wxPython
9.表達式list(map(lambdax:x*2,[1,2,3,4,’hi’]))的返回值是()
A.[1,2,3,4,’hi’]
B.[2,4,6,8,'hihi']
C.[2,4,6,8,'hi','hi']
D.異常
10.以下代碼的輸出結(jié)果是()。S='Pame’Foriinrange(len(S)):print(S[-i],end=”")
A.PameB.emaPC.amePD.Pema
11.循環(huán)隊列的存儲空間為Q(l:50)。經(jīng)過一系列正常的入隊與退隊操作后,front=rear=25。然后又成功地將一個元素退隊,此時隊列中的元素個數(shù)為()。
A.24B.49C.26D.0
12.以下程序的輸出結(jié)果是()。x=10y=0if(x>5)or(x/y>5): print(‘Right’)else: print(‘Wrong’)
A.RightB.WrongC.報錯:ZeroDivisionErrorD.不報錯,但不輸出任何結(jié)果
13.以下程序的輸出結(jié)果是()。f=lambdax,y:xifx<yelseya=f(“aa”,“bb”)b=f(“bb”,“aa”)print(a,b)
A.aaaaB.aabbC.bbaaD.bbbb
14.以下關(guān)于程序的異常處理的描述中,錯誤的是()。
A.—旦代碼拋出異常并且沒有得到正確的處理,整個程序會崩潰,并且不會繼續(xù)執(zhí)行后面的代碼
B.—般不建議在try中放太多代碼,而是應(yīng)該只放入可能會引發(fā)異常的代碼
C.帶有else子句的異常處理結(jié)構(gòu),如果不發(fā)生異常則執(zhí)行else子句中的代碼
D.在try-except-else結(jié)構(gòu)中,如果try子句的語句引發(fā)了異常,貝!]會執(zhí)行else子句中的代碼
15.以下關(guān)于函數(shù)優(yōu)點的描述中,正確的是()。
A.函數(shù)可以表現(xiàn)程序的復(fù)雜度B.函數(shù)可以使程序更加模塊化C.函數(shù)可以減少代碼多次使用D.函數(shù)便于書寫
16.一間宿舍可住多個學(xué)生,則實體宿舍和學(xué)生之間的聯(lián)系是()。
A.一對一B.一對多C.多對一D.多對多
17.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程
B.軟件從需求分析、設(shè)計、實現(xiàn)到測試完成的過程
C.軟件的開發(fā)過程
D.軟件的運行維護過程
18.以下程序的輸出結(jié)果是()。try:print((3+4j)*(3-4j))except:print(”運算錯誤!!”)
A.(25+0j)B.5C.運算錯誤!!D.3
19.假設(shè)有一個包含一個函數(shù)的程序放在一個文件中,在主程序文件中使用下面各種方法來導(dǎo)入它,方法錯誤的是()。
A.importmodule
B.frommoduleasfimportfunction
C.importmoduleasm
D.frommoduleimport*
20.下列敘述中正確的是()。
A.順序存儲結(jié)構(gòu)的存儲一定是連續(xù)的,鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空間不一定是連續(xù)的
B.順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈?zhǔn)酱鎯Y(jié)構(gòu)只針對非線性結(jié)構(gòu)
C.順序存儲結(jié)構(gòu)能存儲有序表,鏈?zhǔn)酱鎯Y(jié)構(gòu)不能存儲有序表
D.鏈?zhǔn)酱鎯Y(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間
21.''[0:4]該表達使用了Python的特性()
A.IndexingB.SlicingC.PathD.Multi-Indexing
22.以下程序的輸出結(jié)果是()。
A.LOVESB.********LOVESC.LOVES********D.****LOVES****
23.以下關(guān)于Python循環(huán)結(jié)構(gòu)的描述中,錯誤的是()。
A.while循環(huán)使用關(guān)鍵字continue結(jié)束本次循環(huán)
B.while循環(huán)可以使用保留字break和continue
C.while循環(huán)也叫遍歷循環(huán),用來遍歷序列中的元素,默認(rèn)提取每個元素并執(zhí)行一次循環(huán)體
D.while循環(huán)使用pass語句,則什么事也不做,只是空占位語句
24.若I,j均為整形數(shù)值對象,以下哪個語句計算i被j除后的余數(shù)()
A.imodjB.i/jC.i%jD.i//j
25.一個棧的初始狀態(tài)為空。現(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棧的順序是()。
A.12345ABCDEB.EDCBA54321C.ABCDE12345D.54321EDCBA
26.在供應(yīng)關(guān)系中,實體供應(yīng)商和實體零件之間的聯(lián)系是()。
A.多對多B.一對一C.多對一D.一對多
27.在Python中,讀入CSV文件保存的二維數(shù)據(jù),按特定分隔符抽取信息,最可能用到的函數(shù)是()。
A.read()B.join()C.replace()D.split()
28.對于以下代碼的描述正確的是()。s=”Pythonisgood"1="isn’tit?"length=len(s)s_title=s.title()s_l=s+1s_number=s[1:6]print(length)
A.length為12
B.s_title為”PYTHONISGOOD”
C.s_l為”Pythonisgoodisn’tit?”
D.s_number為”Python”
29.關(guān)于Python元組類型,以下選項中描述錯誤的是()。
A.元組不可以被修改
B.Python中元組使用圓括號和逗號表示
C.元組中的元素要求是相同類型
D.一個元組可以作為另一個元祖的元素,可以采用多級索引獲取信息
30.Python提供3種基本的數(shù)字類型,它們是()。
A.整數(shù)類型、二進制類型、浮點數(shù)類型
B.整數(shù)類型、浮點數(shù)類型、復(fù)數(shù)類型
C.整數(shù)類型、二進制類型、復(fù)數(shù)類型
D.二進制類型、浮點數(shù)類型、復(fù)數(shù)類型
二、判斷題(10題)31.定義類時所有實例方法的第一個參數(shù)用來表示對象本身,在類的外部通過對象名來調(diào)用實例方法時不需要為該參數(shù)傳值。
A.是B.否
32.在GUI設(shè)計中,復(fù)選框往往用來實現(xiàn)非互斥多選的功能,多個復(fù)選框之間的選擇互不影響。
A.是B.否
33.表達式pow(3,2)==3**2的值為True。
A.是B.否
34.在定義函數(shù)時,某個參數(shù)名字前面帶有一個*符號表示可變長度參數(shù),可以接收任意多個普通實參并存放于一個元組之中。
A.是B.否
35.Python變量名區(qū)分大小寫,所以student和Student不是同一個變量。
A.是B.否
36.函數(shù)內(nèi)部定義的局部變量當(dāng)函數(shù)調(diào)用結(jié)束后被自動刪除。
A.是B.否
37.執(zhí)行語句frommathimportsin之后,可以直接使用sin()函數(shù),例如sin(3)。A.是B.否
38.假設(shè)re模塊已成功導(dǎo)入,并且有pattern=pile('^'+'\.'.join([r'\d{1,3}'foriinrange(4)])+'$'),那么表達式pattern.match('03')的值為None。
A.是B.否
39.在Python中可以使用id作為變量名,盡管不建議這樣做。
A.是B.否
40.使用普通文本編輯器軟件也可以正常查看二進制文件的內(nèi)容。
A.是B.否
三、填空題(10題)41.運算符%__________(可以/不可以)對浮點數(shù)進行求余數(shù)操作。
42.已知列表x=[1,2],那么連續(xù)執(zhí)行命令y=x[:]和y.append(3)之后,x的值為________。
43.列表對象的sort()方法用來對列表元素進行原地排序,該函數(shù)返回值為
。
44.正則表達式元字符________用來表示該符號前面的字符或子模式0次或多次出現(xiàn)。
45.Python標(biāo)準(zhǔn)庫os.path中用來判斷指定文件是否存在的方法是______________。
46.正則表達式模塊re的______________方法用來在字符串開始處進行指定模式的匹配。
47.Python中定義函數(shù)的關(guān)鍵字是_________________。
48.已知x={1:2},那么執(zhí)行語句x[2]=3之后,x的值為________________。
49.表達式3notin[1,2,3]的值為__________。
50.表達式len(range(1,10))的值為___________。
四、操作題(3題)51.考生文件夾下存在一個文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請在該文件中編寫代碼,以實現(xiàn)如下功能。用鍵盤輸入兩個大于0的整數(shù),按要求輸出這兩個整數(shù)之間(不包括這兩個整數(shù))的所有素數(shù)。素數(shù)又稱質(zhì)數(shù),是指除了1和它本身以外不能被其他整數(shù)整除的數(shù)。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)lower=int(input(‘輸入?yún)^(qū)間最小值:’))upper=int(inputs(‘輸入?yún)^(qū)間最大值:’))fornuminrange(_____,_____):
52.考生文件夾下存在一個文件“PY101.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。用鍵盤輸入正整數(shù)n,按要求把n輸出到屏幕。
格式要求:寬度為30個字符,以@填充,右對齊,帶千位分隔符。如果輸入的正整數(shù)超過30位,則按照真實長度輸出。例如:用鍵盤輸入的正整數(shù)n為5201314,屏幕輸出@@@@@@@@@@@@@@@5,201,314
試題程序:
#請在程序的處使用一行代碼或表達式替換
#注意:請不要修改其他已給出代碼
n=eval(input("請輸入正整數(shù)”))print("{_____}".format(n))
53.考生文件夾下存在3個Python源文件,分別對應(yīng)3個問題;1個文本文件,作為本題目的輸入數(shù)據(jù),請按照源文件內(nèi)部說明修改代碼,實現(xiàn)以下功能?!顿u火柴的小女孩》是丹麥童話故事作家安徒生寫的一篇童話故事,發(fā)表于1846年。主要講了一個賣火柴的小女孩在富人闔家歡樂、舉杯共慶的大年夜凍死在街頭的故事。這里給出《賣火柴的小女孩》的一個網(wǎng)絡(luò)版本文件,文件名為“小女孩.txt”。問題1:在“PY301-1.py”文件中修改代碼,對“小女孩.txt”文件進行字符頻次統(tǒng)計,輸出頻次最高的中文字符(不包含標(biāo)點符號)及其頻次,字符與頻次之間采用英文冒號(:)分隔,將輸出結(jié)果保存在考生文件夾下,命名為“PY301-l.txt”。示例格式如下。的:83試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)…fo=open("PY301-1.txt","w")d={}fo.write("{}:{}".format(_____))fo.close()問題L在“PY301-2.Py”文件中修改代碼,對“小女孩.txt”文件進行字符頻次統(tǒng)計,按照頻次由高到低,輸出前10個頻次最高的字符,不包含回車符,字符之間無間隔,連續(xù)輸出,將輸出結(jié)果保存在考生文件夾下,命名為“PY301-2.txt”。示例格式如下。,的一...(共10個字符)試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fo=open("PY301-2.txt",”w”)…d={}…Is=list(d.items())ls.sort(key=lambdax:x[l],reverse=True)#此行可以按照字符頻次由高到低排序…問題3:在PY301-3.py文件中修改代碼,對“小女孩.txt”文件進行字符頻次統(tǒng)計,將所有字符按照頻次從高到低排序,字符包括中文、標(biāo)點、英文等,但不包含空格符和回車符。將排序后的字符及頻次輸出到考生文件夾下,文件名為“小女孩-頻次排序.txt”。字符與頻次之間采用英文冒號(:)分隔,各字符之間采用英文逗號(,)分隔,參考CSV格式,最后無逗號,文件內(nèi)部示例格式如下。著:30,那:29,火:29試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)…d={}…Is=list(d.items())Is.sort(key=lambdax:x[1]#reverse=True)#此行可以按照字符頻次由高到低排序
參考答案
1.B字符串比較規(guī)則:從第一個字符開始,一一對應(yīng)比較編碼大小;當(dāng)?shù)谝粋€字符串的全部字符和另一個字符串的前部分字符相同時,長度長的字符串為大。本題選擇B選項。
2.Cid(x)是Python中的內(nèi)置函數(shù),用來查看變量在內(nèi)存中的地址。本題選擇C選項。
3.DPython采用大寫字母、小寫字母、數(shù)字、下劃線和漢字等字符及其組合進行命名,但名字的首字符不能是數(shù)字,標(biāo)識符中間不能出現(xiàn)空格,長度沒有限制。變量名不能與保留字相同。本題選擇D選項。
4.D任何可以以序列或集合表示的內(nèi)容都可以看作一維數(shù)據(jù)。本題選擇D選項。
5.B二叉樹的前序序列為ABCD,由于前序遍歷首先訪問根節(jié)點,可以確定該二叉樹的根節(jié)點是A。再由中序序列為BCDA,可知以A為根節(jié)點的該二叉樹只存在左子樹,不存在右子樹,故后序序列為DCBA。本題答案為B選項。
6.C這段代碼是全局變量、局部變量以及Python內(nèi)置函數(shù)bool()的一個結(jié)合。在函數(shù)內(nèi)部的局部變量名和函數(shù)外部全局變量名相同時,調(diào)用函數(shù)時,總是先找到函數(shù)內(nèi)部的局部變量名,所以當(dāng)a為2時,經(jīng)過布爾型轉(zhuǎn)換之后的a\r\n-2,即b為False,而在函數(shù)外部只能訪問全局變量名,所以n仍為2,本題選擇C選項。
7.B在Python中,文件的讀取方法(f代表文件變量)如下。f.read():從文件中讀入整個文件的內(nèi)容。f.readline():從文件中讀入一行內(nèi)容。f.readlines():從文件中讀入所有行,以每行為元素形成一個列表。f.seek():改變當(dāng)前文件操作指針的位置。本題選擇B選項。
8.ANumPy是Python的一種開源數(shù)值計算擴展第三方庫,用于處理數(shù)據(jù)類型相同的多維數(shù)組,簡稱“數(shù)組”。NrnnPy可以用來存儲和處理大型矩陣,其提供了許多髙級的數(shù)組編程工具,如矩陣運算、矢量處理、N維數(shù)據(jù)變換等。本題選擇A選項。
9.B
10.Drange()函數(shù)的語法格式為range(\nstart,stop,step),作用是生成一個從start參數(shù)的值開始,到stop參數(shù)的值結(jié)束的數(shù)字序列(注意不包含參數(shù)stop)\n,step是步進參數(shù)。一般默認(rèn)start為0,步進step=1,如range(5),生成0、1、2、3、4。len(3)=4,foriin\nrange(4)表示i從0開始取值,當(dāng)i=0時,print(S[0],end=”'),輸出P;當(dāng)i=1時,print(S[-1],end=””),輸出e;當(dāng)i=2時,print(S[-2],end=\n””),輸出m;當(dāng)i=3時,print(S[-3],end=''),輸出a。故代碼輸出結(jié)果為Pema。本題選擇D選項。
11.B當(dāng)front=\nrear時可知隊列要么為空要么為滿,因為又成功地將一個元素退隊,說明之前隊列為滿(為空時隊列中無元素),退出一個元素后隊列中還有50-1\n=49個元素。本題選擇B選項。
12.A在Python中,or表示多個條件之間的“或”關(guān)系。xory,若x為True,則xory的結(jié)果為True,不再對y進行判斷。本題中,x>5為True,故(x>5)or(x/y>5)的結(jié)果為True,輸出結(jié)果為Right。本題選擇A選項。
13.Alambda關(guān)鍵字用來定義匿名函數(shù),語法為<函數(shù)名>=lambda<參數(shù)列表>:<表達式>。本題比較字符串大小,因為aa<bb,所以輸出均為aa。本題選擇A選項。
14.D程序的異常處理模塊,若try語句塊中的代碼異常,則進入except語句塊中,執(zhí)行該處的代碼;沒有異常時,直接執(zhí)行與try語句塊同級的代碼或者是else后面的代碼。本題選擇D選項。
15.B函數(shù)定義:函數(shù)是指一組語句的集合通過一個名字(函數(shù)名)封裝起來,要想執(zhí)行這個函數(shù),只需要調(diào)用其函數(shù)名即可。函數(shù)能提高應(yīng)用的模塊性和代碼的重復(fù)利用率。本題選B選項。
16.B解析:兩個實體間的聯(lián)系可以歸納為3種類型:一對一聯(lián)系:一對一的聯(lián)系表現(xiàn)為主表中的每一條記錄只與相關(guān)表中的一條記錄相關(guān)聯(lián)。一對多聯(lián)系或多對一:一對多的聯(lián)系表現(xiàn)為主表中的每一條記錄與相關(guān)表中的多條記錄相關(guān)聯(lián)。多對多聯(lián)系:多對多的聯(lián)系表現(xiàn)為一個表中的多個記錄在相關(guān)表中同樣有多個記錄與其匹配。一間宿舍可以住多個學(xué)生,但每個學(xué)生只能住一個宿舍,所以實體宿舍和學(xué)生之間的聯(lián)系為一對多的聯(lián)系。
17.A通常,將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期。也就是說,軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個時期都屬于軟件生命周期。
18.A(3+4j)*(3-4j)是復(fù)數(shù)的乘法運算。設(shè)c1=a+bj,c2=c+dj(a、b、c、d均為實數(shù)),c1*c2=\n(ac-bd)+(bc+ad)j0結(jié)果是(25+0j)。本題選擇A選項。
19.BD選項用于導(dǎo)入模塊中所有的函數(shù)從而直接調(diào)用該模塊中的函數(shù);A選項直接導(dǎo)入整個模塊,再利用“模塊名.函數(shù)名”這樣的方式來運行該模塊中的函數(shù);C選項只是在導(dǎo)入該模塊時給該模塊起了一個別名,本質(zhì)和A選項一樣。B選項正確的寫法應(yīng)該是from\nmoduleimportfunctionasf,本題選擇B選項。
20.A鏈?zhǔn)酱鎯Y(jié)構(gòu)既可以針對線性結(jié)構(gòu)也可以針對非線性結(jié)構(gòu),所以選項B,C錯誤。鏈?zhǔn)酱鎯Y(jié)構(gòu)中每個結(jié)點都由數(shù)據(jù)域與指針域兩部分組成,增加了存儲空間,所以D選項錯誤。本題選擇A選項。
21.B
22.D本題考查的是字符串輸出格式化知識點,其中”{:*13}'表示輸出的字符串長度為13,居中對齊,空白處用“填充。最后輸出的是***\n*L0VES****,本題選擇D選項。
23.CPython中循環(huán)包括兩種:遍歷循環(huán)和無限循環(huán)。遍歷循環(huán)使用關(guān)鍵字for依次提取遍歷結(jié)構(gòu)元素進行處理;無限循環(huán)使用關(guān)鍵字while根據(jù)判斷條件執(zhí)行程序。循環(huán)結(jié)構(gòu)有兩個輔助循環(huán)控制關(guān)鍵字:break和continue。break用來跳出最內(nèi)層for或while循環(huán),脫離該循環(huán)后程序從循環(huán)后的代碼繼續(xù)執(zhí)行。continue用來結(jié)束當(dāng)前當(dāng)次循環(huán),即跳出循環(huán)體中下面尚未執(zhí)行的語句,但跳不出當(dāng)前循環(huán)。pass:什么事也不做,只是空占位語句,并且是無運算的占位語句,當(dāng)語法需要語句并且還沒有任何使用的語句可寫時,就可以使用它。它通常用于為復(fù)合語句編寫一個空的主體。如果寫無限循環(huán),每次迭代什么也不做,就寫pass。pass是有意義的,如忽略try語句所捕獲的異常,以及定義帶屬性的空類對象,而該類實現(xiàn)的對象行為就像其他語言的結(jié)構(gòu)和記錄。pass有時指“以后會填上”,只是暫時用于填充函數(shù)主體而已,無法保持函數(shù)體為空而不產(chǎn)生語法錯誤,因此,可以使用pass來替代。兩者的區(qū)別:continue語句只結(jié)束本次循環(huán),不終止整個循環(huán)的執(zhí)行,而break具備結(jié)束循環(huán)的能力。本題選擇C選項。
24.C
25.B棧按先進后出的原則組織數(shù)據(jù),所以入棧最早的元素最后出棧,本題選擇B選項。
26.A一家供應(yīng)商可提供多種零件,一種零件也可被多家供應(yīng)商提供。所以實體供應(yīng)商和實體零件之間的聯(lián)系是多對多。本題答案為A選項。
27.D在Python中,讀取CSV文件中的二維碼數(shù)據(jù)采用遍歷循環(huán)和字符串的split()方法相結(jié)合,方法如下:f=open('cpi.csv”,”r”)ls=[]forlineinf:Is.append(line,strip(“\\n').split(“,”))f.close()本題選擇D選項。
28.Clen()方法用來獲取字符串的長度,所以length應(yīng)為14;title()方法把字符串每個單詞的首字母變?yōu)榇髮?,所以?yīng)為Python\nIsGood;索引從0開始,所以s[1:6]應(yīng)為ython。本題選擇C選項。
29.C元組與列表類似,可存儲不同類型的數(shù)據(jù);元組是不可改變的,創(chuàng)建后不能再做任何修改操作。
30.BPython中3種基本數(shù)字類型是整數(shù)類型、浮點數(shù)類型、復(fù)數(shù)類型。本題選擇B選項。
31.Y
32.Y
33.Y
34.Y
35.Y
36.Y
37.Y
38.N
39.Y
40.N
41.可以
42.[1,2]
43.NoneNone
44.*
45.exists()
46.match()
47.def
48.{1:2,2:3}
49.False
50.9
51.lower=int(input(‘輸入?yún)^(qū)間最小值:’))upper=int(inputs(‘輸入?yún)^(qū)間最大值:’))fornuminrange(lower+1,upper):Ifnum>1:Foriin染個(2,num):If(num%i)==0:BreakElse:Print(num)題目要求輸出兩個整數(shù)之間(不包括這兩個整數(shù))的所有素數(shù),因此mnge()函數(shù)的參數(shù)應(yīng)為lower+1和upper。for循環(huán)遍歷range(lower\n+l,upper)返回的每個整數(shù)num,判斷該數(shù)是否為素數(shù)。如果num大于1(1既不是素數(shù)也不是合數(shù)),且該數(shù)能被取值范圍為[2,num-1\n]的任何一個整數(shù)整除,那么該數(shù)一定不是素數(shù),否則一定是素數(shù)。
52.n=eval(input(“請輸入正整數(shù):”))print(”{0:@>30,}”.format(n))該題目主要考查Python字符串的格式化方法。字符串的.format()格式化方法的語法格式為<模板字符串>.format(\r\n<逗號分隔的參數(shù)>)。題目的輸出格式為右對齊、30個字符、以@填充、千位分隔符,橫線處應(yīng)填入0:@>30,或:@>30,。
53.(1)fi=open("小女孩.txt","r")fo=open(”PY301—1.txt”,”w”)txt=fi.read()d={}\r\nexclude=",。!?、()【】<>《》=:+-*-“”…"forwordintxt:ifwordinexclude:continueelse:d[word]=d.get(word,0)+1ls=list(d.items())ls.sort(key=lambda\r\nx:x[1],reverse=True)fo.write(”{}:{}”format(ls[0][0],ls[0][1]))fo.close()(2)fi=open("小女孩.txt","r")fo=open(”PY301—2.txt”,”w”)txt=fi.read()d={}forwordintxt;d[word]=d.get(word,0)+1deld["\\n"]ls=list(d.items())ls.sort(key=lambdax:x[1],reverse=True)#此行可以按照詞頻由高到低排序foriinrange(10);fo.write(ls[i][0])fi.close()fo.close()(3)fi=open("小女孩.txt","r")fo=open(小女孩-頻次排序。txt","w")txt=fi.read()d={}forwordintxtd[word]=d.get(word,0)+1deld[""]deld["\\n"]ls=list(d.items())ls.sort(key=lambdax:x[1],reverse=True)#此行可以按照詞頻由高到低排序foriin\r\nrange(len(ls)):ls[i]="{}:{}".format(ls[i][0],ls[i][1])fo.write(",".join(ls))fi.close()fo.close()(1)首先使用open()函數(shù)打開文件“小女孩.txt”,把文件的內(nèi)容通過read()方法保存到變量txt中;定義一個字符串變量exclude用來存放標(biāo)點符號。然后用for循環(huán)遍歷txt中的每個字符(word),并使用if條件進行判斷,若該字符在變量exclude中,說明該字符為標(biāo)點符號,跳出該循環(huán);否則將該字符作為字典d中的一個鍵,該鍵所對應(yīng)的值置為1,在后面循環(huán)中只要遍歷的字符與該鍵相同,就將該鍵對應(yīng)的值加1。ls=list(d.items())表示將字典類型變成列表類型,字典中的每個鍵值對對應(yīng)列表中的一個元組。隨后,對列表ls中的元組進行排序,用到sort()方法,參數(shù)“key=lambda.x:x[1]”中l(wèi)ambda是一個隱函數(shù),是固定寫法,不能寫成別的單詞;x表示列表中的一個元素,在這里表示一個元組,x只是臨時起的一個名字,也可以使用任意的名字;x[1]表示以元組中第二個元素排序。sort()方法的第二參數(shù)表示是按哪種方式排序,若為“reverse=True”表示按降序排序;若該參數(shù)缺省或“reverse=False”,表示按升序排序。排序后,列表ls中第一個元組中即為頻次最高的中文字符和頻次,ls[0][0]表示該字符,ls[0][1]表示其頻次,將這兩個元素通過“:”連接寫入文件“PY301—1.txt”中。(2)問題2和問題1的區(qū)別在于統(tǒng)計的字符包含標(biāo)點符號,因此不需要設(shè)置字符串變量exclude和使用if條件語句進行判斷;題目要求不包含回車符,因此需要使用del刪除字典d中鍵為”\\n”的元素。最后要無間隔輸出前10個頻次最高的字符,需要對排序好的列表ls進行for循環(huán)遍歷,找到前10個元組的第一個元素,并將其直接寫入到文件“PY301—2.txt”中。(3)問題3和問題2的區(qū)別在于統(tǒng)計的字符中不能包含空格,因此需要使用del刪除字典d中鍵為空格的元素。最后要將所有字符和其頻次輸出,需要對排序好的列表ls進行for循環(huán)遍歷,遍歷列表中的每個元組,并將元組中的兩個元素通過“:”連接,再用逗號分隔每個字符寫入到文件“小女孩一頻次排序.txt”中。甘肅省隴南市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.在Python中,以下表達式結(jié)果為False的選項是()。
A.”CD”<”CDFG"B.”DCBA"<”DC”C.“”<’G’D.”L0VE”>”love”
2.下面代碼的意義是()。>>>car='BWM’>>>Id(car)
A.查看變量所占的位數(shù)B.轉(zhuǎn)換成布爾值C.查看變量在內(nèi)存中的地址D.把變量中的元素隨機排列
3.以下變量名中,符合Python變量命名規(guī)則的是()。
A.33_keywordB.key@word33_C.nonlocalD._33keyword
4.以下關(guān)于數(shù)據(jù)維度的描述,錯誤的是()。
A.—維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織,對應(yīng)于數(shù)學(xué)中的集合或數(shù)組的概念
B.二維數(shù)據(jù)由關(guān)聯(lián)關(guān)系構(gòu)成,采用表格方式組織,對應(yīng)于數(shù)學(xué)中的矩陣
C.高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)組成,采用對象方式組織
D.—維數(shù)據(jù)由對等關(guān)系的有序數(shù)據(jù)構(gòu)成,無序數(shù)據(jù)不是一維數(shù)據(jù)
5.設(shè)二叉樹的中序序列為BCDA,前序序列為ABCD,則后序序列為()。
A.CBDAB.DCBAC.BCDAD.ACDB
6.下面代碼的輸出結(jié)果是()。n=2deff(a):n=bool(a-2)returnnb=f(2)print(n,b)
A.20
B.0True
C.2False
D.0False
7.Python讀取文件中一行內(nèi)容的操作是()。
A.readtextB.readlineC.readallD.read
8.在Python中,包含矩陣運算的第三方庫是()。
A.NumPyB.PyQt5C.wordcloudD.wxPython
9.表達式list(map(lambdax:x*2,[1,2,3,4,’hi’]))的返回值是()
A.[1,2,3,4,’hi’]
B.[2,4,6,8,'hihi']
C.[2,4,6,8,'hi','hi']
D.異常
10.以下代碼的輸出結(jié)果是()。S='Pame’Foriinrange(len(S)):print(S[-i],end=”")
A.PameB.emaPC.amePD.Pema
11.循環(huán)隊列的存儲空間為Q(l:50)。經(jīng)過一系列正常的入隊與退隊操作后,front=rear=25。然后又成功地將一個元素退隊,此時隊列中的元素個數(shù)為()。
A.24B.49C.26D.0
12.以下程序的輸出結(jié)果是()。x=10y=0if(x>5)or(x/y>5): print(‘Right’)else: print(‘Wrong’)
A.RightB.WrongC.報錯:ZeroDivisionErrorD.不報錯,但不輸出任何結(jié)果
13.以下程序的輸出結(jié)果是()。f=lambdax,y:xifx<yelseya=f(“aa”,“bb”)b=f(“bb”,“aa”)print(a,b)
A.aaaaB.aabbC.bbaaD.bbbb
14.以下關(guān)于程序的異常處理的描述中,錯誤的是()。
A.—旦代碼拋出異常并且沒有得到正確的處理,整個程序會崩潰,并且不會繼續(xù)執(zhí)行后面的代碼
B.—般不建議在try中放太多代碼,而是應(yīng)該只放入可能會引發(fā)異常的代碼
C.帶有else子句的異常處理結(jié)構(gòu),如果不發(fā)生異常則執(zhí)行else子句中的代碼
D.在try-except-else結(jié)構(gòu)中,如果try子句的語句引發(fā)了異常,貝!]會執(zhí)行else子句中的代碼
15.以下關(guān)于函數(shù)優(yōu)點的描述中,正確的是()。
A.函數(shù)可以表現(xiàn)程序的復(fù)雜度B.函數(shù)可以使程序更加模塊化C.函數(shù)可以減少代碼多次使用D.函數(shù)便于書寫
16.一間宿舍可住多個學(xué)生,則實體宿舍和學(xué)生之間的聯(lián)系是()。
A.一對一B.一對多C.多對一D.多對多
17.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程
B.軟件從需求分析、設(shè)計、實現(xiàn)到測試完成的過程
C.軟件的開發(fā)過程
D.軟件的運行維護過程
18.以下程序的輸出結(jié)果是()。try:print((3+4j)*(3-4j))except:print(”運算錯誤!!”)
A.(25+0j)B.5C.運算錯誤!!D.3
19.假設(shè)有一個包含一個函數(shù)的程序放在一個文件中,在主程序文件中使用下面各種方法來導(dǎo)入它,方法錯誤的是()。
A.importmodule
B.frommoduleasfimportfunction
C.importmoduleasm
D.frommoduleimport*
20.下列敘述中正確的是()。
A.順序存儲結(jié)構(gòu)的存儲一定是連續(xù)的,鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空間不一定是連續(xù)的
B.順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈?zhǔn)酱鎯Y(jié)構(gòu)只針對非線性結(jié)構(gòu)
C.順序存儲結(jié)構(gòu)能存儲有序表,鏈?zhǔn)酱鎯Y(jié)構(gòu)不能存儲有序表
D.鏈?zhǔn)酱鎯Y(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間
21.''[0:4]該表達使用了Python的特性()
A.IndexingB.SlicingC.PathD.Multi-Indexing
22.以下程序的輸出結(jié)果是()。
A.LOVESB.********LOVESC.LOVES********D.****LOVES****
23.以下關(guān)于Python循環(huán)結(jié)構(gòu)的描述中,錯誤的是()。
A.while循環(huán)使用關(guān)鍵字continue結(jié)束本次循環(huán)
B.while循環(huán)可以使用保留字break和continue
C.while循環(huán)也叫遍歷循環(huán),用來遍歷序列中的元素,默認(rèn)提取每個元素并執(zhí)行一次循環(huán)體
D.while循環(huán)使用pass語句,則什么事也不做,只是空占位語句
24.若I,j均為整形數(shù)值對象,以下哪個語句計算i被j除后的余數(shù)()
A.imodjB.i/jC.i%jD.i//j
25.一個棧的初始狀態(tài)為空?,F(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棧的順序是()。
A.12345ABCDEB.EDCBA54321C.ABCDE12345D.54321EDCBA
26.在供應(yīng)關(guān)系中,實體供應(yīng)商和實體零件之間的聯(lián)系是()。
A.多對多B.一對一C.多對一D.一對多
27.在Python中,讀入CSV文件保存的二維數(shù)據(jù),按特定分隔符抽取信息,最可能用到的函數(shù)是()。
A.read()B.join()C.replace()D.split()
28.對于以下代碼的描述正確的是()。s=”Pythonisgood"1="isn’tit?"length=len(s)s_title=s.title()s_l=s+1s_number=s[1:6]print(length)
A.length為12
B.s_title為”PYTHONISGOOD”
C.s_l為”Pythonisgoodisn
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療器械質(zhì)量檢測服務(wù)合同
- 職場辦公技能培訓(xùn)教育范文
- 高考語文復(fù)習(xí):人物傳記類文言文專練
- 電線電纜采購合同書
- 法律行業(yè)律師服務(wù)費用免責(zé)協(xié)議
- 經(jīng)典童話白雪公主的解讀與賞析
- 高考英語完形填空專題集中訓(xùn)練含參考答案(5份)
- 農(nóng)村居民公共服務(wù)需求滿足指導(dǎo)手冊
- 問題解決指南
- 金融科技服務(wù)風(fēng)險免責(zé)合同
- 大班語言活動-海豹到哪里去了
- 小班社會《認(rèn)識家用電器》課件
- 高考概率大題必練20題(理科)-含答案
- 涼水井煤礦礦山地質(zhì)環(huán)境與土地復(fù)墾方案
- 果實酚類和揮發(fā)性物質(zhì)含量特征及其與果實品質(zhì)關(guān)系的研究
- 2023年東華高級中學(xué)中考自招數(shù)學(xué)復(fù)習(xí)題及答案解析
- 結(jié)果比過程重要辯論賽
- JTG C10-2007 公路勘測規(guī)范
- 工程結(jié)算審核項目投標(biāo)技術(shù)方案造價咨詢服務(wù)方案
- 高中英語2024屆新高考詞匯轉(zhuǎn)換匯總(共六組)
- 2024年廣州市高三一模高考英語試卷試題答案詳解(含作文范文)
評論
0/150
提交評論