版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
山東省菏澤市全國計算機等級考試Python語言程序設計專項練習(含答案)學校:________班級:________姓名:________考號:________
一、單選題(30題)1.表格類型數據的組織維度最可能是()。
A.多維數據B.一維數據C.二維數據D.高維數據
2.下面關于Python中的變量描述錯誤的是()。
A.全局變量和局部變量兩者的本質區(qū)別就是在于作用域
B.全局變量在函數內部和函數外部都可以訪問使用
C.局部變量也可以在函數外部使用
D.在函數內部要對全局變量進行修改,需要加上global聲明
3.若I,j均為整形數值對象,以下哪個語句計算i被j除后的余數()
A.imodjB.i/jC.i%jD.i//j
4.關于以下代碼的描述中,正確的是()。deffact(n):s=1foriinrange(1,n+1):s*=ireturns
A.代碼中n是可選參數
B.fact(n)函數功能為求n的階乘
C.s是全局變量
D.range()函數的范圍是[1,n+1]
5.s和T是兩個集合,對S&T。的描述正確的是()。
A.S和T的交運算,包括同時在集合S和T中的元素
B.S和T的并運算,包括在集合S和T中的所有元素
C.S和T的差運算,包括在集合S但不在T中的元素
D.S和T的補運算,包括幾個S和T中的非相同元素
6.以下關于Python二維數據的描述中,錯誤的是()。
A.表格數據屬于二維數據,由整數索引的數據構成
B.二維數據由多條一維數據構成,可以看作一維數據的組合形式
C.一種通用的二維數據存儲文件是CSV文件
D.CSV文件的每行表示一個一維數據,用英文逗號分隔
7.軟件設計中劃分模塊的一個準則是()。A.低內聚低耦合B.高內聚低耦合C.低內聚高耦合D.高內聚高耦合
8.請問以下代碼執(zhí)行的結果是()whileTrue:i=0print(i)ifi==7:breakA.死循環(huán),一直輸出0B.輸出到6后,結束循環(huán)C.輸出到7后,結束循環(huán)D.輸出到8后,結束循環(huán)
9.在Python中,讀入CSV文件保存的二維數據,按特定分隔符抽取信息,最可能用到的函數是()。
A.read()B.join()C.replace()D.split()
10.Python使用縮進作為語法邊界,一般建議怎樣縮進?
A.TABB.兩個空格C.四個空格D.八個空格
11.以下不是Python所使用特殊含義符號的是()。
A.$B.**C.&D.+=
12.以下不屬于Python開發(fā)用戶界面第三方庫的是()。
A.PyGObjectB.PyQtC.timeD.PyGTK
13.以下關于Python函數的描述中,正確的是()。
A.函數eval()可以用于數值表達式求值,例如eval(”2*3+1”)
B.Python中,def和return是函數必須使用的保留字
C.Python函數定義中沒有對參數指定類型,這說明參數在函數中可以當作任意類型使用
D.一個函數中只允許有一條return語句
14.有兩個關系R、S如下:
由關系R通過運算得到關系S,則所使用的運算為()。
A.選擇B.投影C.插入D.連接
15.下列哪個語句在Python中是非法的?()
A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y
16.某完全二叉樹有256個節(jié)點,則該二叉樹的深度為()。
A.7B.8C.9D.10
17.下列敘述中正確的是()。
A.順序存儲結構的存儲一定是連續(xù)的,鏈式存儲結構的存儲空間不一定是連續(xù)的
B.順序存儲結構只針對線性結構,鏈式存儲結構只針對非線性結構
C.順序存儲結構能存儲有序表,鏈式存儲結構不能存儲有序表
D.鏈式存儲結構比順序存儲結構節(jié)省存儲空間
18.以下程序的輸出結果是()。11=[’aa’,[2,3,3.0]]print(11.index(2))
A.2B.3.0C.3D.ValueError
19.表達式divmod(40,3)的結果是()。
A.13,1B.(13,1)C.13D.1
20.下列選項中不屬于結構化程序設計原則的是()。
A.可封裝B.自頂向下C.模塊化D.逐步求精
21.以下關于組合類型的描述,正確的是()。
A.空字典可以用大括號來創(chuàng)建
B.可以用set創(chuàng)建集合,用中括號和賦值語句增加新元素
C.字典數據類型里可以用列表做鍵
D.字典的items()函數返回一個鍵值對,并用元組表述
22.對以下代碼的輸出描述正確的是()。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
23.Python中匿名函數的關鍵字是()。
A.lambdaB.globalC.withD.I)ass
24.下面代碼的輸出結果是()。foriinreversed(range(7,4,-1)):print(i,end=””)
A.7654B.765C.567D.4567
25.以下選項中不是Python文件目錄操作方法的是()。
A.split()B.rename()C.getcwd()D.rmdir()
26.以下關于分支結構的描述中,錯誤的是()。
A.if語句中語句塊執(zhí)行與否依賴于條件判斷
B.if語句中條件部分可以使用任何能夠產生True和False的語句和函數
C.二分支結構有一種緊湊形式,使用保留字if和else實現
D.多分支結構用于設置多個判斷條件及其對應的多條執(zhí)行路徑
27.關于以下程序的描述中,正確的是()。deffact(n): s=1 foriinrange(1,n+1): s*=i returns
A.代碼中n是可選參數
B.fact(n)函數功能為求n的階乘
C.s是全局變量
D.range()函數的范圍是[1,n+1]
28.以下關于turtle庫的描述,錯誤的是()。
A.在importturtle之后,可以用turtle.circle()語句畫一個圓圈
B.seth(x)是setheading(x)函數的別名,其作用是讓畫筆旋轉x角度
C.可以用importturtle來導入turtle庫函數
D.home()函數用于設置當前畫筆位置為原點,方向朝上
29.下列算法中,最壞情況下時間復雜度最低的是()。
A.堆排序B.尋找最大項C.順序查找D.有序表的對分查找
30.以下屬于Python網絡爬蟲框架領域的第三方庫的是()。
A.pandasB.grabC.xpinyinD.SnowNLP
二、判斷題(10題)31.Python字典支持雙向索引。
A.是B.否
32.在派生類中可以通過“基類名.方法名()”的方式來調用基類中的方法。
A.是B.否
33.Python3.x支持使用中文作為變量名。
A.是B.否
34.x=9999**9999這樣的語句在Python中無法運行,因為數字太大了超出了整型變量的表示范圍。
A.是B.否
35.只可以動態(tài)為對象增加數據成員,而不能為對象動態(tài)增加成員方法。
A.是B.否
36.在定義函數時,某個參數名字前面帶有兩個*符號表示可變長度參數,可以接收任意多個關鍵參數并將其存放于一個字典之中。A.是B.否
37.lambda表達式中可以使用任意復雜的表達式,但是必須只編寫一個表達式。
A.是B.否
38.只能通過切片訪問列表中的元素,不能使用切片修改列表中的元素。
A.是B.否
39.放在一對三引號之間的任何內容將被認為是注釋。
A.是B.否
40.在Python中可以為自定義類的對象動態(tài)增加新成員。
A.是B.否
三、填空題(10題)41.已知x={1:1,2:2},那么執(zhí)行語句x[2]=4之后,len(x)的值為____________。
42.表達式isinstance('4',(int,float,complex))的值為_____________。
43.執(zhí)行語句x,y,z=map(str,range(3))之后,變量y的值為___________。
44.已知函數定義deffunc(*p):returnsum(p),那么表達式func(1,2,3)的值為______。
45.表達式'Helloworld!'[-4]的值為________________。
46.表達式type('3')in(int,float,complex)的值為__________。
47.表達式-13//4的值為__________。
48.在Python中關鍵字__________表示空類型。
49.轉義字符’\n’的含義是___________________。
50.語句print(re.match('abc','defg'))輸出結果為_____________。
四、操作題(3題)51.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實現以下功能:列表中有四個元素,將其倒序輸出。試題程序:
#請在______處使用一行代碼或表達式替換
#注意:請不要修改其他已給出代碼
animals=[’cow’,’duck’,’cat’,’dog’]
print(______)
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.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實現以下功能:
鍵盤輸入正整數n,按要求把n輸出到屏幕,格式要求:寬度為25個字符,等號字符(=)填充,右對齊,帶千位分隔符。如果輸入正整數超過25位,則按照真實長度輸出。
例如:鍵盤輸入正整數n為1234,屏幕輸出===================1,234
試題程序:
#請完善如下代碼
s=input()
print(”{________(1)_________}”.format(________(2)_________))
參考答案
1.C一維數據由對等關系的有序或無序數據構成,采用線性方式組織;二維數據,也稱表格數據,由關聯關系數據構成,采用二維表格方式組織;高維數據由鍵值對類型的數據構成,采用對象方式組織。故答案為C項。
2.C局部變量是指在函數內部使用的變量,僅在函數內部有效,當函數使用過后,變量從內存中釋放,所以C選項錯誤。
3.C
4.B函數定義時的語法如下:\ndef<函數名>(<非可選參數列表>,<可選參數>=<默認值>):\n<函數體>\nreturn<返回值列表>\n可選參數一般都放置在非可選參數的后面。本題代碼中,n為非可選參數,fact(n)函數的功能為求n的階乘。s在函數內部定義,為局部變量。根據range函數的定義,range(1,n+1)的范圍是[1,n],不包含n+1。
5.AS&T返回一個新集合,包括同時在集合S和T中的元素。
6.A二維數據也稱表格數據,由關聯關系數據構成,A選項錯誤。二維數據由多個一維數據構成,可以看作一維數據的組合形式,B選項正確。CSV文件是二維數據的存儲文件,C選項正確。CSV文件的每行是一維數據,用逗號分隔,D選項正確。本題選擇A選項。
7.B一般較優(yōu)秀的軟件設計,應盡量做到高內聚、低耦合,即減弱模塊之間的耦合性和提高模塊內的內聚性,有利于提高模塊的獨立性。
8.A
9.D在Python中,讀取CSV文件中的二維碼數據采用遍歷循環(huán)和字符串的split()方法相結合,方法如下:f=open('cpi.csv”,”r”)ls=[]forlineinf:Is.append(line,strip(“\\n').split(“,”))f.close()本題選擇D選項。
10.C
11.A在Python中,有特殊含義的符號:+、-、*、/、%、**、//、==、!=、<>、>、<、>=、<=、=、+=、-=、*=、/=、%=、**=、//=、&、|、^、~、<<、>>、&=、|=、^=、~=。本題選擇A選項。
12.CPyGObject、PyQt(QT開發(fā)庫)和PyGTK(GTK+庫)均是Python開發(fā)用戶界面的第三方庫。而time庫是Python提供的處理時間標準庫。本題選擇C選項。
13.A在Python語言中,return語句用來結束函數并將程序返回到函數被調用的位置繼續(xù)執(zhí)行。return語句可以出現在函數中的任何部分,可以同時將0個、1個或多個函數運算結果返回給函數被調用處的變量。函數可以沒有return,此時函數并不返回值。B、D兩項錯誤。Python函數定義中沒有對參數指定類型,則函數內的默認參數是對函數的默認參數屬性_defaults_的引用,C項錯誤。\neval()函數將去掉字符串最外側的引號,并按照Python語句方式執(zhí)行去掉引號后的字符內容,使用方式:<變量>=eval(<字符串>),其中變量用來保存對字符串內容進行Python運算的結果,故函數eval()可以用于數值表達式求值,如eval(”2*3+1”)=7。
14.B投影運算是指對于關系內的域指定可引入新的運算。本題中S是在原有關系R的內部進行的,是由R中原有的那些域的列所組成的關系。本題選擇B選項。
15.B賦值運算的一般形式:變量=表達式,左邊只能是變量。A選項是連續(xù)賦值,C選項是序列賦值,D選項可以寫為x=x+y。本題選擇B選項。
16.C
17.A鏈式存儲結構既可以針對線性結構也可以針對非線性結構,所以選項B,C錯誤。鏈式存儲結構中每個結點都由數據域與指針域兩部分組成,增加了存儲空間,所以D選項錯誤。本題選擇A選項。
18.D列表的index()方法用于從列表中找出某個對象第一個匹配項的索引位置,如果這個對象不在列表中會報一個異常。本題中11.index(2)是指在列表11中查找對象2,但列表中并不存在元素2,因此會異常。故答案為D項。
19.Bdivmod(x,y)函數用來計算x和y的除余結果,返回兩個值,分別是:x與y的整數除,即x//y,以及x與y的余數,即x%y。返回的兩個值組成了一個元組類型,即小括號包含的兩個元素(x//y,x%y)。40//3=13,40%3=1,故答案為B項。
20.AA?!窘馕觥拷Y構化程序設計方法的主要原則可以概括為自頂向下、逐步求精、模塊化、限制使用goto語句等。
21.A集合中可以使用add()方法增加新元素,不能使用中括號來添加,B項錯誤;字典數據類型必須用不可變的元素做鍵,而列表是可變的,不能做鍵,C項錯誤;字典的items()函數返回的是所有的鍵值對,D項錯誤。故正確答案為A項。
22.Arange(6)取到的是0,1,2,3,4,5這六個數,這些數均為int類型,使用list()方法將其存儲在列表變量lis中。
23.AB項是定義全局變量的關鍵字,C項是with…as用來代替?zhèn)鹘y(tǒng)的try…finally語法,D項的意思是程序什么都不做。
24.Crange([start,]stop[,step=1\n])函數有3個參數,用來生成一個從start參數的值開始,到stop參數的值結束的數字序列,步長step默認為1,區(qū)間為左閉右開。而reVerSed()函數用于反轉列表中的元素。本題選擇C選項。
25.Arename():給文件重命名;getcwd():得到當前工作目錄,即當前Python腳本工作的目錄路徑;rmdir():刪除目錄。split():按給出的分隔符分隔字符串,返回的是列表類型。
26.CPython的單分支結構使用if關鍵字對條件進行判斷,語法格式如下:if〈條件>:<語句塊>Python的二分支結構使用if-else關鍵字對條件進行判斷,語法格式如下:if<條件>:<語句塊1>else:〈語句塊2>Python的多分支結構使用if-elif-else關鍵字對多個相關條件進行判斷,并根據不同條件的結果按照順序選擇執(zhí)行路徑,語法格式如下:if<條件1>:〈語句塊1>elif<條件2>:<語句塊2>else:〈語句塊3>本題選擇C選項。
27.B函數定義時的語法如下。def<函數名>(<非可選參數列表>,<可選參數>=<默認值>):\t<函數體>return<返回值列表>可選參數一般都放置在非可選參數的后面。本題代碼中,n為非可選參數,fact(n)函數的功能為求n的階乘。s在函數內部定義,為局部變量。根據range()函數的定義,range(1,n+1)的范圍是[1,n],不包含n+1。本題選擇B選項。
28.Dturtle庫的home()函數用于設置當前畫筆位置為原點,朝向東。本題選擇D選項。
29.D對于長度為n的有序線性表,在最壞情況下,二分法查找(對分查找)需比較log2n次。對于長度為n的線性表,最壞情況下順序查找需要n次,尋找最大項需要n一1次,堆排序需要nlog2n次。故D項的時間復雜度最低。
30.BA選項是Python數據分析方向的一個庫,C選項是Python中一個用于把漢字轉換成拼音的庫,D選項是Python中用來處理中文文本的庫。本題選擇B選項。
31.N
32.Y
33.Y
34.N
35.N
36.Y
37.Y
38.N
39.N
40.Y
41.2
42.False
43.'1'
44.6
45.'r'
46.FalseTrue
47.-4
48.None
49.回車換行
50.None
51.animals=[’cow’,’duck’,’cat’,’dog’]\r\n
animals.reverse()\r\n
print(animals)列表的操作方法reverse()用于將列表中的元素反轉。
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()函數,用”r”只讀模式打開文件”score.txt”,用”w”模式創(chuàng)建文件”cand:idate0.txt”。\r\n
”score.txt”文件中每行為一個學生的信息,需要用readlines()函數讀入所有行,以每行為元素形成列表lines,然后用for循環(huán)遍歷該列表中的每個元素。在遍歷每個元素時,用strip()方法刪除元素首尾出現的空格,用split()方法以空格分隔學生的學號、姓名以及10門課成績得到列表student。由于要求出總成績,因此要使用for遍歷每個學生的10門課成績,將其累加賦值給sum,并將sum追加到student中。最后將student中所有元素追加到列表L中。\r\n
隨后,對列表L中的元素進行排序,用到sort()方法,參數”key=lambdax:x[一1]”中l(wèi)ambda是一個隱函數,是固定寫法,不能寫成別的單詞;x表示列表中的一個元素,在這里表示一個列表(即一個學生的信息),x只是臨時起的一個名字,也可以使用任意的名字;x[一1]表示以列表中的最后一個元素(即總成績)排序。參數”reverse=True”表示按降序排序;若該參數缺省或”reverse=False”,表示按升序排序。\r\n
最后,通過for循環(huán)在列表L中提取出前10個元素(即前10名的學生信息,但不包含總成績),用空格分隔每個元素,并添加換行符,寫入到文件”candidate0.txt”中,再關閉所有文件。\r\n
(2)本題涉及”candidate0.txt”和”candidate.txt”兩個文件。首先要讀取”candidate0.txt”文件中的信息,通過程序判斷每個學生的所有課程成績是否都大于等于60,滿足條件的將該學生的學號和姓名寫入到”candidate.txt”文件中。打開文件用open()函數,用”r”只讀模式打開文件”candidate0.txt”,用”w”模式創(chuàng)建文件”candidate.txt”,并定義一個列表L來存儲學號和姓名(做中轉)。\r\n”candidate0.txt”文件中有10行數據,需要用readlines()函數讀入所有行,以每行為元素形成列表lines,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廣東深圳市投資促進局面向市內選調公務員5人備考題庫附答案
- 2025年12月廣西能源集團有限公司社會招聘16人考試題庫附答案
- 2025安徽蕪湖醫(yī)藥健康職業(yè)學院招聘11人參考題庫附答案
- 2025廣東江門臺山市信訪局對外招聘編外人員1人(公共基礎知識)綜合能力測試題附答案
- 2025年南通市通州區(qū)第二人民醫(yī)院公開招聘編外工作人員備考題庫附答案
- 2025年常山縣機關事業(yè)單位公開招聘編外人員43人考試備考題庫附答案
- 2025年上半年黑龍江中醫(yī)藥大學附屬第一醫(yī)院公開招聘工作人員41人(公共基礎知識)綜合能力測試題附答案
- 2025年盤錦市中醫(yī)醫(yī)院招聘事業(yè)編制及勞動合同制工作人員20人(公共基礎知識)綜合能力測試題附答案
- 2026云南省教育廳招募基礎教育銀齡教師760人筆試參考題庫及答案解析
- 2026廣東廣州市天河區(qū)同仁藝體實驗中學招聘教師2人筆試備考試題及答案解析
- 折彎工技能等級評定標準
- 全屋定制家具合同
- 短視頻內容版權協議2025年執(zhí)行版
- 2025年數字印刷可行性報告
- 國際道路運輸安全生產管理制度文本
- 食堂消防安全制度培訓課件
- 2025-2030房地產行業(yè)人才結構轉型與復合型培養(yǎng)體系構建
- 電力通信安全培訓資料課件
- 上海國安面試題庫及答案
- 2025年財務共享服務模式白皮書方案
- 2025版新春晚會節(jié)目編排與制作合同
評論
0/150
提交評論