貴州省六盤水市全國計算機等級考試Python語言程序設計真題(含答案)_第1頁
貴州省六盤水市全國計算機等級考試Python語言程序設計真題(含答案)_第2頁
貴州省六盤水市全國計算機等級考試Python語言程序設計真題(含答案)_第3頁
貴州省六盤水市全國計算機等級考試Python語言程序設計真題(含答案)_第4頁
貴州省六盤水市全國計算機等級考試Python語言程序設計真題(含答案)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

貴州省六盤水市全國計算機等級考試Python語言程序設計真題(含答案)學校:________班級:________姓名:________考號:________

一、單選題(30題)1.對于以下代碼的描述正確的是()。s=”Pythonisgood”l=”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_1為”Pythonisgoodisn’tit?”

D.s_number為”Python”

2.關于字典的描述,錯誤的是()。

A.字典的元素以鍵為索引進行訪問

B.字典的一個鍵可以對應多個值

C.字典長度是可變的

D.字典是鍵值對的結合,鍵值對之間沒有順序

3.下面這段代碼的輸出是()。l=’abcd’deff(x,result=['a','b,'c','d']):ifx:result.remove(x[一1])f(x[:一1])returnresultprint(f(l))

A.[’a’,,b’,’c’,’d’]B.['b',’c’,’d’]C.[’a’,'b',’c’]D.[]

4.下列關于Python程序格式的描述中正確的是()。

A.注釋可以在一行中的任意位置開始,這一行都會作為注釋不被執(zhí)行

B.縮進是指每行代碼前的留白部分,用來表示層次關系,使代碼更加整潔利于閱讀,所有代碼都需要在行前至少加一個空格

C.Python不允許在一行的末尾加分號,這會導致語法錯誤

D.一行代碼的長度如果過長,可以使用反斜杠續(xù)行

5.下列選項中不屬于結構化程序設計原則的是()。

A.可封裝B.自頂向下C.模塊化D.逐步求精

6.數據流圖中帶有箭頭的線段表示的是()。

A.控制流B.事件驅動C.模塊調用D.數據流

7.對于Python中的復數,下列說法錯誤的是()A.表示復數的語法是real+imagej

B.實部和虛部都是浮點數

C.虛部必須后綴j,且必須是小寫

D.復數對象之間無法進行比較

8.以下關于”for<循環(huán)變量>in<循環(huán)結構>”的描述,錯誤的是()。

A.<循環(huán)結構>采用[1,2,3]和[’1’,’2’,’3’]的時候,循環(huán)的次數是一樣的

B.這個循環(huán)體語句中不能有break語句,會影響循環(huán)次數

C.使用range(a,b)函數指定for循環(huán)的循環(huán)變量取值是從a到b—1

D.foriinrange(1,10,2)表示循環(huán)5次,i的值是從1到9的奇數

9.采用表結構來表示數據及數據間聯系的模型是()。

A.層次模型B.概念模型C.網狀模型D.關系模型

10.關于CSV文件的描述,下列選項中錯誤的是()。

A.CSV文件格式是一種通用的文件格式,應用于程序之間轉移表格數據

B.CSV文件的每一行是一維數據,可以使用Python中的列表類型表示

C.CSV文件通過多種編碼表示字符

D.整個CSV文件是一個二維數據

11.某完全二叉樹有256個節(jié)點,則該二叉樹的深度為()。

A.7B.8C.9D.10

12.在軟件開發(fā)中,需求分析階段可以使用的工具是()。

A.N-S圖B.DFD圖C.PAD圖D.程序流程圖

13.軟件設計中模塊劃分應遵循的準則是()。A.低內聚低耦合

B.高內聚低耦合

C.低內聚高耦合

D.高內聚高耦合

14.擬在屏幕上輸出HelloWorld,使用的Python語句是()。

A.printf(‘HelloWorld’)

B.print(HelloWorld)

C.print(“HelloWorld")

D.printf("HelloWorld")

15.黑盒測試技術依據的是()。

A.軟件功能的描述B.程序的邏輯結構C.程序的物理結構D.軟件行為的描述

16.下面代碼的輸出結果是()。list=[[0,1,2],"123.0","python"]a=all(list[0])b=list[1].split(".")c=ascii(list[2])print(a,b,c)

A.True['123']'python'

B.False['0']'l’

C.Tme[‘123’,’0’]丨1'

D.False[‘123’,’0’]'python’

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

A.try-except

B.try-except-if

C.try-except-else

D.try-except-finally

18.在Python中,能夠處理圖像的第三方庫是()。

A.PylnstallerB.PyserialC.PygameD.PIL

19.以下代碼的輸出結果是()。forsin"PythonNCRE":ifs=="N”:breakprint(s,end="")

A.PythonCREB.NC.PythonD.PythonNCRE

20.執(zhí)行以下代碼的結果是()A.1B.2C.5D.8

21.表達式3+5%6*2//8的值是()。

A.5B.4C.6D.7

22.以下程序的輸出結果是()。forcin’PythonNCRE’:ifc==’N’:breakprint?

A.無輸出B.PythonC.PythoD.PythonCRE

23.關于Python中is與==說法正確的是

A.is對比兩個變量指向是否為同一對象,==對比兩個變量指向對象是否為同值

B.is對比兩個變量指向對象是否為同一值,==是對比兩個變量指向是否為同一對象

C.is與==除均可用于比較對象是否為同一對象外,==還可以用于比較對象的值

D.以上說法均不正確

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

A.代碼的縮進錯誤導致的是邏輯錯誤

B.跳躍結構是Python的流程結構之一

C.Python支持的數據類型包括char、int及float等

D.Pythcm內存管理中,變量無須事先創(chuàng)建和賦值,而是可以直接使用

25.在Python中,讀入CSV文件保存的二維數據,按特定分隔符抽取信息,最可能用到的函數是()。

A.read()B.join()C.replace()D.split()

26.跳出所處的最近層循環(huán)的是()

A.breakB.continuesC.continueD.Pass

27.對以下代碼的輸出描述正確的是()。lis=list(range(6))print(lis)

A.[0,1,2,3,4,5]

B.[0,1,2,3,4,5,6]

C.0,1,2,3,4,5

D.0,1,2,3,4,5,6

28.下面代碼的輸出結果是()。print("calculationerror*')else:print("noerror")

A.calculationerrorB.noerrorC.9.0D.9.0noerror

29.對于以下程序的描述,正確的是()。s=“Pythonisgood”l=“isn’tit”length=len(s)s_title=s.title()s_l=s+ls_number=s[1:6]print(length)

A.length為12

B.s_title為“PYTHONISGOOD”

C.s_l為“Pythonisgoodisn’tit”

D.s_number為“Python”

30.從訪問權限的角度來看,類中的方法默認都是()

A.私有方法B.公有方法C.靜態(tài)方法D.實例方法

二、判斷題(10題)31.對文件進行讀寫操作之后必須顯式關閉文件以確保所有內容都得到保存。

A.是B.否

32.函數中的return語句一定能夠得到執(zhí)行。

A.是B.否

33.擴展庫os中的方法remove()可以刪除帶有只讀屬性的文件。

A.是B.否

34.Python不允許使用關鍵字作為變量名,允許使用內置函數名作為變量名,但這會改變函數名的含義。

A.是B.否

35.運算符“-”可以用于集合的差集運算。

A.是B.否

36.當以指定“鍵”為下標給字典對象賦值時,若該“鍵”存在則表示修改該“鍵”對應的“值”,若不存在則表示為字典對象添加一個新的“鍵-值對”。

A.是B.否

37.在一個軟件的設計與開發(fā)中,所有類名、函數名、變量名都應該遵循統(tǒng)一的風格和規(guī)范。

A.是B.否

38.調用函數時傳遞的實參個數必須與函數形參個數相等才行。

A.是B.否

39.只能對列表進行切片操作,不能對元組和字符串進行切片操作。

A.是B.否

40.調用帶有默認值參數的函數時,不能為默認值參數傳遞任何值,必須使用函數定義時設置的默認值。

A.是B.否

三、填空題(10題)41.表達式[1,2,3].count(4)的值為_______________。

42.表達式3//5的值為_______________。

43.表達式':'.join('abcdefg'.split('cd'))的值為______________。

44.表達式len('SDIBT')的值為__________。

45.已知x='abcd'和y='abcde',那么表達式[i==jfori,jinzip(x,y)]的值為________________。

46.已知列表x=[1,2],那么表達式list(enumerate(x))的值為_______________。

47.表達式len([iforiinrange(10)])的值為__________。

48.表達式'Helloworld!'[-4]的值為________________。

49.表達式chr(ord('a')-32)的值為___________。

50.表達式'abc'in('abcdefg')的值為______________。

四、操作題(3題)51.考生文件夾下存在兩個Python源文件“PY30H.py”和“PY301-2.py”,分別對應兩個問題,請按照文件內說明修改代碼,實現以下功能。《傲慢與偏見》是史上最震撼人心的“世界文學十部最佳小說之一”。第1章的內容由考生文件夾下文件“arrogant,txt”給出。問題1:請編寫程序,統(tǒng)計該篇文章的英文字符數(不統(tǒng)計換行符),字符與出現次數之間用冒號(:)分隔。結果保存在考生文件夾下,命名為“PY301-l.txt”。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準…d={}Is=list(d.items())…fo.write("{}:{}\n".format(_____,_____))問題2:在問題1的前提下,將得到的字符次數進行降序排列,并將排名前10的常用字符保存在“arrogant-sort,txt”文件中。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準…d={}…Is=list(d.items())Is.sort(key=lambdax:x[1],reverse=True)…fo.write("{}:{}\n".format(_____,_____))

52.考生文件夾下存在2個Python源文件和3個文本文件,分別對應兩個問題,請按照文件內說明修改代碼,實現以下功能。《論語》是儒家學派的經典著作之一,主要記錄了孔子及其弟子言行。這里給出了一個網絡版本的《論語》,文件名稱為“論語.txt”,其內容采用逐句“原文”與逐句“注釋”相結合的形式組織,通過【原文】標記《論語》原文內容,通過【注釋】標記《論語》注釋內容,具體格式請參考“論語.txt”文件。問題1:在“PY301-1.py”文件中修改代碼,提取“論語.txt”文件中的原文內容,輸出保存到考生文件夾下,文件名為“論語-原文.txt”。具體要求:僅保留“論語.txt”文件中所有【原文】標簽下面的內容,不保留標簽,并去掉每行行首空格及行尾空格,無空行。原文圓括號及內部數字是源文件中注釋內容的標記,請保留。文件輸出格式請參考“論語-原文-輸出示例.txt”文件。注意:輸出示例僅幫助考生了解輸出格式,不作它用。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準fi=open(“論語.txt",)fo=open(“論語-原文.txt",)…Forlineinfi:…fo.write(line.lstrip())問題2:在“PY301-2.py”文件中修改代碼,對“論語-原文.txt”或“論語.txt”文件進一步提純,去掉每行文字中所有圓括號及內部數字,保存為“論語-提純原文.txt”文件。文件輸出格式請參考“論語-提純原文-輸出示例.txt”文件。注意:示例輸出文件僅幫助考生了解輸出格式,不做它用。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準fi=open("論語-原文.txt",_____)fo=open("論語-提純原文.txt",_____)Forlineinfi:line=line.replace()

53.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實現以下功能:獲取用戶輸入的一組數字,采用逗號分隔輸入,輸出其中的最大值。示例如下:請輸入一組數據,以逗號分隔:8,78,54,520,21,34520

試題程序:

#請在______處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼data=eval(input(”請輸入一組數據,以逗號分隔:”))print(________)

參考答案

1.Clen()方法用來獲取字符串的長度,所以length應為14;title()方法是把字符串每個單詞的首字母變?yōu)榇髮?,所以應為PythonIsGood;索引的序號是從0開始的,所以s[1:6]應為ython。

2.B在Python中,字典是存儲可變數量鍵值對的數據結構,通過字典類型實現映射,一個鍵對應一個值,鍵必須是唯一的,且必須是不可變數據類型,值可以是任何數據類型。字典具有和集合類似的性質,即鍵值對之間沒有順序且不能重復。字典可以通過”字典[’鍵’]”的形式訪問對應的元素,即以鍵為索引進行訪問。故描述錯誤的是B項。

3.D這段代碼是一個遞歸函數,作用是把result列表中所有與1中一致的元素刪除,所以最后的結果是一個空的列表,即[]。

4.D注釋可以在一行的任意位置開始,但只有在井號(#)后的部分才會被作為注釋不被執(zhí)行;Python有嚴格的格式要求,不能隨意縮進,只有在需要的時候才在代碼前加空格;Python允許在一行的末尾加分號,但一般不建議這么做,會影響代碼的美觀。本題選擇D選項。

5.AA?!窘馕觥拷Y構化程序設計方法的主要原則可以概括為自頂向下、逐步求精、模塊化、限制使用goto語句等。

6.D數據流圖中帶箭頭的線段表示的是數據流,即沿箭頭方向傳送數據的通道,一般在旁邊標注數據流名。本題選擇D選項。

7.C

8.Bfor語句的循環(huán)執(zhí)行次數是根據<循環(huán)結構>中元素的個數確定的,[1,2,3]和[’1’,’2’,’3’]均有三個元素,因此循環(huán)次數是一樣的,A項正確。range()函數只有一個參數時表示會產生從0開始計數到輸人參數的前一位整數結束的整數列表;有兩個參數時,則將第一個參數作為起始位,第二個參數為結束位,輸出從起始位到結束位的前一位的整數列表;有三個參數時,第三個參數表示步長,起始位按照步長遞增或遞減,因此C、D兩項正確。循環(huán)體中的break語句的確能影響到循環(huán)次數,但是不代表循環(huán)體中不能有break語句,B項錯誤,當選。

9.D關系模型采用二維表來表示,簡稱表。本題選擇D選項。

10.CCSV文件采用純文本格式,通過單一編碼表示字符。以行為單位,開頭不留空行,行之間沒有空行。每行表示一個一維數據,多行表示多維數據。以逗號分隔每列數據,列數據為空也要保留逗號。

11.C

12.B解析:軟件開發(fā)階段包括需求分析、總體設計、詳細設計、編碼和測試5個階段。其中需求分析階段常用的工具是數據流圖(簡稱DFD)和數據字典(簡稱DD)。常見的詳細設計的圖形描述工具主要有程序流程圖、N-S結構圖、問題分析圖(簡稱PAD圖)。

13.B解析:耦合性和內聚性足模塊獨立性的兩個定性標準。內聚性是一個模塊內部各個元素間彼此結合的緊密程度的度量,作為軟件結構設計的設計原則,要求每個模塊的內部都具有很強的內聚性;耦合性是指模塊間相互連接的緊密程度的度量,一個模塊與其他模塊的耦合性越強則該模塊的獨立性越弱。一般優(yōu)秀的軟件設計應盡量做到高內聚、低耦合,即減弱模塊之間的耦合性和提高模塊內的內聚性,有利于提高模塊的獨立性。

14.C在Python中,輸出用print()函數,HelloWorld是字符串類型,需要加單引號或雙引號。本題選擇C選項。

15.A黑盒測試又稱功能測試或數據驅動測試,著重測試軟件功能,是把程序看成一只黑盒子,測試者完全不了解,或不考慮程序的結構和處理過程。它根據規(guī)格說明書的功能來設計測試用例,檢查程序的功能是否符合規(guī)格說明的要求。\n白盒測試是把程序看成裝在一只透明的白盒子里,測試者完全了解程序的結構和處理過程。它根據程序的內部邏輯來設計測試用例,檢查程序中的邏輯通路是否都按預定的要求正確地工作。

16.Dall(x)函數在組合類型變量x中所有元素為真時返回True,為假時返回False,若為空,則返回True,所以a的值為False;b中split()是字符串分隔函數,返回分隔后的值應為[‘123’,’0’]\n;c中ascii()的參數是字符串python,所以返回’python'。本題選擇D選項。

17.BPython中異常處理結構有try-except、try-except-else及\ntry-except-flnally。本題選擇B選項。

18.DPIL庫是Python在圖像處理方向的重要的第三方庫,支持圖像存儲、處理和顯示,它能夠處理幾乎所有的圖片格式,可以完成對圖像的縮放、剪裁、疊加,以及為圖像添加線條和文字等。使用Python處理圖像相關的程序,首選PIL庫。本題選擇D選項。

19.Cfor循環(huán)將字符串PythonNCRE的字符依次賦給變量s,當s==”\nN”時,跳出for循環(huán),故輸出為Python。本題選擇C選項。

20.C

21.B根據運算符的優(yōu)先級,運算順序為:5%6=5,5*2=10,10//8=1,3+1=4。故答案為B項。

22.A本題中,break語句出現在print語句之前,當if的條件為True時,執(zhí)行break語句,跳出for循環(huán),不再執(zhí)行循環(huán)體中break后面的語句,故無輸出。

23.A

24.APython包括3種控制結構:順序結構、分支結構及循環(huán)結構;Python支持的數據類型有數字類型和字符串類型;Python變量使用前需要定義。本題選擇A選項。

25.D在Python中,讀取CSV文件中的二維碼數據采用遍歷循環(huán)和字符串的split()方法相結合,方法如下:f=open('cpi.csv”,”r”)ls=[]forlineinf:Is.append(line,strip(“\\n').split(“,”))f.close()本題選擇D選項。

26.A

27.Arange(6)取到的是0,1,2,3,4,5這六個數,這些數均為int類型,使用list()方法將其存儲在列表變量lis中。

28.D只有當程序未引發(fā)異常順利執(zhí)行完try中的代碼后,else語句塊內的代碼才會執(zhí)行。本題中try中無異常,輸出變量C的值,再執(zhí)行else中的代碼。本題選擇D選項。

29.Clen()函數用來獲取字符串的長度,所以length應為14;title()函數是把字符串每個單詞的首字母變?yōu)榇髮?,所以S_title應為”PythonlsGood”;索引的序號是從0開始的,所以s[1:6]應為“ython”,即S_number為“ython”。本題選擇C選項。

30.B

31.Y

32.N

33.N

34.Y

35.Y

36.Y

37.Y

38.N

39.N

40.N

41.0

42.0

43.'ab:efg'

44.5

45.[True,True,True,True]

46.[(0,1),(1,2)]

47.10

48.'r'

49.'A'

50.True

51.考生文件夾下存在兩個Python源文件“PY301.py”和“PY301-2.py”,分別對應兩個問題,請按照文件內說明修改代碼,實現以下功能?!栋谅c偏見》是史上最震撼人心的“世界文學十部最佳小說之一”。第1章的內容由考生文件夾下文件“arrogant,txt”給出。問題1:請編寫程序,統(tǒng)計該篇文章的英文字符數(不統(tǒng)計換行符),字符與出現次數之間用冒號(:)分隔。結果保存在考生文件夾下,命名為“PY301-l.txt”。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準…d={}Is=list(d.items())…fo.write("{}:{}\\n".format(_____,_____))問題2:在問題1的前提下,將得到的字符次數進行降序排列,并將排名前10的常用字符保存在“arrogant-sort,txt”文件中。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準…d={}…Is=list(d.items())Is.sort(key=lambdax:x[1],reverse=True)…fo.write("{}:{}\\n".format(_____,_____))試題答案:(1)Fi=open(“arrogant.txt,”r”)Fo=open(“PY301-1.txt”,”w”Txt=fi.read()d={}Forsintxt:D[s]=d.get(s,0)+1Deld[‘\\n’]Is=list(d.items())Foriinrange(len(is)):fo.write(“{}:{}\\n”.format(ls[i][0],is[i][1])Fi.close()Fo.close()(2)Fi=open(“arrogant.txt,”r”)Fo=open(“arrogant-sort.txt”,”w”)Txt=fi.read()d={}Forsintxt:D[s]=d.get(s,0)+1Deld[‘\\n’]Is=list(d.items())Is.sort(key=lambdax:x[1],reverse=True)Foriinrange(10):fo.write(“{}:{}\\n”.fcrmat(is[i][0],is[i][1])Fi.close()Fo.close()(1)首先使用open()函數打開文件“arrogant,\r\ntxt”,把文件的內容通過read()方法保存到變量txt中;然后用for循環(huán)遍歷txt中的每個英文字符,將該字符作為字典d中的鍵,將該鍵所對應的值設置為1,在后面循環(huán)中只要遍歷的字符與該鍵相同,就將該鍵對應的值加1。這樣,字典中的鍵值對對應著英文字符和其出現的次數。由于題目要求不統(tǒng)計換行符,因此需要使用del刪除換行符對應的鍵值對。Is=list(d.items())表示將字典類型變成列表類型,字典中的每個鍵值對對應列表中的一個元組。每個元組中的第一個元素ls[i]\r\n[0]表示英文字符,第二個元素is[i][1]表示字符出現的次數。通過for循環(huán)遍歷按照格式規(guī)則將兩個對應的元素寫入文件“PY301-1.\r\ntxt”。(2)\r\n問題2在問題1的基礎上增加了排序,排序的規(guī)則是按照字符出現的次數降序排序,因此排序后列表中前10個元素(元組)就是排名前10的字符。通過for循環(huán)遍歷按

溫馨提示

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

評論

0/150

提交評論