




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
陜西省漢中市全國計算機等級考試Python語言程序設計專項練習(含答案)學校:________班級:________姓名:________考號:________
一、單選題(30題)1.以下程序的輸出結果是()。ls=[’綠茶’,’烏龍茶’,’紅茶’,’白茶’,’黑茶’]x=’烏龍茶’print(ls.index(x,0))
A.一3B.0C.1D.一4
2.定義學生的關系模式如下:S(S#,Sn,Sex,Age,D#,Da(其屬性分別為學號、姓名、性別、年齡、所屬學院、院長)該關系滿足的最高范式是()。
A.1NFB.2NFC.3NFD.BCNF
3.以下關于分支結構的描述中,錯誤的是()。
A.if語句中語句塊執行與否依賴于條件判斷
B.if語句中條件部分可以使用任何能夠產生True和False的語句和函數
C.二分支結構有一種緊湊形式,使用保留字if和else實現
D.多分支結構用于設置多個判斷條件及其對應的多條執行路徑
4.面向對象方法中,繼承是指()。
A.—組對象所具有的相似性質B.—個對象具有另一個對象的性質C.各對象之間的共同性質D.類之間共享屬性和操作的機制
5.下列關于Python的描述正確的是()。
A.列表的下標是從1開始的
B.元組的元素值可以修改、刪除、連接
C.字典中的“鍵”只能是整數、字符串
D.集合分為可變集合和不可變集合,可變集合的元素可以添加、刪除
6.以下描述中,錯誤的是()。
A.Python語言通過索引來訪問列表中元素,索引可以是負整數
B.列表用方括號來定義,繼承了序列類型的所有屬性和方法
C.Python列表是各種類型數據的集合,列表中的元素不能夠被修改
D.Python語言的列表類型能夠包含其他的組合數據類型
7.以下關于Python技術特點的描述中,錯誤的是()。
A.對于需要更快執行速度的功能,例如數值計算和動畫,Python可以調用C語言編寫的底層代碼
B.Python比大部分編程語言具有更高的軟件開發產量和簡潔性
C.Python是解釋執行的,因此執行速度比編譯型語言慢
D.Python是腳本語言,主要用作系統編程和Web訪問的開發語言
8.以下代碼的輸出結果是()。lis=list(range(4))print(lis)
A.[0,1,2,3,4]B.[0,1,2,3]C.0,1,2,3,D.0,1,2,3,4,
9.—個工作人員可以使用多臺計算機,而一臺計算機可被多個人使用,則實體工作人員與實體計算機之間的聯系是()。
A.—對一B.—對多C.多對多D.多對一
10.數據字典(DD)的作用是()。
A.定義流程圖中各個成份的具體含義
B.定義數據流圖中各個成份的具體含義
C.定義系統結構圖中各個成份的具體含義
D.定義功能結構圖中各個成份的具體含義
11.以下程序的輸出結果是()。foriin“miss”: forjinrange(3): print(i,end=‘’) ifi==“i”: break
A.missmissmissB.mmmissssssC.mmmiiissssssD.mmmssssss
12.以下不屬于Python機器學習第三方庫的是()。
A.PylonsB.TensorFlowC.KerasD.MXNet
13.第三方庫Beauifulsoup4的功能是()。
A.解析和處理HTML和XMLB.支持web應用程序框架C.支持webservices框架D.處理http請求
14.下列關于棧的敘述正確的是()。
A.棧按“先進先出”組織數據B.棧按“先進后出”組織數據C.只能在棧底插入數據D.不能刪除數據
15.給定列表ls=[1,2,3,“1”,“2”,“3”],其元素包含2種數據類型,列表ls的數據組織維度是()。
A.二維數據B.—維數據C.多維數據D.高維數據
16.程序流程圖是()。
A.總體設計階段使用的表達工具B.詳細設計階段使用的表達工具C.編碼階段使用的表達工具D.測試階段使用的表達工具
17.當在命令行中以pythonmy.pyv1v2形式運行python腳本時,通過fromsysimportargv如何獲得v2的參數值?
A.argv[0]B.argv[1]C.argv[2]D.argv[3]
18.以下不屬于Python中異常處理結構的是()。
A.try-except
B.try-except-if
C.try-except-else
D.try-except-finally
19.基本路徑測試屬于()。
A.黑盒測試方法且是靜態測試B.黑盒測試方法且是動態測試C.白盒測試方法且是動態測試D.白盒測試方法且是靜態測試
20.支持子程序調用的數據結構是()。
A.棧B.樹C.隊列D.二叉樹
21.對于以下代碼的描述正確的是()。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”
22.以下代碼的輸出結果是()。forsin"grandfather":ifs==”d”ors==’h’:continueprint(s,end=")
A.grandfatherB.granfaterC.grandD.father
23.以下關于程序設計語言的描述,錯誤的選項是()。
A.Python解釋器把Python代碼一次性翻譯成目標代碼,然后執行
B.機器語言直接用二進制代碼表達指令
C.Python是一種通用編程語言
D.匯編語言是直接操作計算機硬件的編程語言
24.以下描述錯誤的是()。
A.Python是一門動態的解釋型語言
B.當Python腳本程序發生了異常,如果不處理,運行結果不可預測
C.編程語言中的異常和錯誤是完全相同的概念
D.Python通過try、except等保留字提供異常處理功能
25.執行以下代碼的結果是?A.20B.24C.30D.33
26.Python中匿名函數的關鍵字是()。
A.lambdaB.globalC.withD.I)ass
27.若I,j均為整形數值對象,以下哪個語句計算i被j除后的余數()
A.imodjB.i/jC.i%jD.i//j
28.執行以下代碼的結果是()A.A.'David'
B.['David']
C.['d']
D.'d'
29.軟件設計中劃分模塊的一個準則是()。A.低內聚低耦合B.高內聚低耦合C.低內聚高耦合D.高內聚高耦合
30.關于字典的描述,錯誤的是()。
A.字典的元素以鍵為索引進行訪問
B.字典的一個鍵可以對應多個值
C.字典長度是可變的
D.字典是鍵值對的結合,鍵值對之間沒有順序
二、判斷題(10題)31.使用del命令或者列表對象的remove()方法刪除列表中元素時會影響列表中部分元素的索引。
A.是B.否
32.定義函數時,即使該函數不需要接收任何參數,也必須保留一對空的圓括號來表示這是一個函數。
A.是B.否
33.調用函數時,在實參前面加一個型號*表示序列解包。
A.是B.否
34.OpenGL采用的“狀態機”工作方式,一旦設置了某種狀態以后,除非顯式修改該狀態,否則該狀態將一直保持。
A.是B.否
35.一般來說,Python擴展庫沒有通用于所有版本Python的,安裝時應選擇與已安裝Python的版本對應的擴展庫。
A.是B.否
36.元組的訪問速度比列表要快一些,如果定義了一系列常量值,并且主要用途僅僅是對其進行遍歷二不需要進行任何修改,建議使用元組而不使用列表。
A.是B.否
37.已知列表x=[1,2,3],那么執行語句x=3之后,變量x的地址不變。
A.是B.否
38.放在一對三引號之間的任何內容將被認為是注釋。
A.是B.否
39.運算符/在Python2.x和Python3.x中具有相同的功能。
A.是B.否
40.在循環中continue語句的作用是跳出當前循環。
A.是B.否
三、填空題(10題)41.Python內置函數____________用來返回序列中的最大元素。
42.表達式set([1,2,2,3])=={1,2,3}的值為____________。
43.表達式'abc10'.isalnum()的值為______________。
44.表達式abs(3+4j)的值為____________。
45.查看變量類型的Python內置函數是________________。
46.已知x=(3),那么表達式x*3的值為__________。
47.表達式set([1,2,3])=={1,2,3}的值為____________。
48.以3為實部4為虛部,Python復數的表達形式為___________或________。
49.已知x=[3,5,3,7],那么表達式[x.index(i)foriinxifi==3]的值為______________。
50.表達式65>>1的值為_____________。
四、操作題(3題)51.考生文件夾下存在一個文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請在該文件中編寫代碼,以實現如下功能。使用Python的異常處理結構編寫對數計算,要求底數大于0且不等于1,真數大于0,且輸入的必須為實數,否則拋出對應的異常。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準try:a=eval(input(‘請輸入底數:’))b=eval(input(‘請輸入真數:’))c=_____exceptValueError:…exceptZeroDivisionError:print(‘底數不能為1’)exceptNameError:Prints(‘輸入必須為實數’)else:print(C)
52.某班學生評選一等獎學金,學生的10門主干課成績存在考生文件夾下文件score.txt中,每行為一個學生的信息,分別記錄了學生學號、姓名以及10門課成績,格式如下:
1820161043
鄭珉鎬68668377567361696678
1820161044
沈紅偉91708l919680789l8994
從這些學生中選出獎學金候選人,條件是:①總成績排名在前10名;②全部課程及格(成績大于等于60)。
問題1:給出按總成績從高到低排序的前10名學生名單,并寫入文件candidate0.txt,每行記錄一個學生的信息,分別為學生學號、姓名以及10門課成績。補充考生文件夾下文件PY301一1.py,完成這一功能。試題程序:
#請在…處使用多行代碼替換
##注意:其他已給出代碼僅作為提示,可以修改L=[]
#L中的元素是學生原始成績和總成績
…#此處可多行
L.sort(key=lambdax:x[一1],reverse=True)拌按學生總成績從大到小排序
…#此處可多行
問題2:讀取文件candidate0.txt,從中選出候選人,并將學號和姓名寫入文件candidate.txt,格式如下:
1010112161722
張三
1010112161728
李四
補充考生文件夾下文件PY301—2.py,完成這一功能。
試題程序:'''輸入文件:candidate0.txt輸出文件:candidate.txt'''
53.考生文件夾下存在一個文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請在該文件中編寫代碼,以實現如下功能。用鍵盤輸入兩個大于0的整數,按要求輸出這兩個整數之間(不包括這兩個整數)的所有素數。素數又稱質數,是指除了1和它本身以外不能被其他整數整除的數。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準lower=int(input(‘輸入區間最小值:’))upper=int(inputs(‘輸入區間最大值:’))fornuminrange(_____,_____):
參考答案
1.C列表的index()方法用于從列表中找出某個對象第一個匹配項的索引位置,如果這個對象不在列表中會報一個異常。其語法為:list.index(obj[,start=0[,stop=len(L)]]),其中obj為必須參數,指要查找的對象;start為可選參數,指從哪個索引位置開始查找,默認為0;stop為可選參數,指查找到哪個索引位置結束,默認為列表的長度。本題中,查找對象為’烏龍茶’,從索引位置為0處開始查找,查找到第二個元素匹配,故返回其索引位置1。
2.B關系數據庫中的關系是要滿足一定要求的,滿足不同程度要求的為不同的范式。滿足最低要求的叫第一范式,簡稱1NF。在滿足第一范式的基礎上,進一步滿足更多要求的則是第二范式。在滿足第二范式的基礎上,還可以再滿足第三范式,以此類推。對于關系模式,若其中的每個屬性都已不能再分為簡單項,則它屬于第一范式。若某個關系R為第一范式,并且R中每一個非主屬性完全依賴于R的某個候選鍵,則稱其為第二范式。第二范式消除了非主屬性對主鍵的部分依賴。如果關系R是第二范式,并且每個非主屬性都不傳遞依賴于R的候選鍵,則稱R為第三范式。(傳遞依賴:在關系模式中,如果Y→X,X→A,且X不決定Y、A不屬于X,那么Y→A是傳遞依賴。)本題中,關系S滿足第一范式和第二范式,但是S#→D#,D#→Da,存在傳遞依賴,因此不滿足第三范式。該關系滿足的最高范式是2NF。本題選擇B選項。
3.CPython的單分支結構使用if關鍵字對條件進行判斷,語法格式如下:if〈條件>:<語句塊>Python的二分支結構使用if-else關鍵字對條件進行判斷,語法格式如下:if<條件>:<語句塊1>else:〈語句塊2>Python的多分支結構使用if-elif-else關鍵字對多個相關條件進行判斷,并根據不同條件的結果按照順序選擇執行路徑,語法格式如下:if<條件1>:〈語句塊1>elif<條件2>:<語句塊2>else:〈語句塊3>本題選擇C選項。
4.D繼承是面向對象的方法的一個主要特征,是使用已有的類的定義作為基礎建立新類的定義技術。廣義地說,繼承是指能夠直接獲得已有的性質和特征,而不必重復定義它們,所以說繼承是指類之間共享屬性和操作的機制。本題選擇D選項。
5.D列表的下標是從0開始的;元組的元素值可以刪除、連接,但不能被修改;字典中的“鍵”可以是整數或者字符串,但也可以是函數、元組、類等任意不可變類型。
6.C列表用中括號([])表示,由于列表屬于序列類型,故繼承了序列類型的所有屬性和方法,B項正確。索引是列表的基本操作,用于獲得列表中的一個元素,該操作沿用序列類型的索引方式,即正向遞增序號或反向遞減序號,使用中括號作為索引操作符,索引號不得超過列表的元素范圍,否則將產生IndexError錯誤。A項正確。列表可以進行元素增加、刪除、替換、查找等操作,列表沒有長度限制,元素類型可以不同,能夠包含其他的組合數據類型,故D項正確、C項錯誤。
7.DPython是一種解釋型高級通用腳本語言,具有通用性,可以用于幾乎任何與程序設計相關應用的開發。Python主要應用于以下幾個領域:Web開發、爬蟲開發、科學計算、高性能服務器后端、開發界面程序。QT也提供了Python的支持,因為Python的開源庫包含對C/C++lib庫的調用。D選項中,“主要”二字太過絕對。本題選擇D選項。
8.B用中括號([])表示列表類型,也可以通過list(x)函數將集合或字符串類型轉換成列表類型。此代碼生成列表lis=[0,1,2,3],最后通過print()函數輸出。本題選B選項。
9.C因為一個人可以操作多個計算機,而一臺計算機又可以被多個人使用,所以兩個實體之間是多對多的關系。本題選擇C選項。
10.B數據字典(DataDictionary,DD)是對數據流圖中所有元素的精確、嚴格的定義和解釋,是一個有組織的列表,使得用戶和系統分析員對于輸入、輸出、存儲成分和中間計件結果有共同的理解,是結構化分析的核心。
11.B外層for循環依次將字符串“mlss”中的字符賦給變量i,內層for控制循環3次,注意是先執行print再判斷if條件,輸出第一個i后,碰到if判斷條件,當i==“i”時退出內層循環,所以結果為mmmlssssss。本題選擇B選項。
12.APylons是基于Python的一個Web開發框架的第三方庫,Keras、TenSorFlow和MXNet是Python機器學習領域的第三方庫。本題選擇A選項。
13.ABeautifulsoup4-用于解析和處理HTML和XML。它的最大優點是能根據HTML和XML語法建立解析樹,進而高效解析其中的內容。
14.B棧是按“先進后出”的原則組織數據的,數據的插入和刪除都在棧頂進行操作。
15.B二維數據由多個一維數據構成,可以看作一維數據的組合形式。本題中該列表雖然包含兩種數據類型,但仍然是一維數據。本題選擇B選項。
16.B詳細設計階段常見的工具有程序流程圖、N—S圖、PAD圖、HIPO圖、判定表等。本題選B選項。
17.C
18.BPython中異常處理結構有try-except、try-except-else及\ntry-except-flnally。本題選擇B選項。
19.C白盒測試方法主要有邏輯覆蓋、基本路徑測試等。黑盒測試方法主要有等價類劃分法、邊界值分析法、錯誤推測法及因果圖等。基本路徑測試根據軟件過程性描述中的控制流確定程序的環路復雜性度量,用此度量定義基本路徑的集合,并由此導出一組測試用例對每一條獨立執行路徑進行測試。因此,基本路徑測試屬于動態測試。本題選擇C選項。
20.A棧支持子程序調用。棧是-種只能在-端進行插入或刪除的線性表,在主程序調用子函數時要首先保存主程序當前的狀態,然后轉去執行子程序,最終把子程序的執行結果返回到主程序中調用子程序的位置,繼續向下執行,這種調用符合棧的特點,因此本題的答案為A。
21.Clen()方法用來獲取字符串的長度,所以length應為14;title()方法把字符串每個單詞的首字母變為大寫,所以應為Python\nIsGood;索引從0開始,所以s[1:6]應為ython。本題選擇C選項。
22.Bfor循環將字符串grandfather中的字符依次賦給變量s,當s==”d”或s=='\nh”時,結束本次循環,不執行print(s,end=”);反之,則執行print(s,end\n=')。故輸出結果為granfater。本題選擇B選項。
23.Apython語言屬于腳本語言,腳本語言采用解釋方式執行。解釋是將源代碼逐條轉換成目標代碼同時逐條運行目標代碼的過程,不是一次性翻譯的。
24.C異常指的是在程序運行過程中發生的異常事件,通常是由外部問題(如硬件錯誤、輸入錯誤)所導致。錯誤是指導致系統不能按照用戶意圖工作的一切原因、事件。在程序設計過程中,由于某些錯誤的存在,因此程序無法正常運行,處理這些錯誤使程序正確運行就稱為錯誤處理。異常和錯誤是完全不同的概念。本題選擇C選項。
25.D
26.AB項是定義全局變量的關鍵字,C項是with…as用來代替傳統的try…finally語法,D項的意思是程序什么都不做。
27.C
28.D
29.B一般較優秀的軟件設計,應盡量做到高內聚、低耦合,即減弱模塊之間的耦合性和提高模塊內的內聚性,有利于提高模塊的獨立性。
30.B在Python中,字典是存儲可變數量鍵值對的數據結構,通過字典類型實現映射,一個鍵對應一個值,鍵必須是唯一的,且必須是不可變數據類型,值可以是任何數據類型。字典具有和集合類似的性質,即鍵值對之間沒有順序且不能重復。字典可以通過”字典[’鍵’]”的形式訪問對應的元素,即以鍵為索引進行訪問。故描述錯誤的是B項。
31.Y
32.Y
33.Y
34.Y
35.Y
36.Y
37.N
38.N
39.N
40.N
41.max()
42.True
43.True
44.5.0
45.type()
46.9
47.True
48.3+4j、3+4J
49.[0,0]
50.32
51.?Importmathtry:a=eval(input('請輸入底數:”))b=eval(input(‘請輸入真數:’))c=math.log(b,a)exceptValueError:ifa<=0andb>0:Print(‘真數和底數都不能小于等于0’)exceptZeroDivisionError:print(’底數不能為1’)exceptNameError:print(輸入必須為實數’)else:print(c)ax=/V(a>0,a≠1),那么指數x叫作以a為底N的對數,記作x\r\n=logaN其中a叫作對數的底數,叫作真數。要使用對數,需先導入math庫,math.log(x[,base])返回x的自然對數,x>0。使用異常處理機制時,根據不同的錯誤類型,輸出不同的信息內容,在值錯誤類型下,使用if判斷語句將有可能錯誤的信息進行處理。
52.(1)L=[]\r\n
fo=open("score.txt","r")\r\n
fi=open("candidate0.txt","w")\r\n
lines=fo.readlines()\r\n
forlineinlines:\r\n
line=line.strip()\r\n
student=line.split('')\r\n
sum=0\r\n
foriinrange(1,11):\r\n
sum+=int(student[-i])\r\n
studene.append(str(sum))\r\n
L.append(student):\r\n
L.sort(key=lambda.x:x[一1],reverse=True)\r\nforiinrange(10):\r\nfi.write('',join(L[i][:-1])+'\\n')\r\nfo.close()\r\nfi.close()(2)'''\r\n輸入文件:candidate0.txt\r\n輸出文件:candidate.txt\r\n'''\r\nfo=open("candidate0.txt","r")\r\nfi=open("candlidate.txt","w")\r\nL=[]#存儲候選人\r\nlines=fo.readlines()\r\nforlineinlines:\r\n
line=line.strip()\r\n
student=line.split('')\r\n
foriinstudent[-10:]:\r\n
ifint(i)<60:\r\n
break\r\n
else:\r\n
I:append(student[:2])\r\nforiinL:\r\n
fi.write(''.join(i)+'\\n')\r\nfo.close()\r\nfi.close()(1)本題涉及”score.txt”和”candidate0.txt”兩個文件。首先要讀取”score.txt”文件中的信息,通過程序求出每個學生的總成績,然后按總成績從大到小排序,將總成績排名前10的學生的學號、姓名以及10門課成績寫入到”candidate0.txt”文件中。打開文件用open()函數,用”r”只讀模式打開文件”score.txt”,用”w”模式創建文件”cand:idate0.txt”。\r\n
”score.txt”文件中每行為一個學生的信息,需要用readlines()函數讀入所有行,以每行為元素形成列表lines,然后用for循環遍歷該列表中的每個元素。在遍歷每個元素時,用strip()方法刪除元素首尾出現的空格,用split()方法以空格分隔學生的學號、姓名以及10門課成績得到列表student。由于要求出總成績,因此要使用for遍歷每個學生的10門課成績,將其累加賦值給sum,并將sum追加到student中。最后將student中所有元素追加到列表L中。\r\n
隨后,對列表L中的元素進行排序,用到sort()方法,參數”key=lambd
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年家庭農場承包合同
- 基于手勢識別的自然交互界面探索-洞察闡釋
- 能源采購居間服務協議范本
- 綠色建筑示范場開發與推廣合作協議
- 柴油運輸環保風險評估合同
- 2025合作合同范本母公司與發展公司合作協議模板
- 2020年江蘇公務員考試申論真題及答案(C類)
- 系統功能測試計劃
- 量子化學測試題目及答案
- 新證券法考試題及答案
- 電大可編程控制器應用實訓 形考任務2
- 實驗設計與數據處理
- 語C圈洗白手冊
- GB/T 1931-2009木材含水率測定方法
- 【不做為不擔當自查報告】不作為不擔當自查報告教師
- NB∕T 33009-2021 電動汽車充換電設施建設技術導則
- 熊春錦先生校勘的《德道經》
- 滑板項目選材指標與標準
- YTHG 金 屬 波 紋 涵 管
- 有機化學第九章醛和酮
- 【課件】3.3觸摸創新——用材料改變觀念課件-2021-2022學年高中美術人美版(2019)選修繪畫
評論
0/150
提交評論