湖南省岳陽市全國計算機等級考試Python語言程序設計重點匯總(含答案)_第1頁
湖南省岳陽市全國計算機等級考試Python語言程序設計重點匯總(含答案)_第2頁
湖南省岳陽市全國計算機等級考試Python語言程序設計重點匯總(含答案)_第3頁
湖南省岳陽市全國計算機等級考試Python語言程序設計重點匯總(含答案)_第4頁
湖南省岳陽市全國計算機等級考試Python語言程序設計重點匯總(含答案)_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

湖南省岳陽市全國計算機等級考試Python語言程序設計重點匯總(含答案)學校:________班級:________姓名:________考號:________

一、單選題(30題)1.以下保留字不用于循環(huán)邏輯的是()。

A.tryB.elseC.forD.continue

2.一個模塊直接調用的下層模塊的數(shù)目稱為模塊的()。

A.扇入數(shù)B.扇出數(shù)C.寬度D.作用域

3.以下保留字不屬于分支或循環(huán)邏輯的是()。

A.elifB.doC.forD.while

4.在數(shù)據(jù)管理的3個階段中,數(shù)據(jù)共享最好的是()。

A.人工管理階段B.文件系統(tǒng)階段C.數(shù)據(jù)庫系統(tǒng)階段D.3個階段相同

5.在Python語言中,寫文件操作時定位到某個位置所用到的函數(shù)是()。

A.write()B.writeall()C.seek()D.writetext()

6.下列數(shù)據(jù)結構中,能夠按照“先進后出”原則存取數(shù)據(jù)的是()。

A.循環(huán)隊列B.棧C.隊列D.二叉樹

7.執(zhí)行以下代碼的結果是?intx=-3;inty=-10;System.out.println(y%x);A.-1B.2C.1D.3

8.以下關于文件的描述中,錯誤的是()。

A.文件是存儲在輔助存儲器上的一組數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內容

B.可以使用open()打開文件,用close()關閉文件

C.使用read()可以從文件中讀入全部文本

D.使用readlines()可以從文件中讀入一行文本

9.下列關于Python列表的描述錯誤的是()。

A.列表元素可以被修改B.列表元素沒有長度限制C.列表元素的個數(shù)不限D.列表元素的數(shù)據(jù)類型必須一致

10.下面代碼的輸出結果是()。deff(n):ifn==1:return1else:returnn*f(n—1)print(f(4))

A.24B.4C.0D.10

11.以下關于Python分支結構的描述中,錯誤的是()。

A.Python分支結構使用保留字if、elif和else來實現(xiàn),每個if后面必須有elif或else

B.if-else結構是可以嵌套的

C.if語句會判斷if后面的邏輯表達式,當表達式為真時,執(zhí)行if后續(xù)的語句塊

D.縮進是Python分支語句的語法部分,縮進不正確會影響分支功能

12.在讀/寫文件之前,需要打開文件,使用的函數(shù)是()。

A.readB.fopenC.openD.CFile

13.以下不屬于Python保留字的是()。

A.passB.useC.withD.None

14.下列敘述中正確的是()。

A.循環(huán)鏈表中至少有一個結點B.雙向鏈表有兩個頭指針C.雙向鏈表有兩個頭結點D.循環(huán)鏈表是循環(huán)隊列的鏈式存儲結構

15.下列關于Python的描述正確的是()。

A.Python的整數(shù)類型有長度限制,超過上限會產(chǎn)生溢出錯誤

B.Python中采用嚴格的“縮進”來表明程序格式,不可嵌套

C.Python中可以用八進制來表示整數(shù)

D.Python的浮點數(shù)類型沒有長度限制,只受限于內存的大小

16.以下程序的輸出結果是()。n=2deff(a): n=bool(a-2) returnnb=f(2)print(n,b)

A.20B.0TrueC.2FalseD.0False

17.以下關于Python中try語句的描述中,錯誤的是()。

A.try用來捕捉執(zhí)行代碼發(fā)生的異常,處理異常后能夠回到異常處繼續(xù)執(zhí)行

B.當執(zhí)行try代碼塊觸發(fā)異常后,會執(zhí)行except后面的語句

C.一個try代碼塊可以對應多個處理異常的except代碼塊

D.try代碼塊不觸發(fā)異常時,不會執(zhí)行except后面的語句

18.假設現(xiàn)在是2018年10月1日的下午2點20分7秒,則下面程序的輸出結果為()。importtimeprint(time.strftime(“%y-%m-%d@%Y-%M-%D”,time.gmtime()))

A.2018-10-1@14-20-7

B.2018-10-1@14-20-07

C.2018-10-01@-14-20-07

D.True@True

19.以下關于數(shù)據(jù)組織的描述中,錯誤的是()。

A.—維數(shù)據(jù)采用線性方式組織,可以用Python集合或列表表示

B.列表僅用于表示一維和二維數(shù)據(jù)

C.二維數(shù)據(jù)采用表格方式組織,可以用Python列表表示

D.更高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構成,可以用Python字典表示

20.下列的說法中,不正確的是()

A.迭代器協(xié)議是指:對象必須提供一個next方法

B.list、dict、str雖然是Iterable,卻不是Iterator

C.生成器與迭代器對象的區(qū)別在于:它僅提供next()方法

D.生成器實現(xiàn)了迭代器協(xié)議,但生成器是邊計算邊生成達到節(jié)省內存及計算資源

21.下面程序輸出的結果是()。sl,s2=”Mom”,””Dad"Print(“{}loves{}format(s2,si))

A.DadlovesMomB.MomlovesDadC.sllovess2D.s2lovess1

22.在Python中,使用for—n…方式形成的循環(huán)不能遍歷的類型是()。

A.列表B.復數(shù)C.字符串D.字典

23.以下關于分支和循環(huán)結構的描述中,錯誤的是()。

A.While循環(huán)只能用來實現(xiàn)無限循環(huán)

B.所有的for分支都可以用while循環(huán)改寫

C.保留字break可以終止一個循環(huán)

D.continue可以停止后續(xù)代碼的執(zhí)行,從循環(huán)的開頭重新執(zhí)行

24.不能使下面程序結束的是()。whileTrue: inp=eval(input(“請輸入一個數(shù)值:”)) ifinp//3: break

A.2B.3C.4D.5

25.以下程序的輸出結果是()。try:print((3+4j)*(3-4j))except:print(”運算錯誤!!”)

A.(25+0j)B.5C.運算錯誤!!D.3

26.下列敘述中正確的是()。

A.找是“先進先出”的線性表

B.隊列是“先進后出”的線性表

C.循環(huán)隊列是非線性結構

D.有序線性表既可以釆用順序存儲結構,也可以采用鏈式存儲結構

27.循環(huán)隊列的存儲空間為Q(0:59),初始狀態(tài)為空。經(jīng)過一系列正常的入隊與退隊操作后,front=25,rear=24。循環(huán)隊列中的元素個數(shù)為()。

A.1B.2C.59D.60

28.以下不屬于Python中異常處理結構的是()。

A.try-except

B.try-except—if

C.try—except-else

D.try—except-finally

29.數(shù)據(jù)流圖(DFD)的作用是()。

A.描述軟件系統(tǒng)的控制流B.支持軟件系統(tǒng)功能建模C.支持軟件系統(tǒng)的面向對象分析D.描述軟件系統(tǒng)的數(shù)據(jù)結構

30.下面哪個語句能夠讓列表中的名字按行輸出?names=[‘Dick’,‘Nancy’,‘Roger’]A.print("\n".join(names))

B.print(names.join("\n"))

C.print(names.append("\n"))

D.print(names.join("%s\n",names))

二、判斷題(10題)31.調用函數(shù)時傳遞的實參個數(shù)必須與函數(shù)形參個數(shù)相等才行。

A.是B.否

32.當作為條件表達式時,{}與None等價。

A.是B.否

33.Python代碼可以內嵌在asp文件中。A.是B.否

34.3+4j是合法Python數(shù)字類型。

A.是B.否

35.異常處理結構中的finally塊中代碼仍然有可能出錯從而再次引發(fā)異常。

A.是B.否

36.在Python中可以為自定義類的對象動態(tài)增加新成員。

A.是B.否

37.Python采用的是基于值得自動內存管理方式。

A.是B.否

38.如果只需要math模塊中的sin()函數(shù),建議使用frommathimportsin來導入,而不要使用importmath導入整個模塊。

A.是B.否

39.只有Python擴展庫才需要導入以后才能使用其中的對象,Python標準庫不需要導入即可使用其中的所有對象和方法。

A.是B.否

40.假設已成功導入os和sys標準庫,那么表達式os.path.dirname(sys.executable)的值為Python安裝目錄。

A.是B.否

三、填空題(10題)41.已知x=3,那么執(zhí)行語句x+=6之后,x的值為_______________。

42.已知x={1:2,2:3,3:4},那么表達式sum(x.values())的值為_________。

43.表達式list(map(lambdax:len(x),['a','bb','ccc']))的值為__________。

44.已知x=[1,2,3,4,5],那么執(zhí)行語句delx[:3]之后,x的值為__________。

45.表達式'%d,%c'%(65,65)的值為________。

46.已知列表x=[1,2,3]和y=[4,5,6],那么表達式[(i,j)fori,jinzip(x,y)ifi==3]的值為____________。

47.已知x={'a':'b','c':'d'},那么表達式'b'inx的值為______________。

48.表達式'abc10'.isalnum()的值為______________。

49.列表、元組、字符串是Python的_________(有序?無序)序列。

50.已知x為非空列表,那么執(zhí)行語句y=x[:]之后,id(x[0])==id(y[0])的值為__________。

四、操作題(3題)51.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:循環(huán)獲得用戶輸入,直至用戶輸入Y或者y字符退出程序。

試題程序:

#請在_______處使用一行代碼或表達式替換

#注意:請不要修改其他已給出代碼while_________:

s=input(”請輸入信息:”)

if______:

break

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.考生文件夾下存在一個文件“PY201.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。使用turtle庫的turtle.seth()函數(shù)和turtle.fd()函數(shù)繪制一個邊長為100像素的三角形,效果如下所示。

試題程序:#請在_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼importturtleforiinrange(_____(1)_____):turtle.seth(_____(2)_____)_____(3)_____(100)

參考答案

1.A用于循環(huán)邏輯的保留字:while、for、else、break、continue。try用于捕捉異常。

2.B扇入數(shù)是指調用一個給定模塊的模塊個數(shù)。扇出數(shù)是指由一個模塊直接調用的其他模塊數(shù),即一個模塊直接調用的下層模塊的數(shù)目。本題答案為B選項。

3.Belif是分支邏輯保留字,for和while是循環(huán)邏輯保留字,在Python中沒有do保留字。

4.C數(shù)據(jù)管理發(fā)展至今已經(jīng)歷了\n3個階段:人工管理階段、文件系統(tǒng)階段及數(shù)據(jù)庫系統(tǒng)階段。最后一個階段結構簡單,使用方便,邏輯性強,物理性少,在各方面的表現(xiàn)都最好,一直占據(jù)數(shù)據(jù)庫領域的主導地位,本題選擇C選項。

5.C在Python語言中,寫文件操作時定位到某個位置所用到的函數(shù)是seek()。設f為文件變量,用法:f.seek(offset),含義:改變當前文件操作指針的位置,offset的值:0為文件開頭;2為文件結尾。

6.B棧是按先進后出的原則組織數(shù)據(jù)的。隊列是按先進先出的原則組織數(shù)據(jù)。本題選擇B選項。

7.A

8.D文件是存儲在輔助存儲器上的一組數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內容,A選項正確。可以使用open()打開文件,用close()關閉文件,B選項正確。在Python中,文件讀取方法如下(f代表文件變量)。f.read():從文件中讀入整個文件內容。f.readline():從文件中讀入一行內容。f.readlineS():從文件中讀入所有行,以每行為元素形成一個列表。f.seek():改變當前文件操作指針的位置。C選項正確。本題選擇D選項。

9.D列表沒有長度限制,元素類型可以不同,不需要預定義長度。列表可以進行元素的增加、刪除、替換、查找等操作。

10.A該代碼的功能是根據(jù)傳人的參數(shù)求取該數(shù)的階乘,經(jīng)過一系列的運算將結果返回,4的階乘為24。

11.APython分支結構使用保留字if、elif和else來實現(xiàn),每個if后面不一定要有elif或else,A選項錯誤;if-else結構是可以嵌套的,B選項正確;if語句會判斷if后面的邏輯表達式,當表達式為真時,執(zhí)行if后續(xù)的語句塊,C選項正確;縮進是Python分支語句的語法部分,縮進不正確會影響分支功能,D選項正確。本題選擇A選項。

12.CPython通過open()函數(shù)打開一個文件,并返回一個操作這個文件的變量,語法格式為<變量名>=open(\n<文件路徑及文件名>,<打開模式>)。本題選擇C選項。

13.BPython總共有35個關鍵字,分別是\nand、as、assert、async、await、break、class、continue、def、del、elif、else\n、except、False、finally、for、from、global、if、import、in、is、lambda、None、nonlocal、not、or、pass、raise、re-turn、Tme、try、while、with、yield。本題選擇\nB選項。

14.A循環(huán)鏈表是指在單鏈表的第一個結點前增加一個表頭結點,即空循環(huán)鏈表和非空循環(huán)鏈表中均存在表頭結點,故循環(huán)鏈表中至少有一個結點,A項正確。循環(huán)鏈表是線性表的一種鏈式存儲結構,循環(huán)隊列是隊列的一種順序存儲結構,D項錯誤。雙向鏈表也叫雙鏈表,是鏈表的一種,它的每個數(shù)據(jù)結點中都有兩個指針(左指針和右指針),分別指向其前件結點和后件結點。雙向鏈表中只有一個頭指針且無頭結點,B、C兩項錯誤。

15.CPython的整數(shù)類型沒有長度限制;Python采用嚴格的“縮進”格式,可以嵌套;Python的浮點數(shù)類型有長度限制,也受限于內存的大小。本題選擇C選項。

16.C這段代碼是全局變量、局部變量以及Python內置函數(shù)bool()的一個結合。當函數(shù)內部的局部變量名和函數(shù)外部全局變量名相同,調用函數(shù)時,總是先找到函數(shù)內部的局部變量名,所以當a為2時,經(jīng)過布爾型轉換之后的a-2,即b為False,而在函數(shù)外部只能訪問全局變量名,所以n仍為2。本題選擇C選項。

17.APython使用保留字try和except進行異常處理,基本的語法如下。try:\t<語句塊1>except:\t<語句塊2>“語句塊1”是正常執(zhí)行的程序內容,當執(zhí)行這個語句塊發(fā)生異常時,則執(zhí)行except保留字后面的“語句塊2”。一個try代碼塊可以對應多個處理異常的except代碼塊。本題選擇A選項。

18.Ctime庫是Python的標準庫。使用gmtime()函數(shù)獲取當前時間戳對應的對象。strftime()函數(shù)是時間格式化最有效的方法,幾乎可以以任何通用格式輸出時間。strftime()利用一個格式字符串,對時間格式進行表示。本題選擇C選項。

19.A一維數(shù)據(jù)采用線性方式組織,在Python中主要采用列表表示,集合不屬于線性結構。二維數(shù)據(jù)采用二維列表方式組織,在Python中可以采用二維列表表示。高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構成,釆用對象方式組織,在Python中可以采用字典類型表示。在Python中,列表類型僅用于表示一維和二維數(shù)據(jù)。本題選擇A選項。

20.C

21.APython使用format()格式化方法,語法格式為<模板字符串>.format(\n<逗號分隔的參數(shù)>),其中模板字符串是一個由字符串和槽組成的字符串,用來控制字符串和變量的顯示效果。槽用花括號({})表示,對應fcmnat()方法中逗號分隔的參數(shù)。如果模板字符串有多個槽,且槽內沒有指定序號,則按照槽出現(xiàn)的順序分別對應format()方法中的不同參數(shù)。參數(shù)根據(jù)出現(xiàn)先后存在一個默認序號。本題選擇A選項。

22.B在Python中,使用for…in…方式形成的循環(huán)能遍歷的類型有字符串、文件、range()函數(shù)或組合數(shù)據(jù)類型,不能遍歷復數(shù)。本題選擇B選項。

23.APython中循環(huán)包括兩種:遍歷循環(huán)和無限循環(huán)。遍歷循環(huán)使用保留字for依次提取遍歷結構元素進行處理;無限循環(huán)使用保留字while根據(jù)判斷條件執(zhí)行程序。如果while中判斷條件可以執(zhí)行一次或兩次,while中的語句塊也就執(zhí)行一次或兩次,A項錯誤。循環(huán)結構有兩個輔助循環(huán)控制保留字:break和continue。break用來跳出最內層for或while循環(huán),脫離該循環(huán)后程序從循環(huán)后的代碼繼續(xù)執(zhí)行;continue用來結束當前當次循環(huán),即跳出循環(huán)體中下面尚未執(zhí)行的語句,但跳不出當前循環(huán)。兩者的區(qū)別是:continue語句只結束本次循環(huán),不終止整個循環(huán)的執(zhí)行,而break具備結束循環(huán)的能力。C、D兩項正確。所有的for分支都可以用while循環(huán)改寫,B項正確。本題選A選項。

24.Awhile循環(huán)條件一直為True,即無限循環(huán),只要“inp//3”條件為真,進入循環(huán),則執(zhí)行break語句,即可跳出while循環(huán)。2//3的值為0,條件為假,不執(zhí)行break語句,無法結束程序執(zhí)行。本題選擇A選項。

25.A(3+4j)*(3-4j)是復數(shù)的乘法運算。設c1=a+bj,c2=c+dj(a、b、c、d均為實數(shù)),c1*c2=\n(ac-bd)+(bc+ad)j0結果是(25+0j)。本題選擇A選項。

26.D棧是先進后出的線性表,所以A選項錯誤;隊列是先進先出的線性表,所以B選項錯誤;循環(huán)隊列是線性結構的線性表,所以C選項錯誤。本題選擇D選項。

27.C設循環(huán)隊列的存儲空間為Q(l:m),初始狀態(tài)為空。在循環(huán)隊列運轉起來后,如果rear-front>0,則隊列中的元素個數(shù)為\nrear-front個;如果rear-front<0,則隊列中的元素個數(shù)為rear-front+m。本題中front=25,rear=24,rear-front<0,則兀素個數(shù)為24-25+60=\n59。本題選擇C選項。

28.BPython中異常處理結構有try—except、try—except—else和try—except—finally,沒有選項B的用法。

29.B數(shù)據(jù)流圖是系統(tǒng)邏輯模型的圖形表示,從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動變化過程,它直接支持系統(tǒng)的功能建模。

30.A

31.N

32.Y

33.Y

34.Y

35.Y

36.Y

37.Y

38.Y

39.N

40.Y

41.9

42.9

43.[1,2,3]

44.[4,5]

45.'65,A'

46.[(3,6)]

47.False

48.True

49.有序

50.True

51.whileTrue:\r\n

s=input(”請輸入信息:”)\r\n

ifs=="y"ors=="Y":\r\n

break題目要求無限循環(huán),即while的條件一直為真,所以為True,根據(jù)鍵盤輸人的信息判斷是否結束循環(huán)。當輸入的信息為y或Y時退出循環(huán),所以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()函數(shù),用”r”只讀模式打開文件”score.txt”,用”w”模式創(chuàng)建文件”cand:idate0.txt”。\r\n

”score.txt”文件中每行為一個學生的信息,需要用readlines()函數(shù)讀入所有行,以每行為元素形成列表lines,然后用for循環(huán)遍歷該列表中的每個元素。在遍歷每個元素時,用strip()方法刪除元素首尾出現(xiàn)的空格,用split()方法以空格分隔學生的學號、姓名以及10門課成績得到列表student。由于要求出總成績,因此要使用for遍歷每個學生的10門課成績,將其累加賦值給sum

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論