版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年稅務(wù)師題庫含答案(達標(biāo)題)
- 2024年設(shè)備監(jiān)理師考試題庫及參考答案【鞏固】
- 2024年考點 化學(xué)使世界變得更加絢麗多彩 (解析版)
- 第18課 社會主義的發(fā)展與挫折(分層作業(yè))(解析版)
- 第2單元 古代歐洲文明(B卷·能力提升練)(解析版)
- 手術(shù)后硬膜外鎮(zhèn)痛的效能與安全
- 2024年度天津市公共營養(yǎng)師之二級營養(yǎng)師能力檢測試卷B卷附答案
- “十三五”重點項目-食用松香甘油酯項目節(jié)能評估報告(節(jié)能專)
- 鬃毛加工、制刷及清掃工具的制造行業(yè)分析報告
- 2025年中國牡荊油行業(yè)市場全景評估及發(fā)展戰(zhàn)略研究報告
- 2023漢邦高科安防產(chǎn)品技術(shù)參數(shù)和檢測報告
- 急診課件:急性呼吸困難完整版
- 唐詩宋詞鑒賞(第二版)PPT完整全套教學(xué)課件
- 超聲診斷學(xué)-乳腺超聲診斷
- 管工初賽實操
- 門診病歷書寫模板全
- 2023年房屋租賃管理模板
- 液壓與氣壓傳動中職PPT完整全套教學(xué)課件
- 國開大學(xué)2023年01月11067《知識產(chǎn)權(quán)法》期末考試答案
- 全部編版四年級語文下生字讀音、音序、偏旁及組詞
- 藥物的不良反應(yīng)
評論
0/150
提交評論