安徽省淮南市全國計算機等級考試Python語言程序設(shè)計專項練習(xí)(含答案)_第1頁
安徽省淮南市全國計算機等級考試Python語言程序設(shè)計專項練習(xí)(含答案)_第2頁
安徽省淮南市全國計算機等級考試Python語言程序設(shè)計專項練習(xí)(含答案)_第3頁
安徽省淮南市全國計算機等級考試Python語言程序設(shè)計專項練習(xí)(含答案)_第4頁
安徽省淮南市全國計算機等級考試Python語言程序設(shè)計專項練習(xí)(含答案)_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

安徽省淮南市全國計算機等級考試Python語言程序設(shè)計專項練習(xí)(含答案)學(xué)校:________班級:________姓名:________考號:________

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

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

2.以下程序執(zhí)行后,book.txt文件的內(nèi)容是()。fo=open(“book.txt”,“w”)ls=[‘book’,‘23’,‘201009’,‘20’]fo.write(str(ls))fo.close()

A.[‘book’,‘23’,‘201009’,‘20’]

B.book,23,201009,20

C.[book,23,201009,20]

D.book2320100920

3.一個棧的初始狀態(tài)為空。現(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棧的順序是()。

A.12345ABCDEB.EDCBA54321C.ABCDE12345D.54321EDCBA

4.軟件測試的目的是()。

A.評估軟件可靠性B.發(fā)現(xiàn)并改正程序中的錯誤C.改正程序中的錯誤D.發(fā)現(xiàn)程序中的錯誤

5.Python中,查看一個對象是哪種類型,使用______命令

A.isinstanceB.idC.typeD.issubclass

6.以下屬于P)rthon中導(dǎo)入語句的是()。

A.classB.returnC.importD.print

7.下載但不安裝一個第三方庫的命名格式是()。

A.pipdownload<第三方庫名>

B.pipuninstall<第三方庫名>

C.pipinstall<第三方庫名>

D.pipsearch<第三方庫名>

8.下面說法錯誤的是()。

A.在UTF-8編碼中一個漢字需要占用3個字節(jié)

B.在GBK和CP936編碼中一個漢字需要占用2個字節(jié)

C.Python運算符“%”不僅可以用來求余數(shù),還可以用來格式化字符串

D.Python字符串方法replace()對字符串進行原地修改

9.下面屬于“對象”成份之一的是()。

A.封裝B.規(guī)則C.屬性D.繼承

10.列表變量Is共包含10個元素,Is索引的取值范圍是()。

A.(0,10)B.[0,10]C.(l,10]D.[0,9]

11.下列哪種情況不會導(dǎo)致Python對象的引用計數(shù)增加()

A.對象被創(chuàng)建B.被作為參數(shù)傳遞給函數(shù)C.成為容器對象的元素D.該對象無法訪問時

12.在面向?qū)ο蠓椒ㄖ校粚儆凇皩ο蟆被咎攸c的是A.一致性B.分類性C.多態(tài)性D.標(biāo)識唯一性

13.Python中文件的打開方式為't',對應(yīng)的文件打開模式為()。

A.只讀方式B.只寫方式C.文本文件模式D.二進制文件模式

14.下列排序方法中,最壞情況下比較次數(shù)最少的是()。

A.冒泡排序B.簡單選擇排序C.直接插入排序D.堆排序

15.以下關(guān)于Python字典的描述中,錯誤的是()。

A.在Python中,用字典來實現(xiàn)映射,通過整數(shù)索引來查找其中的元素

B.在定義字典對象時,鍵和值用冒號連接

C.字典中的鍵值對之間沒有順序并且不能重復(fù)

D.字典中引用與特定鍵對應(yīng)的值,用字典名稱和方括號中包含鍵名的格式

16.執(zhí)行以下代碼的結(jié)果是?type(lambda:None)A.(type‘NoneType’)

B.(type‘function’)

C.(type‘tuple’)

D.(type‘type’)

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

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

18.耦合性和內(nèi)聚性是對模塊獨立性度量的兩個標(biāo)準(zhǔn),下列敘述中正確的是()。

A.提高耦合性降低內(nèi)聚性有利于提高模塊的獨立性

B.降低耦合性提高內(nèi)聚性有利于提高模塊的獨立性

C.耦合性是指一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度

D.內(nèi)聚性是指模塊間互相連接的緊密程度

19.以下不屬于Python的pip工具命令的是()。

A.getB.installC.showD.download

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

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

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

C.循環(huán)隊列是非線性結(jié)構(gòu)

D.有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)

21.以下代碼的輸出結(jié)果是()。a=[[1,2,3],[4,5,6],[7,8,9]]s=0forcina:forjinrange(3):s+=c[j]print(s)

A.[l,2,3,4,5,6,7,8,9]B.45C.24D.0

22.以下程序的輸出結(jié)果是()。11=[’aa’,[2,3,3.0]]print(11.index(2))

A.2B.3.0C.3D.ValueError

23.以下關(guān)于Python分支結(jié)構(gòu)的描述中,錯誤的是()。

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

B.if-else結(jié)構(gòu)是可以嵌套的

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

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

24.float('inf')<float('inf')+1執(zhí)行后的結(jié)果A.A.TrueB.False

25.不能使下面代碼結(jié)束的是()。whileTrue:inp=eval(input(請輸入一個數(shù)值:’.))ifinp//3:break

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

26.可以用于測試一個對象是否是一個可迭代對象()

A.inB.typeC.forD.while

27.中學(xué)教師和授課班級之間的聯(lián)系是()。

A.一對一B.一對多C.多對一D.多對多

28.下面代碼的意義是()。>>>car='BWM’>>>Id(car)

A.查看變量所占的位數(shù)B.轉(zhuǎn)換成布爾值C.查看變量在內(nèi)存中的地址D.把變量中的元素隨機排列

29.以下關(guān)于函數(shù)優(yōu)點的描述中,正確的是()。

A.函數(shù)可以表現(xiàn)程序的復(fù)雜度B.函數(shù)可以使程序更加模塊化C.函數(shù)可以減少代碼使用次數(shù)D.函數(shù)便于書寫

30.執(zhí)行以下代碼的結(jié)果是()A.12B.24C.36D.48

二、判斷題(10題)31.Python集合中的元素可以是列表。

A.是B.否

32.表達式{1,2}*2的值為{1,2,1,2}。

A.是B.否

33.Python擴展庫xlwt支持對Excel2003或更低版本的Excel文件進行寫操作。

A.是B.否

34.函數(shù)中必須包含return語句。

A.是B.否

35.調(diào)用帶有默認值參數(shù)的函數(shù)時,不能為默認值參數(shù)傳遞任何值,必須使用函數(shù)定義時設(shè)置的默認值。

A.是B.否

36.Python標(biāo)準(zhǔn)庫os中的方法listdir()返回包含指定路徑中所有文件和文件夾名稱的列表。

A.是B.否

37.Python集合中的元素不允許重復(fù)。

A.是B.否

38.一般來說,Python擴展庫沒有通用于所有版本Python的,安裝時應(yīng)選擇與已安裝Python的版本對應(yīng)的擴展庫。

A.是B.否

39.使用Python列表的方法insert()為列表插入元素時會改變列表中插入位置之后元素的索引。

A.是B.否

40.Python支持使用字典的“鍵”作為下標(biāo)來訪問字典中的值。

A.是B.否

三、填空題(10題)41.假設(shè)列表對象aList的值為[3,4,5,6,7,9,11,13,15,17],那么切片aList[3:7]得到的值是______________________。

42.表達式type({3:3})的值為__________。

43.表達式1<2<3的值為_________。

44.表達式int('123',8)的值為_________。

45.表達式round(3.4)的值為___________。

46.表達式int(4**.)的值為__________。

47.表達式int('101',2)的值為__________。

48.已知path=r'c:\test.html',那么表達式path[:-4]+'htm'的值為__________。

49.已知x='123'和y='456',那么表達式x+y的值為______________。

50.已知g=lambdax,y=3,z=5:x+y+z,那么表達式g(2)的值為________。

四、操作題(3題)51.考生文件夾下存在一個文件“PY102.Py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。用鍵盤輸入一段文本,保存在一個字符串變量s中,分別用Python內(nèi)置函數(shù)和jieba庫中已有函數(shù)計算字符串s的中文字符個數(shù)和中文詞語個數(shù)。注意:中文字符包含中文標(biāo)點符號。示例格式如下。

鍵盤輸入:科技是第一生產(chǎn)力屏幕輸出:中文字符數(shù)為8,中文詞語數(shù)為4。

試題程序:#請在程序的處使用一行代碼或表達式替換

#注意:請不要修改其他已給出代碼importjiebas=input("請輸入一個字符串")n=_____(1)_____m=_____(2)_____print("中文字符數(shù)為{},中文詞語數(shù)為{}format(n,m))

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

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

53.某班學(xué)生評選一等獎學(xué)金,學(xué)生的10門主干課成績存在考生文件夾下文件score.txt中,每行為一個學(xué)生的信息,分別記錄了學(xué)生學(xué)號、姓名以及10門課成績,格式如下:

1820161043

鄭珉鎬68668377567361696678

1820161044

沈紅偉91708l919680789l8994

從這些學(xué)生中選出獎學(xué)金候選人,條件是:①總成績排名在前10名;②全部課程及格(成績大于等于60)。

問題1:給出按總成績從高到低排序的前10名學(xué)生名單,并寫入文件candidate0.txt,每行記錄一個學(xué)生的信息,分別為學(xué)生學(xué)號、姓名以及10門課成績。補充考生文件夾下文件PY301一1.py,完成這一功能。試題程序:

#請在…處使用多行代碼替換

##注意:其他已給出代碼僅作為提示,可以修改L=[]

#L中的元素是學(xué)生原始成績和總成績

…#此處可多行

L.sort(key=lambdax:x[一1],reverse=True)拌按學(xué)生總成績從大到小排序

…#此處可多行

問題2:讀取文件candidate0.txt,從中選出候選人,并將學(xué)號和姓名寫入文件candidate.txt,格式如下:

1010112161722

張三

1010112161728

李四

補充考生文件夾下文件PY301—2.py,完成這一功能。

試題程序:'''輸入文件:candidate0.txt輸出文件:candidate.txt'''

參考答案

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

2.A執(zhí)行fo=open(“book.txt”,“W”),打開book.txt文件,打開模式為“W”(覆蓋寫模式);創(chuàng)建列表ls=[“book”,“23”,“201009”,“20”];str()函數(shù)返回一個對象的字符串格式,str(ls)將列表類型的ls轉(zhuǎn)換為字符串類型,fo.write(str(ls))將字符串寫入book.txt文件中。本題選擇A選項。

3.B棧按先進后出的原則組織數(shù)據(jù),所以入棧最早的元素最后出棧,本題選擇B選項。

4.D軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,測試要以查找錯誤為中心,而不是為了演示軟件的正確功能。本題選擇D選項。

5.C

6.CPython中無論是標(biāo)準(zhǔn)庫、第三方庫還是自定義庫,在使用之前都需要進行導(dǎo)入,方法就是使用import語句導(dǎo)入模塊。

7.Apipdownload<第三方庫名>用于下載第三方庫的安裝包,但并不安裝;pipuninstall<第三方庫名>用于卸載一個已經(jīng)安裝的第三方庫;pipinstall<第三方庫名>用于安裝第三方庫;pipsearch<第三方庫名>用于聯(lián)網(wǎng)搜索庫名或摘要中的關(guān)鍵字。本題選擇A選項。

8.D字符串方法replace()用來替換字符串中指定字符或子字符串的所有重復(fù)出現(xiàn),每次只能替換一個字符或一個字符串,把指定的字符串參數(shù)作為一個整體對待。該方法并不修改原字符串,而是返回一個新字符串。本題選擇D選項。

9.C面向?qū)ο蠓椒ㄖ械膶ο笥蓛刹糠纸M成:①數(shù)據(jù),也稱為屬性,即對象所包含的信息,表示對象的狀態(tài);②方法,也稱為操作,即對象所能執(zhí)行的功能、所能具有的行為。本題選C選項。

10.D列表使用方括號作為索引操作符,索引從0開始,即第一個元素的索引是0,第二個元素的索引是1,依此類推。本題列表中有10個元素,則索引取值范圍是[0,9]。本題選擇D選項。

11.D

12.A對象具有如下特性:標(biāo)識唯一性、分類性、多態(tài)性、封裝性、模塊獨立性。

13.C在Python中,文件的打開方式對應(yīng)為:’r’:只讀方式;’w’:只寫方式;’t’:文本文件模式;,b’:二進制文件模式。

14.D冒泡排序、直接插入排序與簡單選擇排序法在最壞情況下均需要比較n(n-\n1)/2次,而堆排序在最壞情況下需要比較的次數(shù)是nlog2n。本題選擇D選項。

15.A在Python中,字典是存儲可變數(shù)量鍵值對的數(shù)據(jù)結(jié)構(gòu),通過字典類型實現(xiàn)映射。字典使用花括號({})建立,每個元素是一個鍵值對,使用方式為{<鍵1>:<值1>,<鍵2>:<值2>,…,<鍵n>:<值n>},其中,鍵和值通過冒號連接,不同鍵值對通過逗號隔開。字典具有和集合類似的性質(zhì),即鍵值對之間沒有順序且不能重復(fù)。通過鍵可以索引值,并可以通過鍵修改值,因此可以直接利用鍵值對關(guān)系索引元素。索引模式:<值>=<字典變量>[<鍵>]。本題選擇A選項。

16.B

17.D在Python語言中,讀取CSV格式文件中的二維碼數(shù)據(jù)采用遍歷循環(huán)和字符串的split()方法相結(jié)合,方法如下:\nf=open(”cpi.csv”,”r”)\nls=[]\nforlineinf:\nls.a(chǎn)ppend(line.strip(”\n”).split(”,”))\nf.close()

18.B模塊獨立性是指每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。一般較優(yōu)秀的軟件設(shè)計,應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨立性,所以A錯誤,B正確。耦合性是模塊間互相連接的緊密程度的度量而內(nèi)聚性是指一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度,所以C與D錯誤。故答案為B選項。

19.Ainstall命令用于安裝第三方庫;show命令是列出某個已經(jīng)安裝的庫的詳細信息;download命令用于下載第三方庫的安裝包,但并不安裝。get不屬于pip工具的命令。本題選擇A選項。

20.D棧是先進后出的線性表,所以A錯誤;隊列是先進先出的線性表,所以B錯誤;循環(huán)隊列是線性結(jié)構(gòu)的線性表,所以C錯誤。故答案為D選項。

21.B外層for循環(huán)將a[0]=[l,2,3],a[l]=[4,5,6],a[2]=[7,8,9]依次賦給變量c;內(nèi)層for循環(huán)將變量j從0遞增到2,即累加c[l]+c[2]\n+c[3]的值,所以內(nèi)層循環(huán)加外層循環(huán)用于計算1+2+3+4+5+6+7+8+9的值,s=450本題選擇B選項。

22.D列表的index()方法用于從列表中找出某個對象第一個匹配項的索引位置,如果這個對象不在列表中會報一個異常。本題中11.index(2)是指在列表11中查找對象2,但列表中并不存在元素2,因此會異常。故答案為D項。

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

24.B

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

26.C

27.D一位教師可以對多個班級授課,一個班級也可以由多位教師授課,因此,教師和授課班級之間的聯(lián)系是多對多聯(lián)系。

28.Cid(x)是Python中的內(nèi)置函數(shù),用來查看變量在內(nèi)存中的地址。本題選擇C選項。

29.B函數(shù)定義:函數(shù)是指一組語句的集合通過一個名字(函數(shù)名)封裝起來,要想執(zhí)行這個函數(shù),只需要調(diào)用其函數(shù)名即可。函數(shù)能提高應(yīng)用的模塊性和代碼的重復(fù)利用率。本題選擇B選項。

30.B

31.N

32.N

33.Y

34.N

35.N

36.Y

37.Y

38.Y

39.Y

40.Y

41.[6,7,9,11]

42.dict

43.True

44.83

45.3

46.

47.5

48.'c:\\test.htm'

49.'123456'

50.1010

51.importjiebas=input(”請輸入一個字符串”)n=len(s)m=len(jieba.lcut(s)print("中文字符數(shù)為{},中文詞語數(shù)為{}。”.format(n,m)本題要求使用jieba中文分詞庫,統(tǒng)計輸入的字符串的長度以及中文詞語數(shù)。給定的字符串s中僅包含中文字符和中文標(biāo)點符號,因此可以直接使用len()函數(shù)統(tǒng)計字符數(shù)量,第1空填len(s)。再使用jieba庫的lcut(s)方法,返回一個以中文詞語為元素的列表類型,使用len()獲得列表的長度,即中文詞語數(shù)量。因此第2\r\n空填len(jieba.lcut(s))

52.importturtleforiinrange(3):turtle.seth(i*120)turtle.fd(100)該題是用Python標(biāo)準(zhǔn)庫——turtle庫繪制簡單的等邊三角形。因為繪制3條邊,所以循環(huán)執(zhí)行3次,因此第1空填3。由于題目要求使用seth()函數(shù),因此需要在繪制每條邊時計算絕對繪制方向,可以利用循環(huán)變量i計算3個邊的絕對角度,因此第2空填i\r\n*120。最后利用海龜移動繪制3條邊,因此第3空填turtle,fd。

53.(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”文件中的信息,通過程序求出每個學(xué)生的總成績,然后按總成績從大到小排序,將總成績排名前10的學(xué)生的學(xué)號、姓名以及10門課成績寫入到”candidate0.txt”文件中。打開文件用open()函數(shù),用”r”只讀模式打開文件”score.txt”,用”w”模式創(chuàng)建文件”cand:idate0.txt”。\r\n

”score.txt”文件中每行為一個學(xué)生的信息,需要用readlines()函數(shù)讀入所有行,以每行為元素形成列表lines,然后

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論