廣東省云浮市全國計算機等級考試Python語言程序設(shè)計_第1頁
廣東省云浮市全國計算機等級考試Python語言程序設(shè)計_第2頁
廣東省云浮市全國計算機等級考試Python語言程序設(shè)計_第3頁
廣東省云浮市全國計算機等級考試Python語言程序設(shè)計_第4頁
廣東省云浮市全國計算機等級考試Python語言程序設(shè)計_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

廣東省云浮市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.下面關(guān)于類的說法錯誤的是()。

A.類是一種實例

B.在類進行實例化時將會首先執(zhí)行該類中的im()方法

C.在對類進行實例化時,傳入的實參不用帶上self,它在類執(zhí)行過程中將自行帶上

D.類中的變量若帶有前綴self,則意味著此變量在類中任意位置可以使用

2.下列關(guān)于Python內(nèi)置函數(shù)的使用,描述錯誤的是()。

A.int(x)是將x轉(zhuǎn)換為一個整數(shù)

B.Print(”6+5")的輸出是11

C.dic.Clear()的結(jié)果是清空字典die

D.使用append()函數(shù)可以向列表添加元素

3.執(zhí)行以下代碼的結(jié)果是?A.(1,2,3,4)B.(1,2,3,[1,2,4])C.異常報錯D.(1,2,3,[1,2,3],4)

4.以下函數(shù)定義中,錯誤的是()。

A.defvfunc(s,a=1,*b):

B.defvfunc(a=3,b):

C.defvfunc(a,**b):

D.defvfunc(a,b=2):

5.下面代碼的輸出結(jié)果是()。defadd(x):ifx>0:returnx+add(x一1)else:return0result=add(10)print(result)

A.0B.10C.55D.45

6.數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的查詢、插入、修改及刪除,這類功能稱為()。

A.數(shù)據(jù)控制功能B.數(shù)據(jù)定義功能C.數(shù)據(jù)存儲功能D.數(shù)據(jù)操縱功能

7.概念模型是()。

A.用于現(xiàn)實世界的建模,與具體的DBMS有關(guān)

B.用于信息世界的建模,與具體的DBMS有關(guān)

C.用于現(xiàn)實世界的建模,與具體的DBMS無關(guān)

D.用于信息世界的建模,與具體的DBMS無關(guān)

8.下列代碼的輸出結(jié)果是()。Is=[[0,l],[5,6],[7,8]]lis=[]foriinrange(len(Is)):lis.append(ls[i][1])print(lis)

A.[l,6,8]B.[0,5,7]C.[0,6,8]D.[0,1]

9.在Python語言中,使用open()打開一個Windows操作系統(tǒng)D盤下的文件,路徑名錯誤的是()。

A.D:\PythonTest\a.txt

B.D:\\PythonTest\\a.txt

C.D:/PythonTest/a.txt

D.D://PythonTest//a.txt

10.以下代碼的輸出結(jié)果是()。deffibRate(n):ifn<=0:return—1elifn==1:retum—1elifn==2:return1else:L=[1,5]foriinrange(2,n):L.a(chǎn)ppend(L[一1]+L[一2])returnL[一2]%L[一1]print(fibRate(7))

A.0.6B.28C.一1D.1

11.以下關(guān)于二進制整數(shù)的定義,正確的是()。

A.081014B.0b1010C.0B1019D.ObC3F

12.以下關(guān)于函數(shù)的定義與編寫的描述,錯誤的是()。

A.函數(shù)是代碼復(fù)用的一種方式

B.在Python中,使用關(guān)鍵字define定義函數(shù)

C.定義函數(shù)時,即使函數(shù)不需要接收任何參數(shù),也必須保留空的圓括號來表示這是一個函數(shù)

D.編寫函數(shù)時,一般建議先對參數(shù)進行合法性檢查,然后再進行編寫

13.以下代碼的輸出結(jié)果是()。d=[‘food’:{’cake’:1,’egg’:5}}print(d.get(‘egg’,'nothisfood’))

A.eggB.1C.foodD.nothisfood

14.設(shè)棧與隊列初始狀態(tài)為空。首先A,B,C,D,E依次人棧,再F,G,H,I,J依次入隊;然后依次出棧至???,再依次出隊至隊空。則輸出序列為()。

A.F,G,H,I,J,A,B,C,D,E

B.F,G,H,I,J,E,D,C,B,A

C.E,D,C,B,A,J,I,H,G,F(xiàn)

D.E,D,C,B,A,F(xiàn),G,H,I,J

15.下面關(guān)于CSV文件描述錯誤的是()。

A.CSV文件格式是一種通用的文件格式,應(yīng)用于程序之間轉(zhuǎn)移表格數(shù)據(jù)

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

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

D.整個CSV文件是一個二維數(shù)據(jù)

16.deque是一種()數(shù)據(jù)結(jié)構(gòu)

A.HeapB.StackC.隊列D.雙端隊列

17.以下關(guān)于Python字符編碼的描述中,正確的是()。

A.Python字符編碼使用ASCII值存儲

B.chr(x)和ord(x)函數(shù)用于在單字符和Unicode值之間進行轉(zhuǎn)換

C.print(chr('a’))輸出97

D.print(ord(65))輸出A

18.以下對Python文件處理的描述中,錯誤的是()。

A.當(dāng)文件以文本方式打開時,讀/寫按照字節(jié)流方式

B.Python能夠以文本和二進制兩種方式處理文件

C.Python通過解釋器內(nèi)置的open()函數(shù)打開一個文件

D.文件使用結(jié)束后可以用close()方法關(guān)閉,釋放文件的使用授權(quán)

19.sorted([15,'china',407],key=lambdax:len(str(x)))返回為()

A.[15,407,'china']

B.['china',407,15]

C.['china',15,407]

D.[15,'china',407]

20.軟件設(shè)計中模塊劃分應(yīng)遵循的準(zhǔn)則是()。A.低內(nèi)聚低耦合

B.高內(nèi)聚低耦合

C.低內(nèi)聚高耦合

D.高內(nèi)聚高耦合

21.設(shè)線性表的長度為12。最壞情況下冒泡排序需要的比較次數(shù)為()。

A.66B.78C.144D.60

22.以下關(guān)于Python的描述正確的是()。

A.字典的創(chuàng)建必須使用dict()函數(shù)

B.列表和字符串屬于序列,但元組不屬于序列

C.Python只有一種內(nèi)置的映射類型,就是字典

D.字符串可以進行切片并賦值

23.以下代碼的輸出結(jié)果是()。a=10.99print(complex(a))

A.0.99B.10.99i+iC.10.99D.(10.99+0j)

24.以下程序的輸出結(jié)果是()。foriin“miss”: forjinrange(3): print(i,end=‘’) ifi==“i”: break

A.missmissmissB.mmmissssssC.mmmiiissssssD.mmmssssss

25.下面代碼輸出的圖形是()。

26.以下保留字不屬于分支結(jié)構(gòu)的是()。

A.ifB.elseC.whileD.elif

27.以下關(guān)于Python的描述中,正確的是()。

A.函數(shù)中return語句只能放在函數(shù)定義的最后面

B.定義函數(shù)需要使用保留字def

C.使用函數(shù)最主要的作用是復(fù)用代碼

D.Python函數(shù)不可以定義在分支或循環(huán)語句的內(nèi)部

28.以下程序的輸出結(jié)果是()。x=[90,87,93]y=(”Aele”,”Bob”,”lala”)z={}foriinrange(len(x)):z[i]=list(zip(x,y))print(z)

A.{0:[(90,’Aele’),(87,’Bob’),(93,’lala’)],1:[(90,’Aele’),(87,’Bob’),(93,’lala’)],2:[(90,’Aele’),(87,’Bob’),(93,’lala’)]}

B.{0:(90,’Aele’),1:(87,’Bob’),2:(93,’lala’)}

C.{0:[90,’Aele’],1:[87,’Bob’],2:[93,’lala’]}

D.{0:([90,87,93],(’Aele’,’Bob’,’lala’)),1:([90,87,93],(’Aele’,’Bob’,’lala’)),2:([90,87,93],(’Aele’,’Bob’,’lala’))}

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

A.printf(‘HelloWorld’)

B.print(HelloWorld)

C.print(“HelloWorld")

D.printf("HelloWorld")

30.100-25*3%4應(yīng)該輸出什么?

A.1B.0C.25D.97

二、判斷題(10題)31.通過對象不能調(diào)用類方法和靜態(tài)方法。

A.是B.否

32.Python標(biāo)準(zhǔn)庫threading中的Lock、RLock、Condition、Event、Semaphore對象都可以用來實現(xiàn)線程同步。

A.是B.否

33.假設(shè)re模塊已成功導(dǎo)入,并且有pattern=pile('^'+'\.'.join([r'\d{1,3}'foriinrange(4)])+'$'),那么表達式pattern.match('03')的值為None。

A.是B.否

34.在定義函數(shù)時,某個參數(shù)名字前面帶有兩個*符號表示可變長度參數(shù),可以接收任意多個關(guān)鍵參數(shù)并將其存放于一個字典之中。

A.是B.否

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

A.是B.否

36.Python變量使用前必須先聲明,并且一旦聲明就不能再當(dāng)前作用域內(nèi)改變其類型。

A.是B.否

37.帶有else子句的異常處理結(jié)構(gòu),如果不發(fā)生異常則執(zhí)行else子句中的代碼。

A.是B.否

38.Python元組支持雙向索引。

A.是B.否

39.可以使用del刪除集合中的部分元素。

A.是B.否

40.如果定義類時沒有編寫析構(gòu)函數(shù),Python將提供一個默認(rèn)的析構(gòu)函數(shù)進行必要的資源清理工作。

A.是B.否

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

42.已知字典x={i:str(i+3)foriinrange(3)},那么表達式''.join([item[1]foriteminx.items()])的值為_____________。

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

44.語句x,y,z=[1,2,3]執(zhí)行后,變量y的值為__________。

45.表達式[iforiinrange(10)ifi>8]的值為________________。

46.已知x=3和y=5,執(zhí)行語句x,y=y,x后x的值是____。

47.已知列表x=[1,3,2],那么執(zhí)行語句y=list(reversed(x))之后,y的值為__________。

48.表達式{1,2,3}=={1,3,2}的值為___________。

49.已知x是一個列表對象,那么執(zhí)行語句y=x[:]之后表達式id(x)==id(y)的值為___________。

50.表達式sum(range(10))的值為________________。

四、操作題(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.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:隨機選擇一個手機品牌屏幕輸出。

試題程序:

#請在程序的…處使用一行或多行代碼替換

#請在程序的______處使用一行代碼替換#注意:請不要修改其他已給出代碼

import________brandlist=[’三星’,’蘋果’,’vivo’,’OPPO’,’魅族’]random.seed(0)

……

print(name)

53.考生文件夾下存在一個文件“PY202.Py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改,請在該文件中編寫代碼,以實現(xiàn)如下功能。用鍵盤輸入一組人員的姓名、性別、年齡等信息,信息間采用空格分隔,每個人的信息為一行,按鍵結(jié)束輸入。示例格式如下。張猛男35楊青女18汪海男26孫倩女22計算并輸出這組人員的平均年齡(保留1位小數(shù))和其中女性人數(shù),結(jié)果保存在考生文件夾下,命名為“PY202.txt”。格式如下。平均年齡是25.2女性人數(shù)是2試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fo=open("PY202.txt","w”)data=input("請輸入一組人員的姓名、性別、年齡:")#姓名性別年齡…whiledata:data=input("請輸入一組人員的姓名、性別、年齡:")…fo.write("平均年齡是{:.1f}女性人數(shù)是{}".format(_____))fo.close()

參考答案

1.AA選項中類只是一種抽象事物的分類,對象才是一種實例。本題選擇A選項。

2.BB選項中正確的輸出應(yīng)為6+5,若print()函數(shù)圓括號內(nèi)的變量用引號標(biāo)注,則視為字符串。本題選擇B選項。

3.B

4.B函數(shù)定義時的語法如下。def<函數(shù)名>(<非可選參數(shù)列表>,<可選參數(shù)>=<默認(rèn)值>):\t<函數(shù)體>\treturn<返回值列表>可選參數(shù)一般放置在非可選參數(shù)的后面。本題選擇B選項。

5.C該函數(shù)是一個遞歸函數(shù),用來計算1到10之間的所有數(shù)的和,使用函數(shù)時必須調(diào)用函數(shù),即函數(shù)名(<參數(shù)>),也可以將函數(shù)對象實例化。結(jié)果為55,選C項。

6.D數(shù)據(jù)定義功能:負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建。數(shù)據(jù)操縱功能:負(fù)責(zé)數(shù)據(jù)的操縱,包括查詢與增、刪、改等操作。數(shù)據(jù)控制功能:負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。本題選擇D選項。

7.C概念模型,著重于對客觀世界復(fù)雜事物的描述及對它們內(nèi)在聯(lián)系的刻畫,與具體的DBMS(數(shù)據(jù)庫管理系統(tǒng))無關(guān)。

8.Aleii()方法獲得列表Is的長度,mnge()方法起到循環(huán)次數(shù)的作用,append()方法在列表lis最后增加元素。列表Is存儲的元素是列表,訪問時需要使用索引嵌套。本題選擇A選項。

9.A在Python語言中,使用open()打開文件的操作過程中需要注意,由于’\’是字符串中的轉(zhuǎn)義符,所以表示路徑時,使用”\\”、”/”或”//”代替”\”,A項錯誤。

10.B將實參7傳遞給函數(shù)形參變量n,之后進入多分支結(jié)構(gòu),依次判斷后,執(zhí)行else后面的語句。for語句為:foriinrange(2,7),i從2依次變化到6,循環(huán)5次,將L[一1]+L[一2]的值通過append()方法加入到列表L中。\n當(dāng)i=2時,L[一1]+L[一2]=5+1=6,將6添加到列表L中,此時L=[1,5,6];\n當(dāng)i=3時,L[一1]+L[一2]=6+5=11,將11添加到列表L中,此時L=[1,5,6,11];\n當(dāng)i=4時,L[一1]+L[一2]=11+6=17,將17添加到列表L中,此時L=[1,5,6,11,17];\n當(dāng)i=5時,L[一1]+L[一2]=17+ll=28,將28添加到列表L中,此時L=[1,5,6,11,17,28];\n當(dāng)i=6時,L[一1]+L[一2]=28+17=45,將45添加到列表L中,此時L=[1,5,6,11,17,28,45]。\n最后L[一2]%L[一1]=28%45=28,故程序輸出28。本題選擇B選項。

11.B二進制整數(shù)以0b開頭,后面跟二進制數(shù)0和1。A、C、D三項中有4、9、C、3、F,這些都不是二進制數(shù)。

12.B在Python中,使用關(guān)鍵字def定義函數(shù)。本題選擇B選項。

13.D根據(jù)字典的索引方式可知,d.get(’eggthis\nfood’)索引的是字典第一層,但是第一層只有鍵food,沒有鍵egg,故索引不出值,輸出的是“nothisfood”。本題選擇D選項。

14.D棧稱為“后進先出”表或“先進后出”的線性表;隊列稱為“先進先出”或“后進后出”的線性表。A,B,C,D,E依次入棧,則依次出棧順序為E,D,C,B,A;F,G,H,I,J依次入隊,則依次出隊順序為F,G,H,I,J。故輸出順序為E,D,C,B,A,F(xiàn),G,H,I,J。

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

16.D

17.B在Python中,字符編碼以Unicode值存儲。chr(x)和ord(x)函數(shù)用于在單字符和Unicode值之間進行轉(zhuǎn)換。chr(x)函數(shù)返回Unicode值對應(yīng)的字符,ord(x)函數(shù)返回單字符x對應(yīng)的Unicode值,如chr(1010)返回’c’,ord(”和”)返回21644。因此,選項C、D錯誤。本題選擇B選項。

18.A文件包括文本文件和二進制文件兩種類型。Python對文本文件和二進制文件采用統(tǒng)一的操作步驟,即“打開-操作-關(guān)閉”,B選項正確。采用文本方式讀入文件,文件經(jīng)過編碼形成字符串,輸出有含義的字符;采用二進制方式打開文件,文件被解析為字節(jié)流,A選項錯誤。Python通過open()函數(shù)打開一個文件,并返回一個操作這個文件的變量,語法格式為<變置名>=open(<文件路徑及文件名>,<打開模式>\n),C選項正確。文件使用結(jié)束后要用clooe()方法關(guān)閉,釋放文件的使用授權(quán),語法格式為<變置名>dose()\n,D選項正確。本題選擇A選項。

19.A

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

21.A最壞情況下冒泡排序需要的比較次數(shù)為n(n—1)/2,本題中n=12,故需要比較66次。本題選擇A選項。

22.Cdict()函數(shù)和{}都可以創(chuàng)建字典;序列類型包括列表、元組及字符串;字符串可以切片訪問,但是不能賦值。本題選擇C選項。

23.Da=10.99,說明實部為10.99,虛部為0,故complex(a)返回復(fù)數(shù)10.99+0j。

24.B外層for循環(huán)依次將字符串“mlss”中的字符賦給變量i,內(nèi)層for控制循環(huán)3次,注意是先執(zhí)行print再判斷if條件,輸出第一個i后,碰到if判斷條件,當(dāng)i==“i”時退出內(nèi)層循環(huán),所以結(jié)果為mmmlssssss。本題選擇B選項。

25.Ai的取值區(qū)間為[-3,3)且為整數(shù),當(dāng)i=0時,根據(jù)判斷條件應(yīng)在一行輸出7個*,且行前無空格。通過對4個選項進行比較,采用排除法,本題選擇A選項。

26.Cwhile屬于循環(huán)結(jié)構(gòu)。

27.B函數(shù)定義:函數(shù)是指一組語句的集合通過一個名字(函數(shù)名)封裝起來,要想執(zhí)行這個函數(shù),只需要調(diào)用其函數(shù)名即可。函數(shù)最主要的作用是提高應(yīng)用的模塊性和代碼的重復(fù)利用率,C選項錯誤。return語句用來結(jié)束函數(shù)并將程序返回到函數(shù)被調(diào)用的位置繼續(xù)執(zhí)行。return語句可以出現(xiàn)在函數(shù)的任何部分,可以同時將0個、1個或多個函數(shù)運算結(jié)果返回給函數(shù)被調(diào)用處的變量,A選項錯誤。在Python中,函數(shù)可以定義在分支或循環(huán)語句的內(nèi)部,D選項錯誤。Python通過保留字def定義函數(shù),語法如下。def<函數(shù)名>(<非可選參數(shù)列表>,<可選參數(shù)>=<默認(rèn)值>):\t<函數(shù)體>\treturn<返回值列表>可選參數(shù)一般都放置在非可選參數(shù)的后面。本題選擇B選項。

28.Azip()是P)rthon的一個內(nèi)建函數(shù),它接受一系列可迭代的對象作為參數(shù),將對象中對應(yīng)的元素打包成一個個元組,然后返回由這些元組組成的列表。若傳入?yún)?shù)的長度不等,則返回list的長度和參數(shù)中長度最短的對象相同。本題中,x為列表類型,y為元組類型,zip(x,y)返回的結(jié)果為[(90,’Aele’),(87,’Bob’),.(93,’lala,’)]。for循環(huán)中i的值依次為0、1、2,因此z(字典類型)的值為{0:[(90,’Aele’),(87,’Bob’),(93,’lala’)],1:[(90,’.Aele’),(87,’Bob’),(93,’lala’)],2:[(90,’Aele’),(87,’Bob’),(93,’lala’)]}

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

30.D

31.N

32.Y

33.N

34.Y

35.N

36.N

37.Y

38.Y

39.N

40.Y

41.9

42.'345'

43.[1,2,3]

44.2

45.[9]

46.5

47.[2,3,1]

48.True

49.False

50.45

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.importrandom\r\nbrandlist=[’三星’,’蘋果’,’vivo’,’OPPO’,’魅族’]\r\nrandom.seed(0)\r\nname=brandlist[random.randint(0,4)]

print(name)題目要求隨機輸出列表中的一個手機名稱,“隨機”需要用到Python的標(biāo)準(zhǔn)庫random,random.seed(0)的作用是設(shè)置初始化隨機數(shù)種子,設(shè)置種子的好處就是可以重復(fù)再現(xiàn)相同的隨機數(shù)序列。輸出列表中的元素可以使用索引的方法,分析代碼可知,列表中共有5個元素,所以元素的序號由0到4,需要用到random庫的randint()方法。random.randint(a,b)的作用是產(chǎn)生一個[a,b]之間的隨機整數(shù)。

53.fo=open(“PY202.txt","w”)data=input(“請輸入一組人員的姓名、性別、年齡:”)#姓名性別年齡women_num=0age_amount=0person_num=0whiledataName,sex,age=data.split(‘’)Ifsex==’女’Women_num+1Age_amount+=int(age)Person_num+=1Data=input()data=input(”請輸入一組人員的姓名、性別、年齡:")Average_age=sge_amount/person_numFo.write(“平均年齡是{:.if}女性人數(shù)是{}“.foumat(average_age,women_num))fo.close()由題目可知,首先需要定義3個變量分別用來統(tǒng)計女性人數(shù)、年齡總和以及總?cè)藬?shù)。本題要求每個人的信息采用空格分隔,即需要用字符串分隔函數(shù)split()進行分隔,該函數(shù)返回的是一個列表,所以每個人的信息就以列表的形式存儲在對應(yīng)的變量中。由于按<Enter\r\n>鍵結(jié)束信息輸入,因此需要把輸入信息的方法放在循環(huán)內(nèi),最后在輸出時使用format()輸出格式化信息。廣東省云浮市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.下面關(guān)于類的說法錯誤的是()。

A.類是一種實例

B.在類進行實例化時將會首先執(zhí)行該類中的im()方法

C.在對類進行實例化時,傳入的實參不用帶上self,它在類執(zhí)行過程中將自行帶上

D.類中的變量若帶有前綴self,則意味著此變量在類中任意位置可以使用

2.下列關(guān)于Python內(nèi)置函數(shù)的使用,描述錯誤的是()。

A.int(x)是將x轉(zhuǎn)換為一個整數(shù)

B.Print(”6+5")的輸出是11

C.dic.Clear()的結(jié)果是清空字典die

D.使用append()函數(shù)可以向列表添加元素

3.執(zhí)行以下代碼的結(jié)果是?A.(1,2,3,4)B.(1,2,3,[1,2,4])C.異常報錯D.(1,2,3,[1,2,3],4)

4.以下函數(shù)定義中,錯誤的是()。

A.defvfunc(s,a=1,*b):

B.defvfunc(a=3,b):

C.defvfunc(a,**b):

D.defvfunc(a,b=2):

5.下面代碼的輸出結(jié)果是()。defadd(x):ifx>0:returnx+add(x一1)else:return0result=add(10)print(result)

A.0B.10C.55D.45

6.數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的查詢、插入、修改及刪除,這類功能稱為()。

A.數(shù)據(jù)控制功能B.數(shù)據(jù)定義功能C.數(shù)據(jù)存儲功能D.數(shù)據(jù)操縱功能

7.概念模型是()。

A.用于現(xiàn)實世界的建模,與具體的DBMS有關(guān)

B.用于信息世界的建模,與具體的DBMS有關(guān)

C.用于現(xiàn)實世界的建模,與具體的DBMS無關(guān)

D.用于信息世界的建模,與具體的DBMS無關(guān)

8.下列代碼的輸出結(jié)果是()。Is=[[0,l],[5,6],[7,8]]lis=[]foriinrange(len(Is)):lis.append(ls[i][1])print(lis)

A.[l,6,8]B.[0,5,7]C.[0,6,8]D.[0,1]

9.在Python語言中,使用open()打開一個Windows操作系統(tǒng)D盤下的文件,路徑名錯誤的是()。

A.D:\PythonTest\a.txt

B.D:\\PythonTest\\a.txt

C.D:/PythonTest/a.txt

D.D://PythonTest//a.txt

10.以下代碼的輸出結(jié)果是()。deffibRate(n):ifn<=0:return—1elifn==1:retum—1elifn==2:return1else:L=[1,5]foriinrange(2,n):L.a(chǎn)ppend(L[一1]+L[一2])returnL[一2]%L[一1]print(fibRate(7))

A.0.6B.28C.一1D.1

11.以下關(guān)于二進制整數(shù)的定義,正確的是()。

A.081014B.0b1010C.0B1019D.ObC3F

12.以下關(guān)于函數(shù)的定義與編寫的描述,錯誤的是()。

A.函數(shù)是代碼復(fù)用的一種方式

B.在Python中,使用關(guān)鍵字define定義函數(shù)

C.定義函數(shù)時,即使函數(shù)不需要接收任何參數(shù),也必須保留空的圓括號來表示這是一個函數(shù)

D.編寫函數(shù)時,一般建議先對參數(shù)進行合法性檢查,然后再進行編寫

13.以下代碼的輸出結(jié)果是()。d=[‘food’:{’cake’:1,’egg’:5}}print(d.get(‘egg’,'nothisfood’))

A.eggB.1C.foodD.nothisfood

14.設(shè)棧與隊列初始狀態(tài)為空。首先A,B,C,D,E依次人棧,再F,G,H,I,J依次入隊;然后依次出棧至???,再依次出隊至隊空。則輸出序列為()。

A.F,G,H,I,J,A,B,C,D,E

B.F,G,H,I,J,E,D,C,B,A

C.E,D,C,B,A,J,I,H,G,F(xiàn)

D.E,D,C,B,A,F(xiàn),G,H,I,J

15.下面關(guān)于CSV文件描述錯誤的是()。

A.CSV文件格式是一種通用的文件格式,應(yīng)用于程序之間轉(zhuǎn)移表格數(shù)據(jù)

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

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

D.整個CSV文件是一個二維數(shù)據(jù)

16.deque是一種()數(shù)據(jù)結(jié)構(gòu)

A.HeapB.StackC.隊列D.雙端隊列

17.以下關(guān)于Python字符編碼的描述中,正確的是()。

A.Python字符編碼使用ASCII值存儲

B.chr(x)和ord(x)函數(shù)用于在單字符和Unicode值之間進行轉(zhuǎn)換

C.print(chr('a’))輸出97

D.print(ord(65))輸出A

18.以下對Python文件處理的描述中,錯誤的是()。

A.當(dāng)文件以文本方式打開時,讀/寫按照字節(jié)流方式

B.Python能夠以文本和二進制兩種方式處理文件

C.Python通過解釋器內(nèi)置的open()函數(shù)打開一個文件

D.文件使用結(jié)束后可以用close()方法關(guān)閉,釋放文件的使用授權(quán)

19.sorted([15,'china',407],key=lambdax:len(str(x)))返回為()

A.[15,407,'china']

B.['china',407,15]

C.['china',15,407]

D.[15,'china',407]

20.軟件設(shè)計中模塊劃分應(yīng)遵循的準(zhǔn)則是()。A.低內(nèi)聚低耦合

B.高內(nèi)聚低耦合

C.低內(nèi)聚高耦合

D.高內(nèi)聚高耦合

21.設(shè)線性表的長度為12。最壞情況下冒泡排序需要的比較次數(shù)為()。

A.66B.78C.144D.60

22.以下關(guān)于Python的描述正確的是()。

A.字典的創(chuàng)建必須使用dict()函數(shù)

B.列表和字符串屬于序列,但元組不屬于序列

C.Python只有一種內(nèi)置的映射類型,就是字典

D.字符串可以進行切片并賦值

23.以下代碼的輸出結(jié)果是()。a=10.99print(complex(a))

A.0.99B.10.99i+iC.10.99D.(10.99+0j)

24.以下程序的輸出結(jié)果是()。foriin“miss”: forjinrange(3): print(i,end=‘’) ifi==“i”: break

A.missmissmissB.mmmissssssC.mmmiiissssssD.mmmssssss

25.下面代碼輸出的圖形是()。

26.以下保留字不屬于分支結(jié)構(gòu)的是()。

A.ifB.elseC.whileD.elif

27.以下關(guān)于Python的描述中,正確的是()。

A.函數(shù)中return語句只能放在函數(shù)定義的最后面

B.定義函數(shù)需要使用保留字def

C.使用函數(shù)最主要的作用是復(fù)用代碼

D.Python函數(shù)不可以定義在分支或循環(huán)語句的內(nèi)部

28.以下程序的輸出結(jié)果是()。x=[90,87,93]y=(”Aele”,”Bob”,”lala”)z={}foriinrange(len(x)):z[i]=list(zip(x,y))print(z)

A.{0:[(90,’Aele’),(87,’Bob’),(93,’lala’)],1:[(90,’Aele’),(87,’Bob’),(93,’lala’)],2:[(90,’Aele’),(87,’Bob’),(93,’lala’)]}

B.{0:(90,’Aele’),1:(87,’Bob’),2:(93,’lala’)}

C.{0:[90,’Aele’],1:[87,’Bob’],2:[93,’lala’]}

D.{0:([90,87,93],(’Aele’,’Bob’,’lala’)),1:([90,87,93],(’Aele’,’Bob’,’lala’)),2:([90,87,93],(’Aele’,’Bob’,’lala’))}

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

A.printf(‘HelloWorld’)

B.print(HelloWorld)

C.print(“HelloWorld")

D.printf("HelloWorld")

30.100-25*3%4應(yīng)該輸出什么?

A.1B.0C.25D.97

二、判斷題(10題)31.通過對象不能調(diào)用類方法和靜態(tài)方法。

A.是B.否

32.Python標(biāo)準(zhǔn)庫threading中的Lock、RLock、Condition、Event、Semaphore對象都可以用來實現(xiàn)線程同步。

A.是B.否

33.假設(shè)re模塊已成功導(dǎo)入,并且有pattern=pile('^'+'\.'.join([r'\d{1,3}'foriinrange(4)])+'$'),那么表達式pattern.match('03')的值為None。

A.是B.否

34.在定義函數(shù)時,某個參數(shù)名字前面帶有兩個*符號表示可變長度參數(shù),可以接收任意多個關(guān)鍵參數(shù)并將其存放于一個字典之中。

A.是B.否

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

A.是B.否

36.Python變量使用前必須先聲明,并且一旦聲明就不能再當(dāng)前作用域內(nèi)改變其類型。

A.是B.否

37.帶有else子句的異常處理結(jié)構(gòu),如果不發(fā)生異常則執(zhí)行else子句中的代碼。

A.是B.否

38.Python元組支持雙向索引。

A.是B.否

39.可以使用del刪除集合中的部分元素。

A.是B.否

40.如果定義類時沒有編寫析構(gòu)函數(shù),Python將提供一個默認(rèn)的析構(gòu)函數(shù)進行必要的資源清理工作。

A.是B.否

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

42.已知字典x={i:str(i+3)foriinrange(3)},那么表達式''.join([item[1]foriteminx.items()])的值為_____________。

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

44.語句x,y,z=[1,2,3]執(zhí)行后,變量y的值為__________。

45.表達式[iforiinrange(10)ifi>8]的值為________________。

46.已知x=3和y=5,執(zhí)行語句x,y=y,x后x的值是____。

47.已知列表x=[1,3,2],那么執(zhí)行語句y=list(reversed(x))之后,y的值為__________。

48.表達式{1,2,3}=={1,3,2}的值為___________。

49.已知x是一個列表對象,那么執(zhí)行語句y=x[:]之后表達式id(x)==id(y)的值為___________。

50.表達式sum(range(10))的值為________________。

四、操作題(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.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:隨機選擇一個手機品牌屏幕輸出。

試題程序:

#請在程序的…處使用一行或多行代碼替換

#請在程序的______處使用一行代碼替換#注意:請不要修改其他已給出代碼

import________brandlist=[’三星’,’蘋果’,’vivo’,’OPPO’,’魅族’]random.seed(0)

……

print(name)

53.考生文件夾下存在一個文件“PY202.Py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改,請在該文件中編寫代碼,以實現(xiàn)如下功能。用鍵盤輸入一組人員的姓名、性別、年齡等信息,信息間采用空格分隔,每個人的信息為一行,按鍵結(jié)束輸入。示例格式如下。張猛男35楊青女18汪海男26孫倩女22計算并輸出這組人員的平均年齡(保留1位小數(shù))和其中女性人數(shù),結(jié)果保存在考生文件夾下,命名為“PY202.txt”。格式如下。平均年齡是25.2女性人數(shù)是2試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fo=open("PY202.txt","w”)data=input("請輸入一組人員的姓名、性別、年齡:")#姓名性別年齡…whiledata:data=input("請輸入一組人員的姓名、性別、年齡:")…fo.write("平均年齡是{:.1f}女性人數(shù)是{}".format(_____))fo.close()

參考答案

1.AA選項中類只是一種抽象事物的分類,對象才是一種實例。本題選擇A選項。

2.BB選項中正確的輸出應(yīng)為6+5,若print()函數(shù)圓括號內(nèi)的變量用引號標(biāo)注,則視為字符串。本題選擇B選項。

3.B

4.B函數(shù)定義時的語法如下。def<函數(shù)名>(<非可選參數(shù)列表>,<可選參數(shù)>=<默認(rèn)值>):\t<函數(shù)體>\treturn<返回值列表>可選參數(shù)一般放置在非可選參數(shù)的后面。本題選擇B選項。

5.C該函數(shù)是一個遞歸函數(shù),用來計算1到10之間的所有數(shù)的和,使用函數(shù)時必須調(diào)用函數(shù),即函數(shù)名(<參數(shù)>),也可以將函數(shù)對象實例化。結(jié)果為55,選C項。

6.D數(shù)據(jù)定義功能:負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建。數(shù)據(jù)操縱功能:負(fù)責(zé)數(shù)據(jù)的操縱,包括查詢與增、刪、改等操作。數(shù)據(jù)控制功能:負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。本題選擇D選項。

7.C概念模型,著重于對客觀世界復(fù)雜事物的描述及對它們內(nèi)在聯(lián)系的刻畫,與具體的DBMS(數(shù)據(jù)庫管理系統(tǒng))無關(guān)。

8.Aleii()方法獲得列表Is的長度,mnge()方法起到循環(huán)次數(shù)的作用,append()方法在列表lis最后增加元素。列表Is存儲的元素是列表,訪問時需要使用索引嵌套。本題選擇A選項。

9.A在Python語言中,使用open()打開文件的操作過程中需要注意,由于’\’是字符串中的轉(zhuǎn)義符,所以表示路徑時,使用”\\”、”/”或”//”代替”\”,A項錯誤。

10.B將實參7傳遞給函數(shù)形參變量n,之后進入多分支結(jié)構(gòu),依次判斷后,執(zhí)行else后面的語句。for語句為:foriinrange(2,7),i從2依次變化到6,循環(huán)5次,將L[一1]+L[一2]的值通過append()方法加入到列表L中。\n當(dāng)i=2時,L[一1]+L[一2]=5+1=6,將6添加到列表L中,此時L=[1,5,6];\n當(dāng)i=3時,L[一1]+L[一2]=6+5=11,將11添加到列表L中,此時L=[1,5,6,11];\n當(dāng)i=4時,L[一1]+L[一2]=11+6=17,將17添加到列表L中,此時L=[1,5,6,11,17];\n當(dāng)i=5時,L[一1]+L[一2]=17+ll=28,將28添加到列表L中,此時L=[1,5,6,11,17,28];\n當(dāng)i=6時,L[一1]+L[一2]=28+17=45,將45添加到列表L中,此時L=[1,5,6,11,17,28,45]。\n最后L[一2]%L[一1]=28%45=28,故程序輸出28。本題選擇B選項。

11.B二進制整數(shù)以0b開頭,后面跟二進制數(shù)0和1。A、C、D三項中有4、9、C、3、F,這些都不是二進制數(shù)。

12.B在Python中,使用關(guān)鍵字def定義函數(shù)。本題選擇B選項。

13.D根據(jù)字典的索引方式可知,d.get(’eggthis\nfood’)索引的是字典第一層,但是第一層只有鍵food,沒有鍵egg,故索引不出值,輸出的是“nothisfood”。本題選擇D選項。

14.D棧稱為“后進先出”表或“先進后出”的線性表;隊列稱為“先進先出”或“后進后出”的線性表。A,B,C,D,E依次入棧,則依次出棧順序為E,D,C,B,A;F,G,H,I,J依次入隊,則依次出隊順序為F,G,H,I,J。故輸出順序為E,D,C,B,A,F(xiàn),G,H,I,J。

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

16.D

17.B在Python中,字符編碼以Unicode值存儲。chr(x)和ord(x)函數(shù)用于在單字符和Unicode值之間進行轉(zhuǎn)換。chr(x)函數(shù)返回Unicode值對應(yīng)的字符,ord(x)函數(shù)返回單字符x對應(yīng)的Unicode值,如chr(1010)返回’c’,ord(”和”)返回21644。因此,選項C、D錯誤。本題選擇B選項。

18.A文件包括文本文件和二進制文件兩種類型。Python對文本文件和二進制文件采用統(tǒng)一的操作步驟,即“打開-操作-關(guān)閉”,B選項正確。采用文本方式讀入文件,文件經(jīng)過編碼形成字符串,輸出有含義的字符;采用二進制方式打開文件,文件被解析為字節(jié)流,A選項錯誤。Python通過open()函數(shù)打開一個文件,并返回一個操作這個文件的變量,語法格式為<變置名>=open(<文件路徑及文件名>,<打開模式>\n),C選項正確。文件使用結(jié)束后要用clooe()方法關(guān)閉,釋放文件的使用授權(quán),語法格式為<變置名>dose()\n,D選項正確。本題選擇A選項。

19.A

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

21.A最壞情況下冒泡排序需要的比較次數(shù)為n(n—1)/2,本題中n=12,故需要比較66次。本題選擇A選項。

22.Cdict()函數(shù)和{}都可以創(chuàng)建字典;序列類型包括列表、元組及字符串;字符串可以切片訪問,但是不能賦值。本題選擇C選項。

23.Da=10.99,說明實部為10.99,虛部為0,故complex(a)返回復(fù)數(shù)10.99+0j。

24.B外層for循環(huán)依次將字符串“mlss”中的字符賦給變量i,內(nèi)層for控制循環(huán)3次,注意是先執(zhí)行print再判斷if條件,輸出第一個i后,碰到if判斷條件,當(dāng)i==“i”時退出內(nèi)層循環(huán),所以結(jié)果為mmmlssssss。本題選擇B選項。

25.Ai的取值區(qū)間為[-3,3)且為整數(shù),當(dāng)i=0時,根據(jù)判斷條件應(yīng)在一行輸出7個*,且行前無空格。通過對4個選項進行比較,采用排除法,本題選擇A選項。

26.Cwhile屬于循環(huán)結(jié)構(gòu)。

27.B函數(shù)定義:函數(shù)是指一組語句的集合通過一個名字(函數(shù)名)封裝起來,要想執(zhí)行這個函數(shù),只需要調(diào)用其函數(shù)名即可。函數(shù)最主要的作用是提高應(yīng)用的模塊性和代碼的重復(fù)利用率,C選項錯誤。return語句用來結(jié)束函數(shù)并將程序返回到函數(shù)被調(diào)用的位置繼續(xù)執(zhí)行。return語句可以出現(xiàn)在函數(shù)的任何部分,可以同時將0個、1個或多個函數(shù)運算結(jié)果返回給函數(shù)被調(diào)用處的變量,A選項錯誤。在Python中,函數(shù)可以定義在分支或循環(huán)語句的內(nèi)部,D選項錯誤。Python通過保留字def定義函數(shù),語法如下。def<函數(shù)名>(<非可選參數(shù)列表>,<可選參數(shù)>=<默認(rèn)值>):\t<函數(shù)體>\treturn<返回值列表>可選參數(shù)一般都放置在非可選參數(shù)的后面。本題選擇B選項。

28.Azip()是P)rthon的一個內(nèi)建函數(shù),它接受一系列可迭代的對象作為參數(shù),將對象中對應(yīng)的元素打包成一個個元組,然后返回由這些元組組成的列表。若傳入?yún)?shù)的長度不等,則返回list的長度和參數(shù)中長度最短的對象相同。本題中,x為列表類型,y為元組類型,zip(x,y)返回的結(jié)果為[(90,’Aele’),(87,’Bob’),.(93,’lala,’)]。for循環(huán)中i的值依次為0、1、2,因此z(字典類型)的值為{0:[(90,’Aele’),(87,’Bob’),(93,’lala’)],1:[(90,’.Aele’),(87,’Bob’),(93,’lala’)],2:[(90,’Aele’),(87,’Bob’),(93,’lala’)]}

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

30.D

31.N

32.Y

33.N

34.Y

35.N

36.N

37.Y

38.Y

39.N

40.Y

41.9

42.'345'

43.[1,2,3]

44.2

45.[9]

46.5

47.[2,3,1]

48.True

49.False

50.45

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.importrandom\r\nbrandlist=[’三星’,’蘋果’,’vivo’,’OPPO’,’魅族’]\r\nrandom.seed(0)\r\nname=brandlist[random.randint(0,4)]

print(name)題目要求隨機輸出列表中的一個手機名稱,“隨機”需要用到Python的標(biāo)準(zhǔn)庫random,random.seed(0)的作用是設(shè)置初始化隨機數(shù)種子,設(shè)置種子的好處就是可以重復(fù)再現(xiàn)相同的隨機數(shù)序列。輸出列表中的元素可以使用索引的方法,分析代碼可知,列表中共有5個元素,所以元素的序號由0到4,需要用到random庫的randint()方法。random.randint(a,b)的作用是產(chǎn)生一個[a,b]之間的隨機整數(shù)。

53.fo=open(“PY202.txt","w”)data=input(“請輸入一組人員的姓名、性別、年齡:”)#姓名性別年齡women_num=0age_amount=0person_num=0whiledataName,sex,age=data.split(‘’)Ifsex==’女’Women_num+1Age_amount+=int(age)Person_num+=1Data=input()data=input(”請輸入一組人員的姓名、性別、年齡:")Average_age=sge_amount/person_numFo.write(“平均年齡是{:.if}女性人數(shù)是{}“.foumat(average_age,women_num))fo.close()由題目可知,首先需要定義3個變量分別用來統(tǒng)計女性人數(shù)、年齡總和以及總?cè)藬?shù)。本題要求每個人的信息采用空格分隔,即需要用字符串分隔函數(shù)split()進行分隔,該函數(shù)返回的是一個列表,所以每個人的信息就以列表的形式存儲在對應(yīng)的變量中。由于按<Enter\r\n>鍵結(jié)束信息輸入,因此需要把輸入信息的方法放在循環(huán)內(nèi),最后在輸出時使用format()輸出格式化信息。廣東省云浮市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.下面關(guān)于類的說法錯誤的是()。

A.類是一種實例

B.在類進行實例化時將會首先執(zhí)行該類中的im()方法

C.在對類進行實例化時,傳入的實參不用帶上self,它在類執(zhí)行過程中將自行帶上

D.類中的變量若帶有前綴self,則意味著此變量在類中任意位置可以使用

2.下列關(guān)于Python內(nèi)置函數(shù)的使用,描述錯誤的是()。

A.int(x)是將x轉(zhuǎn)換為一個整數(shù)

B.Print(”6+5")的輸出是11

C.dic.Clear()的結(jié)果是清空字典die

D.使用append()函數(shù)可以向列表添加元素

3.執(zhí)行以下代碼的結(jié)果是?A.(1,2,3,4)B.(1,2,3,[1,2,4])C.異常報錯D.(1,2,3,[1,2,3],4)

4.以下函數(shù)定義中,錯誤的是()。

A.defvfunc(s,a=1,*b):

B.defvfunc(a=3,b):

C.defvfunc(a,**b):

D.defvfunc(a,b=2):

5.下面代碼的輸出結(jié)果是()。defadd(x):ifx>0:returnx+add(x一1)else:return0result=add(10)print(result)

A.0B.10C.55D.45

6.數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的查詢、插入、修改及刪除,這類功能稱為()。

A.數(shù)據(jù)控制功能B.數(shù)據(jù)定義功能C.數(shù)據(jù)存儲功能D.數(shù)據(jù)操縱功能

7.概念模型是()。

A.用于現(xiàn)實世界的建模,與具體的DBMS有關(guān)

B.用于信息世界的建模,與具體的DBMS有關(guān)

C.用于現(xiàn)實世界的建模,與具體的DBMS無關(guān)

D.用于信息世界的建模,與具體的DBMS無關(guān)

8.下列代碼的輸出結(jié)果是()。Is=[[0,l],[5,6],[7,8]]lis=[]foriinrange(len(Is)):lis.append(ls[i][1])print(lis)

A.[l,6,8]B.[0,5,7]C.[0,6,8]D.[0,1]

9.在Python語言中,使用open()打開一個Windows操作系統(tǒng)D盤下的文件,路徑名錯誤的是()。

A.D:\PythonTest\a.txt

B.D:\\PythonTest\\a.txt

C.D:/PythonTest/a.txt

D.D://PythonTest//a.txt

10.以下代碼的輸出結(jié)果是()。deffibRate(n):ifn<=0:return—1elifn==1:retum—1elifn==2:return1else:L=[1,5]foriinrange(2,n):L.a(chǎn)ppend(L[一1]+L[一2])returnL[一2]%L[一1]print(fibRate(7))

A.0.6B.28C.一1D.1

11.以下關(guān)于二進制整數(shù)的定義,正確的是()。

A.081014B.0b1010C.0B1019D.ObC3F

12.以下關(guān)于函數(shù)的定義與編寫的描述,錯誤的是()。

A.函數(shù)是代碼復(fù)用的一種方式

B.在Python中,使用關(guān)鍵字define定義函數(shù)

C.定義函數(shù)時,即使函數(shù)不需要接收任何參數(shù),也必須保留空的圓括號來表示這是一個函數(shù)

D.編寫函數(shù)時,一般建議先對參數(shù)進行合法性檢查,然后再進行編寫

13.以下代碼的輸出結(jié)果是()。d=[‘food’:{’cake’:1,’egg’:5}}print(d.get(‘egg’,'nothisfood’))

A.eggB.1C.foodD.nothisfood

14.設(shè)棧與隊列初始狀態(tài)為空。首先A,B,C,D,E依次人棧,再F,G,H,I,J依次入隊;然后依次出棧至棧空,再依次出隊至隊空。則輸出序列為()。

A.F,G,H,I,J,A,B,C,D,E

B.F,G,H,I,J,E,D,C,B,A

C.E,D,C,B,A,J,I,H,G,F(xiàn)

D.E,D,C,B,A,F(xiàn),G,H,I,J

15.下面關(guān)于CSV文件描述錯誤的是()。

A.CSV文件格式是一種通用的文件格式,應(yīng)用于程序之間轉(zhuǎn)移表格數(shù)據(jù)

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

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

D.整個CSV文件是一個二維數(shù)據(jù)

16.deque是一種()數(shù)據(jù)結(jié)構(gòu)

A.HeapB.StackC.隊列D.雙端隊列

17.以下關(guān)于Python字符編碼的描述中,正確的是()。

A.Python字符編碼使用ASCII值存儲

B.chr(x)和ord(x)函數(shù)用于在單字符和Unicode值之間進行轉(zhuǎn)換

C.print(chr('a’))輸出97

D.print(ord(65))輸出A

18.以下對Python文件處理的描述中,錯誤的是()。

A.當(dāng)文件以文本方式打開時,讀/寫按照字節(jié)流方式

B.Python能夠以文本和二進制兩種方式處理文件

C.Python通過解釋器內(nèi)置的open()函數(shù)打開一個文件

D.文件使用結(jié)束后可以用close()方法關(guān)閉,釋放文件的使用授權(quán)

19.sorted([15,'china',407],key=lambdax:len(str(x)))返回為()

A.[15,407,'china']

B.['china',407,15]

C.['china',15,407]

D.[15,'china',407]

20.軟件設(shè)計中模塊劃分應(yīng)遵循的準(zhǔn)則是()。A.低內(nèi)聚低耦合

B.高內(nèi)聚低耦合

C.低內(nèi)聚高耦合

D.高內(nèi)聚高耦合

21.設(shè)線性表的長度為12。最壞情況下冒泡排序需要的比較次數(shù)為()。

A.66B.78C.144D.60

22.以下關(guān)于Python的描述正確的是()。

A.字典的創(chuàng)建必須使用dict()函數(shù)

B.列表和字符串屬于序列,但元組不屬于序列

C.Python只有一種內(nèi)置的映射類型,就是字典

D.字符串可以進行切片并賦值

23.以下代碼的輸出結(jié)果是()。a=10.99print(complex(a))

A.0.99B.10.99i+iC.10.99D.(10.99+0j)

24.以下程序的輸出結(jié)果是()。foriin“miss”: forjinrange(3): print(i,end=‘’) ifi==“i”: break

A.missmissmissB.mmmissssssC.mmmiiissssssD.mmmssssss

25.下面代碼輸出的圖形是()。

26.以下保留字不屬于分支結(jié)構(gòu)的是()。

A.ifB.elseC.whileD.elif

27.以下關(guān)于Python的描述中,正確的是()。

A.函數(shù)中return語句只能放在函數(shù)定義的最后面

B.定義函數(shù)需要使用保留字def

C.使用函數(shù)最主要的作用是復(fù)用代碼

D.Python函數(shù)不可以定義在分支或循環(huán)語句的內(nèi)部

28.以下程序的輸出結(jié)果是()。x=[90,87,93]y=(”Aele”,”Bob”,”lala”)z={}foriinrange(len(x)):z[i]=list(zip(x,y))print(z)

A.{0:[(90,’Aele’),(87,’Bob’),(93,’lala’)],1:[(90,’Aele’),(87,’Bob’),(93,’lala’)],2:[(90,’Aele’),(87,’Bob’),(93,’lala’)]}

B.{0:(90,’Aele’),1:(87,’Bob’),2:(93,’lala’)}

C.{0:[90,’Aele’],1:[87,’Bob’],2:[93,’lala’]}

D.{0:([90,87,93],(’Aele’,’Bob’,’lala’)),1:([90,87,93],(’Aele’,’Bob’,’lala’)),2:([90,87,93],(’Aele’,’Bob’,’lala’))}

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

A.printf(‘HelloWorld’)

B.print(HelloWorld)

C.print(“HelloWorld")

D.printf("HelloWorld")

30.100-25*3%4應(yīng)該輸出什么?

A.1B.0C.25D.97

二、判斷題(10題)31.通過對象不能調(diào)用類方法和靜態(tài)方法。

A.是B.否

32.Python標(biāo)準(zhǔn)庫threading中的Lock、RLock、Condition、Event、Semaphore對象都可以用來實現(xiàn)線程同步。

A.是B.否

33.假設(shè)re模塊已成功導(dǎo)入,并且有pattern=pile('^'+'\.'.join([r'\d{1,3}'foriinrange(4)])+'$'),那么表達式pattern.match('03')的值為None。

A.是B.否

34.在定義函數(shù)時,某個參數(shù)名字前面帶有兩個*符號表示可變長度參數(shù),可以接收任意多個關(guān)鍵參數(shù)并將其存放于一個字典之中。

A.是B.否

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

A.是B.否

36.Python變量使用前必須先聲明,并且一旦聲明就不能再當(dāng)前作用域內(nèi)改變其類型。

A.是B.否

37.帶有else子句的異常處理結(jié)構(gòu),如果不發(fā)生異常則執(zhí)行else子句中的代碼。

A.是B.否

38.Python元組支持雙向索引。

A.是B.否

39.可以使用del刪除集合中的部分元素。

A.是B.否

40.如果定義類時沒有編寫析構(gòu)函數(shù),Python將提供一個默認(rèn)的析構(gòu)函數(shù)進行必要的資源清理工作。

A.是B.否

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

42.已知字典x={i:str(i+3)foriinrange(3)},那么表達式''.join([item[1]foriteminx.items()])的值為_____________。

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

44.語句x,y,z=[1,2,3]執(zhí)行后,變量y的值為__________。

45.表達式[iforiinrange(10)ifi>8]的值為________________。

46.已知x=3和y=5,執(zhí)行語句x,y=y,x后x的值是____。

47.已知列表x=[1,3,2],那么執(zhí)行語句y=list(reversed(x))之后,y的值為__________。

48.表達式{1,2,3}=={1,3,2}的值為___________。

49.已知x是一個列表對象,那么執(zhí)行語句y=x[:]之后表達式id(x)==id(y)的值為___________。

50.表達式sum(range(10))的值為________________。

四、操作題(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.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:隨機選擇一個手機品牌屏幕輸出。

試題程序:

#請在程序的…處使用一行或多行代碼替換

#請在程序的______處使用一行代碼替換#注意:請不要修改其他已給出代碼

import________brandlist=[’三星’,’蘋果’,’vivo’,’OPPO’,’魅族’]random.seed(0)

……

print(name)

53.考生文件夾下存在一個文件“PY202.Py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改,請在該文件中編寫代碼,以實現(xiàn)如下功能。用鍵盤輸入一組人員的姓名、性別、年齡等信息,信息間采用空格分隔,每個人的信息為一行,按鍵結(jié)束輸入。示例格式如下。張猛男35楊青女18汪海男26孫倩女22計算并輸出這組人員的平均年齡(保留1位小數(shù))和其中女性人數(shù),結(jié)果保存在考生文件夾下,命名為“PY202.txt”。格式如下。平均年齡是25.2女性人數(shù)是2試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fo=open("PY202.txt","w”)data=input("請輸入一組人員的姓名、性別、年齡:")#姓名性別年齡…whiledata:data=input("請輸入一組人員的姓名、性別、年齡:")…fo.write("平均年齡是{:.1f}女性人數(shù)是{}".format(_____))fo.close()

參考答案

1.AA選項中類只是一種抽象事物的分類,對象才是一種實例。本題選擇A選項。

2.BB選項中正確的輸出應(yīng)為6+5,若print()函數(shù)圓括號內(nèi)的變量用引號標(biāo)注,則視為字符串。本題選擇B選項。

3.B

4.B函數(shù)定義時的語法如下。def<函數(shù)名>(<非可選參數(shù)列表>,<可選參數(shù)>=<默認(rèn)值>):\t<函數(shù)體>\treturn<返回值列表>可選參數(shù)一般放置在非可選參數(shù)的后面。本題選擇B選項。

5.C該函數(shù)是一個遞歸函數(shù),用來計算1到10之間的所有數(shù)的和,使用函數(shù)時必須調(diào)用函

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論