版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
廣東省江門市全國計算機等級考試Python語言程序設計學校:________班級:________姓名:________考號:________
一、單選題(30題)1.定義在類中的方法之外的變量是()
A.實例變量B.類變量C.公有變量D.私有變量
2.下面關于Python中模塊導入的說法錯誤的是()。
A.Python中,可以使用import語句將一個源代碼文件作為模塊導入
B.在系統(tǒng)導入模塊時,會創(chuàng)建一個名為源代碼的文件的對象,該對象引用模塊的名字空間,即可通過這個對象訪問模塊中的函數(shù)和變量
C.import語句可在程序的任何位置使用,可以在程序中多次導入統(tǒng)一模塊,每次導入該模塊時都會將該模塊中的代碼執(zhí)行一次
D.模塊導入時可以使用as關鍵字來改變模塊的引用對象名字
3.將E-R圖轉換為關系模式時,實體和聯(lián)系都可以表示為()。
A.屬性B.鍵C.關系D.域
4.執(zhí)行以下代碼的結果是()A.2B.5C.8D.Anexceptionisthrown
5.下面代碼的輸出結果是()。deff(n):ifn==1:return1else:returnn*f(n—1)print(f(4))
A.24B.4C.0D.10
6.以下關于Python復數(shù)類型的描述中,錯誤的是()。
A.復數(shù)可以進行四則運算
B.實部不可以為0
C.Python中可以使用z.real和a.imag分別獲取它的實部和虛部
D.復數(shù)類型與數(shù)學中復數(shù)的概念一致
7.下面屬于Python文本處理方向的第三方庫的是()。
A.PILB.MayaviC.TYTKD.PDFMiner
8.設二叉樹的中序序列為BDCA,后序序列為DCBA,則前序序列為()。
A.BCDAB.CBDAC.ABCDD.ACDB
9.下面代碼的輸出結果是()。deffun(x,y,z):u=x+y—zprint(u)fun(1+2j,5,4一1j)
A.NameErrorB.(2+3j)C.2D.3j
10.關于二維數(shù)據(jù)描述錯誤的是()。
A.二維列表對象輸出為CSV文件,將遍歷循環(huán)和字符串的split()方法相結合
B.二維數(shù)據(jù)由關聯(lián)關系的數(shù)據(jù)構成
C.二維數(shù)據(jù)是一維數(shù)據(jù)的組合形式,由多個一維數(shù)據(jù)組合形成
D.二維數(shù)據(jù)可以使用二維列表表示,即列表中的每一個元素對應二維數(shù)據(jù)的每一行
11.表達式divmod(40,3)的結果是()。
A.13,1B.(13,1)C.13D.1
12.關于以下代碼的描述中,正確的是()。deffact(n):s=1foriinrange(1,n+1):s*=ireturns
A.代碼中n是可選參數(shù)
B.fact(n)函數(shù)功能為求n的階乘
C.s是全局變量
D.range()函數(shù)的范圍是[1,n+1]
13.以下程序的輸出結果是()。sum=1foriinrange(1,11):sum+=iprint(sum)
A.1B.56C.67D.56.0
14.正則非貪婪模式使用()符號設置
A.\$B.\∧C.\{}D.\?
15.以下屬于Python機器學習方向的第三方庫的是()。
A.randomB.SnowNLPC.TensorflowD.loso
16.以下關于數(shù)據(jù)組織的描述中,錯誤的是()。
A.—維數(shù)據(jù)采用線性方式組織,可以用Python集合或列表類型表示
B.列表類型僅用于表示一維和二維數(shù)據(jù)
C.二維數(shù)據(jù)采用表格方式組織,可以用Python列表類型表示
D.更高維數(shù)據(jù)組織由鍵值對類型的數(shù)據(jù)構成,可以用Python字典類型表示
17.以下描述中,錯誤的是()。
A.Python通過索引來訪問列表中元素,索引可以是負整數(shù)
B.列表用方括號來定義,繼承了序列類型的所有屬性和方法
C.Python列表是各種類型數(shù)據(jù)的集合,列表中的元素不能夠被修改
D.Python的列表類型能夠包含其他的組合數(shù)據(jù)類型
18.下列敘述中正確的是()。A.線性表的鏈式存儲結構與順序存儲結構所需要的存儲空間是相同的
B.線性表的鏈式存儲結構所需要的存儲空間一般要多于順序存儲結構
C.線性表的鏈式存儲結構所需要的存儲空間一般要少于順序存儲結構
D.線性表的鏈式存儲結構與順序存儲結構在存儲空間的需求上沒有可比性
19.在命名Python標識符時,以下命名合理的是()
A.listB.forC.usersD.type
20.在Python3下輸入100000000L,會得到()
A.100000000LB.100000000C.SyntaxError:invalidsyntaxD.1e8
21.以下程序的輸出結果是()。Test_list=list(range(6))Print(6inTest_list)
A.6B.6inTest_listC.TrueD.False
22.以下關于Python循環(huán)結構的描述中,錯誤的是()。
A.break用來結束當前當次語句,但不跳出當前的循環(huán)體
B.遍歷循環(huán)中的遍歷結構可以是字符串、文件、組合數(shù)據(jù)類型和range()函數(shù)等
C.Python通過for、while等保留字構建循環(huán)結構
D.continue只結束本次循環(huán)
23.以下關于Python全局變量和局部變量的描述中,錯誤的是()。
A.局部變量在使用過后立即被釋放
B.全局變量一般沒有縮進
C.全局變量和局部變量的命名不能相同
D.—個程序中的變量包含兩類:全局變量和局部變量
24.數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的查詢、插入、修改及刪除,這類功能稱為()。
A.數(shù)據(jù)控制功能B.數(shù)據(jù)定義功能C.數(shù)據(jù)存儲功能D.數(shù)據(jù)操縱功能
25.Python中,查看一個對象是哪種類型,使用______命令
A.isinstanceB.idC.typeD.issubclass
26.以下選項中不是Python文件目錄操作方法的是()。
A.split()B.rename()C.getcwd()D.rmdir()
27.以下代碼的輸出結果是()。d=[‘food’:{’cake’:1,’egg’:5}}print(d.get(‘egg’,'nothisfood’))
A.eggB.1C.foodD.nothisfood
28.在軟件開發(fā)中,需求分析階段可以使用的工具是()。
A.N-S圖B.數(shù)據(jù)流圖C.PAD圖D.程序流程圖
29.設二叉樹中有20個葉子節(jié)點,5個度為1的節(jié)點,則該二叉樹中總的節(jié)點數(shù)為()。
A.46B.45C.44D.不可能有這樣的二叉樹
30.文件family.txt在當前代碼所在目錄內(nèi),其內(nèi)容是一段文本W(wǎng)earefamily,以下程序的輸出結果是()。txt=open(“family.txt”,“r”)print(txt)txt.close()
A.txtB.family.txtC.非其他答案D.Wearefamily
二、判斷題(10題)31.定義類時如果實現(xiàn)了__len__()方法,該類對象即可支持內(nèi)置函數(shù)len()。
A.是B.否
32.Python類不支持多繼承。
A.是B.否
33.定義類時,在一個方法前面使用@staticmethod進行休息,則該方法屬于靜態(tài)方法。
A.是B.否
34.在Python中定義類時,如果某個成員名稱前有2個下劃線則表示是私有成員。A.是B.否
35.文件對象是可以迭代的。
A.是B.否
36.假設已成功導入os和sys標準庫,那么表達式os.path.dirname(sys.executable)的值為Python安裝目錄。
A.是B.否
37.放在一對三引號之間的內(nèi)容將被認為是注釋。
A.是B.否
38.不可以在同一臺計算機上安裝多個Python版本。
A.是B.否
39.只能通過切片訪問元組中的元素,不能使用切片修改元組中的元素。
A.是B.否
40.已知x=3,那么賦值語句x='abcedfg'是無法正常執(zhí)行的。
A.是B.否
三、填空題(10題)41.假設列表對象aList的值為[3,4,5,6,7,9,11,13,15,17],那么切片aList[3:7]得到的值是______________________。
42.已知vec=[[1,2],[3,4]],則表達式[colforrowinvecforcolinrow]的值為__________________________。
43.表達式'abc'in('abcdefg')的值為______________。
44.達式sorted([111,2,33],key=lambdax:-len(str(x)))的值為____________。
45.表達式chr(ord('b')^32)的值為_________。
46.Python標準庫os.path中用來判斷指定路徑是否為文件夾的方法是______________。
47.表達式'%c'%65的值為_________。
48.表達式3in{1,2,3}的值為_________。
49.已知列表x=[1,3,2],那么執(zhí)行語句y=list(reversed(x))之后,y的值為__________。
50.Python內(nèi)置函數(shù)_____________用來打開或創(chuàng)建文件并返回文件對象。
四、操作題(3題)51.某班學生評選一等獎學金,學生的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'''
52.考生文件夾下存在一個文件“PY201.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。使用turtle庫的turtle.fd()函數(shù)和turtle.le£t()函數(shù)繪制一長為200像素黃底紅邊的太陽花,效果如下所示。
試題程序:#請在程序的_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼importturtleturtle.color(_____(1)_____,_____(2)_____)turtle._____(3)_____foriinrange(36):turtle.fd(_____(4)_____)turtle.left(_____(5)_____)turtle.end_fill()
53.考生文件夾下存在一個文件“PY201.Py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。使用turtle庫的turtle.circle()函數(shù)、turtle.seth()函數(shù)及turtle.left()函數(shù)繪制一個四瓣花圖形,效果如下所示。
試題程序:#請在_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼importturtleforiinrange(_____(1)_____):turtle.seth(_____(2)_____)turtle.circle(50,90)turtle.seth(_____(3)_____)turtle.circle(50,90)turtle.(4)
參考答案
1.B
2.Cimport語句確實可以在程序的任何位置使用,但是當在程序中多次導入同一個模塊時,該模塊中的代碼僅僅在該模塊被首次導人時執(zhí)行,所以C項錯誤。
3.C從E-R圖到關系模式的轉換是比較直接的,實體與聯(lián)系都可以表示成關系,E-\nR圖中屬性也可以轉換成關系的屬性。本題選擇C選項。
4.D
5.A該代碼的功能是根據(jù)傳人的參數(shù)求取該數(shù)的階乘,經(jīng)過一系列的運算將結果返回,4的階乘為24。
6.B在Python中,復數(shù)類型表示數(shù)學中的復數(shù),D選項正確。復數(shù)可以看作二元有序實數(shù)對(a,b),表示a+bj,其中a是實數(shù)部分,簡稱實部;b是虛數(shù)部分,簡稱虛部。虛數(shù)部分通過后綴“J”或“j”來表示,實部、虛部都可為0,B選項錯誤。復數(shù)可以進行四則運算,A選項正確。復數(shù)類型中,實部和虛部都是浮點類型。對于復數(shù)z,可以使用z.real和a.imag分別獲取它的實部和虛部,C選項正確。本題選擇B選項。
7.DMayavi和TVTK是數(shù)據(jù)可視化方向的第三方庫,PIL是圖像處理方向的第三方庫。本題選擇D選項。
8.C由于后序序列最后遍歷根結點,故可確定該二叉樹的根結點為A。根據(jù)前序序列首先訪問根結點A,可排除A、B兩項。由中序序列為BDCA,可確定該二叉樹只有左子樹,沒有右子數(shù),再由后序序列為DCBA,可確定左子樹的根結點為B。前序序列訪問完該樹的根結點A后,再訪問左子樹的根結點B,故答案為C項。
9.Bfun()函數(shù)進行加減計算,輸入為復數(shù),按復數(shù)加減運算法則計算結果為(2+3j)。
10.A在Python中,二維列表對象輸出為CSV文件,將遍歷循環(huán)和字符串的join()方法相結合。split()方法一般在將文件中的數(shù)據(jù)轉換為列表時使用。本題選擇A選項。
11.Bdivmod(x,y)函數(shù)用來計算x和y的除余結果,返回兩個值,分別是:x與y的整數(shù)除,即x//y,以及x與y的余數(shù),即x%y。返回的兩個值組成了一個元組類型,即小括號包含的兩個元素(x//y,x%y)。40//3=13,40%3=1,故答案為B項。
12.B函數(shù)定義時的語法如下:\ndef<函數(shù)名>(<非可選參數(shù)列表>,<可選參數(shù)>=<默認值>):\n<函數(shù)體>\nreturn<返回值列表>\n可選參數(shù)一般都放置在非可選參數(shù)的后面。本題代碼中,n為非可選參數(shù),fact(n)函數(shù)的功能為求n的階乘。s在函數(shù)內(nèi)部定義,為局部變量。根據(jù)range函數(shù)的定義,range(1,n+1)的范圍是[1,n],不包含n+1。
13.Bforiinrange(1,11)是將1,2,3,4,5,6,7,8,9,10依次賦給變量i,用變量sum累加每一次變化的i的值,最終sum=56。本題選擇B選項。
14.D
15.CsnowNLP和loso是自然語言處理方向的第三方庫;random庫用于產(chǎn)生各種分布的偽隨機序列,是Python的標準庫。本題選擇C選項。
16.A一維數(shù)據(jù)采用線性方式組織,在Python中主要采用列表形式表示,集合不屬于線性結構。在Python中,列表類型僅用于表示一維和二維數(shù)據(jù)。二維數(shù)據(jù)采用二維表格方式組織,在Python中可以采用二維列表形式表示。高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構成,采用對象方式組織,在Python中可以采用字典類型表示。本題選擇A選項。
17.C列表用方括號([])表示,由于列表屬于序列類型,因此繼承了序列類型的所有屬性和方法,B選項正確。索引是列表的基本操作,用于獲得列表中的一個元素,該操作沿用序列類型的索引方式,即正向遞增索引或反向遞減索引,使用方括號作為索引操作符,索引不得超過列表的元素范圍,否則將產(chǎn)生In-dexError錯誤,A選項正確。列表可以進行元素增加、刪除、替換、查找等操作,列表沒有長度限制,元素類型可以不同,能夠包含其他的組合數(shù)據(jù)類型,故D選項正確、C選項錯誤。本題選擇C選項。
18.B線性鏈式存儲結構中每個結點都由數(shù)據(jù)域與指針域兩部分組成,增加了存儲空間,所以一般要多于順序存儲結構。
19.C
20.C
21.DTest_llst是列表類型,6inTest_llst表示如果6是列表Test_llst的元素,則返回True,否則返回False。本題選擇D選項。
22.A在Python中,break意為結束循環(huán),continue是結束當前循環(huán)進入下一個循環(huán)。本題選擇A選項。
23.C根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量指在函數(shù)內(nèi)部定義的變量,僅在函數(shù)內(nèi)部有效,且作用域也在函數(shù)內(nèi)部,當函數(shù)退出時變量將不再存在。全局變量一般指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效,一般沒有縮進。全局變量和局部變量的命名可以相同。本題選擇C選項。
24.D數(shù)據(jù)定義功能:負責數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構建。數(shù)據(jù)操縱功能:負責數(shù)據(jù)的操縱,包括查詢與增、刪、改等操作。數(shù)據(jù)控制功能:負責數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復等功能。本題選擇D選項。
25.C
26.Arename():給文件重命名;getcwd():得到當前工作目錄,即當前Python腳本工作的目錄路徑;rmdir():刪除目錄。split():按給出的分隔符分隔字符串,返回的是列表類型。
27.D根據(jù)字典的索引方式可知,d.get(’eggthis\nfood’)索引的是字典第一層,但是第一層只有鍵food,沒有鍵egg,故索引不出值,輸出的是“nothisfood”。本題選擇D選項。
28.B在需求分析階段可以使用的工具有數(shù)據(jù)流圖,數(shù)據(jù)字典(DataDictionary,DD),判定樹與判定表,本題選擇B選項。
29.C二叉樹中只存在度為0、1、2的結點,根據(jù)在二叉樹中度為0的結點(葉子結點)總比度為2的結點多一個,可知本題中度為2的結點有20-1\n=19個。故該二叉樹中總的結點數(shù)為20+5+19=44個。本題選擇C選項。
30.Copen()函數(shù)打開一個文件,并返回可以操作這個文件的變量txt,并且open()函數(shù)有兩個參數(shù):文件名和打開模式。本題只是打開了文件,并沒有對文件進行操作,因此不會輸出文件的內(nèi)容。print(txt)語句輸出的是變量txt代表的文件的相關信息:<_io.TextIOWrappername=‘family.txt’mode=‘r’encoding=‘cp936’>。若想要輸出文件的內(nèi)容,需要把文件的內(nèi)容讀入,如txt1=txt.read()。本題選擇C選項。
31.Y
32.N
33.Y
34.Y
35.Y
36.Y
37.N
38.N
39.Y
40.N
41.[6,7,9,11]
42.[1,2,3,4]
43.True
44.[111,33,2]
45.'B'
46.isdir()
47.'A'
48.True
49.[2,3,1]
50.open()
51.(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()函數(shù),用”r”只讀模式打開文件”score.txt”,用”w”模式創(chuàng)建文件”cand:idate0.txt”。\r\n
”score.txt”文件中每行為一個學生的信息,需要用readlines()函數(shù)讀入所有行,以每行為元素形成列表lines,然后用for循環(huán)遍歷該列表中的每個元素。在遍歷每個元素時,用strip()方法刪除元素首尾出現(xiàn)的空格,用split()方法以空格分隔學生的學號、姓名以及10門課成績得到列表student。由于要求出總成績,因此要使用for遍歷每個學生的10門課成績,將其累加賦值給sum,并將sum追加到student中。最后將student中所有元素追加到列表L中。\r\n
隨后,對列表L中的元素進行排序,用到sort()方法,參數(shù)”key=lambdax:x[一1]”中l(wèi)ambda是一個隱函數(shù),是固定寫法,不能寫成別的單詞;x表示列表中的一個元素,在這里表示一個列表(即一個學生的信息),x只是臨時起的一個名字,也可以使用任意的名字;x[一1]表示以列表中的最后一個元素(即總成績)排序。參數(shù)”reverse=True”表示按降序排序;若該參數(shù)缺省或”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()函數(shù),用”r”只讀模式打開文件”candidate0.txt”,用”w”模式創(chuàng)建文件”candidate.txt”,并定義一個列表L來存儲學號和姓名(做中轉)。\r\n”candidate0.txt”文件中有10行數(shù)據(jù),需要用readlines()函數(shù)讀入所有行,以每行為元素形成列表lines,然后用for循環(huán)遍歷該列表中的每個元素。在遍歷每個元素時,用strip()方法刪除元素首尾的空格,用split()方法以空格分隔學生的學號、姓名以及10門課成績得到列表student。然后對列表student使用for循環(huán)遍歷,用來判斷10門課程的成績是否都大于等于60,滿足條件就將列表student中的前兩個元素(即學號和姓名)追加到列表L中。\r\n
最后,通過for循環(huán)提取列表L中的所有元素,用空格分隔每個元素,并添加換行符,寫入到文件”candidate.txt”中,再關閉所有文件。
52.importturtleturtle.color(“red”.”yellow”)turtle.begin_fill()foriinrange(36):turtle.fd(200)turtle,left(110)turtle.end_fill()該題考查的是用Python標準庫turtle庫繪制太陽花。根據(jù)題干可知,太陽花的邊為紅色且用黃色填充,因此第1空填red,第2空填yellow。由于涉及填充圖形,所以要調(diào)用begin_fill()函數(shù),因此第3空應填入be-gin_fill()。題目要求邊長為200像素,則第4空應填200。太陽花一共36個角,每個角10度,因此繪制一條邊需要逆時針旋轉170度再繪制下一條邊,因此第5空應填入170。
53.importturtleforiinrange(4):turtle.seth(90*(i+1))turtle,circle(50,90)turtle.seth(-90+i*90)turtle,
circle(50,90)turtle.hideturtle()該題考查的是用Python標準庫turtle庫繪制四瓣花。因為需要繪制4個花瓣,所以循環(huán)執(zhí)行4次,第1空填4。然后利用cirde()函數(shù)繪制圓弧的特點,每旋轉90度繪制四分之一個圓弧,且題目中用seth()函數(shù)表示旋轉角度,此函數(shù)依據(jù)絕對角度旋轉,因此第2空填90\r\n*(i+1),第3空填-90+i*90。最后隱藏畫筆箭頭,第4空應填hideturtle()。廣東省江門市全國計算機等級考試Python語言程序設計學校:________班級:________姓名:________考號:________
一、單選題(30題)1.定義在類中的方法之外的變量是()
A.實例變量B.類變量C.公有變量D.私有變量
2.下面關于Python中模塊導入的說法錯誤的是()。
A.Python中,可以使用import語句將一個源代碼文件作為模塊導入
B.在系統(tǒng)導入模塊時,會創(chuàng)建一個名為源代碼的文件的對象,該對象引用模塊的名字空間,即可通過這個對象訪問模塊中的函數(shù)和變量
C.import語句可在程序的任何位置使用,可以在程序中多次導入統(tǒng)一模塊,每次導入該模塊時都會將該模塊中的代碼執(zhí)行一次
D.模塊導入時可以使用as關鍵字來改變模塊的引用對象名字
3.將E-R圖轉換為關系模式時,實體和聯(lián)系都可以表示為()。
A.屬性B.鍵C.關系D.域
4.執(zhí)行以下代碼的結果是()A.2B.5C.8D.Anexceptionisthrown
5.下面代碼的輸出結果是()。deff(n):ifn==1:return1else:returnn*f(n—1)print(f(4))
A.24B.4C.0D.10
6.以下關于Python復數(shù)類型的描述中,錯誤的是()。
A.復數(shù)可以進行四則運算
B.實部不可以為0
C.Python中可以使用z.real和a.imag分別獲取它的實部和虛部
D.復數(shù)類型與數(shù)學中復數(shù)的概念一致
7.下面屬于Python文本處理方向的第三方庫的是()。
A.PILB.MayaviC.TYTKD.PDFMiner
8.設二叉樹的中序序列為BDCA,后序序列為DCBA,則前序序列為()。
A.BCDAB.CBDAC.ABCDD.ACDB
9.下面代碼的輸出結果是()。deffun(x,y,z):u=x+y—zprint(u)fun(1+2j,5,4一1j)
A.NameErrorB.(2+3j)C.2D.3j
10.關于二維數(shù)據(jù)描述錯誤的是()。
A.二維列表對象輸出為CSV文件,將遍歷循環(huán)和字符串的split()方法相結合
B.二維數(shù)據(jù)由關聯(lián)關系的數(shù)據(jù)構成
C.二維數(shù)據(jù)是一維數(shù)據(jù)的組合形式,由多個一維數(shù)據(jù)組合形成
D.二維數(shù)據(jù)可以使用二維列表表示,即列表中的每一個元素對應二維數(shù)據(jù)的每一行
11.表達式divmod(40,3)的結果是()。
A.13,1B.(13,1)C.13D.1
12.關于以下代碼的描述中,正確的是()。deffact(n):s=1foriinrange(1,n+1):s*=ireturns
A.代碼中n是可選參數(shù)
B.fact(n)函數(shù)功能為求n的階乘
C.s是全局變量
D.range()函數(shù)的范圍是[1,n+1]
13.以下程序的輸出結果是()。sum=1foriinrange(1,11):sum+=iprint(sum)
A.1B.56C.67D.56.0
14.正則非貪婪模式使用()符號設置
A.\$B.\∧C.\{}D.\?
15.以下屬于Python機器學習方向的第三方庫的是()。
A.randomB.SnowNLPC.TensorflowD.loso
16.以下關于數(shù)據(jù)組織的描述中,錯誤的是()。
A.—維數(shù)據(jù)采用線性方式組織,可以用Python集合或列表類型表示
B.列表類型僅用于表示一維和二維數(shù)據(jù)
C.二維數(shù)據(jù)采用表格方式組織,可以用Python列表類型表示
D.更高維數(shù)據(jù)組織由鍵值對類型的數(shù)據(jù)構成,可以用Python字典類型表示
17.以下描述中,錯誤的是()。
A.Python通過索引來訪問列表中元素,索引可以是負整數(shù)
B.列表用方括號來定義,繼承了序列類型的所有屬性和方法
C.Python列表是各種類型數(shù)據(jù)的集合,列表中的元素不能夠被修改
D.Python的列表類型能夠包含其他的組合數(shù)據(jù)類型
18.下列敘述中正確的是()。A.線性表的鏈式存儲結構與順序存儲結構所需要的存儲空間是相同的
B.線性表的鏈式存儲結構所需要的存儲空間一般要多于順序存儲結構
C.線性表的鏈式存儲結構所需要的存儲空間一般要少于順序存儲結構
D.線性表的鏈式存儲結構與順序存儲結構在存儲空間的需求上沒有可比性
19.在命名Python標識符時,以下命名合理的是()
A.listB.forC.usersD.type
20.在Python3下輸入100000000L,會得到()
A.100000000LB.100000000C.SyntaxError:invalidsyntaxD.1e8
21.以下程序的輸出結果是()。Test_list=list(range(6))Print(6inTest_list)
A.6B.6inTest_listC.TrueD.False
22.以下關于Python循環(huán)結構的描述中,錯誤的是()。
A.break用來結束當前當次語句,但不跳出當前的循環(huán)體
B.遍歷循環(huán)中的遍歷結構可以是字符串、文件、組合數(shù)據(jù)類型和range()函數(shù)等
C.Python通過for、while等保留字構建循環(huán)結構
D.continue只結束本次循環(huán)
23.以下關于Python全局變量和局部變量的描述中,錯誤的是()。
A.局部變量在使用過后立即被釋放
B.全局變量一般沒有縮進
C.全局變量和局部變量的命名不能相同
D.—個程序中的變量包含兩類:全局變量和局部變量
24.數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的查詢、插入、修改及刪除,這類功能稱為()。
A.數(shù)據(jù)控制功能B.數(shù)據(jù)定義功能C.數(shù)據(jù)存儲功能D.數(shù)據(jù)操縱功能
25.Python中,查看一個對象是哪種類型,使用______命令
A.isinstanceB.idC.typeD.issubclass
26.以下選項中不是Python文件目錄操作方法的是()。
A.split()B.rename()C.getcwd()D.rmdir()
27.以下代碼的輸出結果是()。d=[‘food’:{’cake’:1,’egg’:5}}print(d.get(‘egg’,'nothisfood’))
A.eggB.1C.foodD.nothisfood
28.在軟件開發(fā)中,需求分析階段可以使用的工具是()。
A.N-S圖B.數(shù)據(jù)流圖C.PAD圖D.程序流程圖
29.設二叉樹中有20個葉子節(jié)點,5個度為1的節(jié)點,則該二叉樹中總的節(jié)點數(shù)為()。
A.46B.45C.44D.不可能有這樣的二叉樹
30.文件family.txt在當前代碼所在目錄內(nèi),其內(nèi)容是一段文本W(wǎng)earefamily,以下程序的輸出結果是()。txt=open(“family.txt”,“r”)print(txt)txt.close()
A.txtB.family.txtC.非其他答案D.Wearefamily
二、判斷題(10題)31.定義類時如果實現(xiàn)了__len__()方法,該類對象即可支持內(nèi)置函數(shù)len()。
A.是B.否
32.Python類不支持多繼承。
A.是B.否
33.定義類時,在一個方法前面使用@staticmethod進行休息,則該方法屬于靜態(tài)方法。
A.是B.否
34.在Python中定義類時,如果某個成員名稱前有2個下劃線則表示是私有成員。A.是B.否
35.文件對象是可以迭代的。
A.是B.否
36.假設已成功導入os和sys標準庫,那么表達式os.path.dirname(sys.executable)的值為Python安裝目錄。
A.是B.否
37.放在一對三引號之間的內(nèi)容將被認為是注釋。
A.是B.否
38.不可以在同一臺計算機上安裝多個Python版本。
A.是B.否
39.只能通過切片訪問元組中的元素,不能使用切片修改元組中的元素。
A.是B.否
40.已知x=3,那么賦值語句x='abcedfg'是無法正常執(zhí)行的。
A.是B.否
三、填空題(10題)41.假設列表對象aList的值為[3,4,5,6,7,9,11,13,15,17],那么切片aList[3:7]得到的值是______________________。
42.已知vec=[[1,2],[3,4]],則表達式[colforrowinvecforcolinrow]的值為__________________________。
43.表達式'abc'in('abcdefg')的值為______________。
44.達式sorted([111,2,33],key=lambdax:-len(str(x)))的值為____________。
45.表達式chr(ord('b')^32)的值為_________。
46.Python標準庫os.path中用來判斷指定路徑是否為文件夾的方法是______________。
47.表達式'%c'%65的值為_________。
48.表達式3in{1,2,3}的值為_________。
49.已知列表x=[1,3,2],那么執(zhí)行語句y=list(reversed(x))之后,y的值為__________。
50.Python內(nèi)置函數(shù)_____________用來打開或創(chuàng)建文件并返回文件對象。
四、操作題(3題)51.某班學生評選一等獎學金,學生的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'''
52.考生文件夾下存在一個文件“PY201.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。使用turtle庫的turtle.fd()函數(shù)和turtle.le£t()函數(shù)繪制一長為200像素黃底紅邊的太陽花,效果如下所示。
試題程序:#請在程序的_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼importturtleturtle.color(_____(1)_____,_____(2)_____)turtle._____(3)_____foriinrange(36):turtle.fd(_____(4)_____)turtle.left(_____(5)_____)turtle.end_fill()
53.考生文件夾下存在一個文件“PY201.Py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。使用turtle庫的turtle.circle()函數(shù)、turtle.seth()函數(shù)及turtle.left()函數(shù)繪制一個四瓣花圖形,效果如下所示。
試題程序:#請在_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼importturtleforiinrange(_____(1)_____):turtle.seth(_____(2)_____)turtle.circle(50,90)turtle.seth(_____(3)_____)turtle.circle(50,90)turtle.(4)
參考答案
1.B
2.Cimport語句確實可以在程序的任何位置使用,但是當在程序中多次導入同一個模塊時,該模塊中的代碼僅僅在該模塊被首次導人時執(zhí)行,所以C項錯誤。
3.C從E-R圖到關系模式的轉換是比較直接的,實體與聯(lián)系都可以表示成關系,E-\nR圖中屬性也可以轉換成關系的屬性。本題選擇C選項。
4.D
5.A該代碼的功能是根據(jù)傳人的參數(shù)求取該數(shù)的階乘,經(jīng)過一系列的運算將結果返回,4的階乘為24。
6.B在Python中,復數(shù)類型表示數(shù)學中的復數(shù),D選項正確。復數(shù)可以看作二元有序實數(shù)對(a,b),表示a+bj,其中a是實數(shù)部分,簡稱實部;b是虛數(shù)部分,簡稱虛部。虛數(shù)部分通過后綴“J”或“j”來表示,實部、虛部都可為0,B選項錯誤。復數(shù)可以進行四則運算,A選項正確。復數(shù)類型中,實部和虛部都是浮點類型。對于復數(shù)z,可以使用z.real和a.imag分別獲取它的實部和虛部,C選項正確。本題選擇B選項。
7.DMayavi和TVTK是數(shù)據(jù)可視化方向的第三方庫,PIL是圖像處理方向的第三方庫。本題選擇D選項。
8.C由于后序序列最后遍歷根結點,故可確定該二叉樹的根結點為A。根據(jù)前序序列首先訪問根結點A,可排除A、B兩項。由中序序列為BDCA,可確定該二叉樹只有左子樹,沒有右子數(shù),再由后序序列為DCBA,可確定左子樹的根結點為B。前序序列訪問完該樹的根結點A后,再訪問左子樹的根結點B,故答案為C項。
9.Bfun()函數(shù)進行加減計算,輸入為復數(shù),按復數(shù)加減運算法則計算結果為(2+3j)。
10.A在Python中,二維列表對象輸出為CSV文件,將遍歷循環(huán)和字符串的join()方法相結合。split()方法一般在將文件中的數(shù)據(jù)轉換為列表時使用。本題選擇A選項。
11.Bdivmod(x,y)函數(shù)用來計算x和y的除余結果,返回兩個值,分別是:x與y的整數(shù)除,即x//y,以及x與y的余數(shù),即x%y。返回的兩個值組成了一個元組類型,即小括號包含的兩個元素(x//y,x%y)。40//3=13,40%3=1,故答案為B項。
12.B函數(shù)定義時的語法如下:\ndef<函數(shù)名>(<非可選參數(shù)列表>,<可選參數(shù)>=<默認值>):\n<函數(shù)體>\nreturn<返回值列表>\n可選參數(shù)一般都放置在非可選參數(shù)的后面。本題代碼中,n為非可選參數(shù),fact(n)函數(shù)的功能為求n的階乘。s在函數(shù)內(nèi)部定義,為局部變量。根據(jù)range函數(shù)的定義,range(1,n+1)的范圍是[1,n],不包含n+1。
13.Bforiinrange(1,11)是將1,2,3,4,5,6,7,8,9,10依次賦給變量i,用變量sum累加每一次變化的i的值,最終sum=56。本題選擇B選項。
14.D
15.CsnowNLP和loso是自然語言處理方向的第三方庫;random庫用于產(chǎn)生各種分布的偽隨機序列,是Python的標準庫。本題選擇C選項。
16.A一維數(shù)據(jù)采用線性方式組織,在Python中主要采用列表形式表示,集合不屬于線性結構。在Python中,列表類型僅用于表示一維和二維數(shù)據(jù)。二維數(shù)據(jù)采用二維表格方式組織,在Python中可以采用二維列表形式表示。高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構成,采用對象方式組織,在Python中可以采用字典類型表示。本題選擇A選項。
17.C列表用方括號([])表示,由于列表屬于序列類型,因此繼承了序列類型的所有屬性和方法,B選項正確。索引是列表的基本操作,用于獲得列表中的一個元素,該操作沿用序列類型的索引方式,即正向遞增索引或反向遞減索引,使用方括號作為索引操作符,索引不得超過列表的元素范圍,否則將產(chǎn)生In-dexError錯誤,A選項正確。列表可以進行元素增加、刪除、替換、查找等操作,列表沒有長度限制,元素類型可以不同,能夠包含其他的組合數(shù)據(jù)類型,故D選項正確、C選項錯誤。本題選擇C選項。
18.B線性鏈式存儲結構中每個結點都由數(shù)據(jù)域與指針域兩部分組成,增加了存儲空間,所以一般要多于順序存儲結構。
19.C
20.C
21.DTest_llst是列表類型,6inTest_llst表示如果6是列表Test_llst的元素,則返回True,否則返回False。本題選擇D選項。
22.A在Python中,break意為結束循環(huán),continue是結束當前循環(huán)進入下一個循環(huán)。本題選擇A選項。
23.C根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量指在函數(shù)內(nèi)部定義的變量,僅在函數(shù)內(nèi)部有效,且作用域也在函數(shù)內(nèi)部,當函數(shù)退出時變量將不再存在。全局變量一般指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效,一般沒有縮進。全局變量和局部變量的命名可以相同。本題選擇C選項。
24.D數(shù)據(jù)定義功能:負責數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構建。數(shù)據(jù)操縱功能:負責數(shù)據(jù)的操縱,包括查詢與增、刪、改等操作。數(shù)據(jù)控制功能:負責數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復等功能。本題選擇D選項。
25.C
26.Arename():給文件重命名;getcwd():得到當前工作目錄,即當前Python腳本工作的目錄路徑;rmdir():刪除目錄。split():按給出的分隔符分隔字符串,返回的是列表類型。
27.D根據(jù)字典的索引方式可知,d.get(’eggthis\nfood’)索引的是字典第一層,但是第一層只有鍵food,沒有鍵egg,故索引不出值,輸出的是“nothisfood”。本題選擇D選項。
28.B在需求分析階段可以使用的工具有數(shù)據(jù)流圖,數(shù)據(jù)字典(DataDictionary,DD),判定樹與判定表,本題選擇B選項。
29.C二叉樹中只存在度為0、1、2的結點,根據(jù)在二叉樹中度為0的結點(葉子結點)總比度為2的結點多一個,可知本題中度為2的結點有20-1\n=19個。故該二叉樹中總的結點數(shù)為20+5+19=44個。本題選擇C選項。
30.Copen()函數(shù)打開一個文件,并返回可以操作這個文件的變量txt,并且open()函數(shù)有兩個參數(shù):文件名和打開模式。本題只是打開了文件,并沒有對文件進行操作,因此不會輸出文件的內(nèi)容。print(txt)語句輸出的是變量txt代表的文件的相關信息:<_io.TextIOWrappername=‘family.txt’mode=‘r’encoding=‘cp936’>。若想要輸出文件的內(nèi)容,需要把文件的內(nèi)容讀入,如txt1=txt.read()。本題選擇C選項。
31.Y
32.N
33.Y
34.Y
35.Y
36.Y
37.N
38.N
39.Y
40.N
41.[6,7,9,11]
42.[1,2,3,4]
43.True
44.[111,33,2]
45.'B'
46.isdir()
47.'A'
48.True
49.[2,3,1]
50.open()
51.(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()函數(shù),用”r”只讀模式打開文件”score.txt”,用”w”模式創(chuàng)建文件”cand:idate0.txt”。\r\n
”score.txt”文件中每行為一個學生的信息,需要用readlines()函數(shù)讀入所有行,以每行為元素形成列表lines,然后用for循環(huán)遍歷該列表中的每個元素。在遍歷每個元素時,用strip()方法刪除元素首尾出現(xiàn)的空格,用split()方法以空格分隔學生的學號、姓名以及10門課成績得到列表student。由于要求出總成績,因此要使用for遍歷每個學生的10門課成績,將其累加賦值給sum,并將sum追加到student中。最后將student中所有元素追加到列表L中。\r\n
隨后,對列表L中的元素進行排序,用到sort()方法,參數(shù)”key=lambdax:x[一1]”中l(wèi)ambda是一個隱函數(shù),是固定寫法,不能寫成別的單詞;x表示列表中的一個元素,在這里表示一個列表(即一個學生的信息),x只是臨時起的一個名字,也可以使用任意的名字;x[一1]表示以列表中的最后一個元素(即總成績)排序。參數(shù)”reverse=True”表示按降序排序;若該參數(shù)缺省或”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()函數(shù),用”r”只讀模式打開文件”candidate0.txt”,用”w”模式創(chuàng)建文件”candidate.txt”,并定義一個列表L來存儲學號和姓名(做中轉)。\r\n”candidate0.txt”文件中有10行數(shù)據(jù),需要用readlines()函數(shù)讀入所有行,以每行為元素形成列表lines,然后用for循環(huán)遍歷該列表中的每個元素。在遍歷每個元素時,用strip()方法刪除元素首尾的空格,用split()方法以空格分隔學生的學號、姓名以及10門課成績得到列表student。然后對列表student使用for循環(huán)遍歷,用來判斷10門課程的成績是否都大于等于60,滿足條件就將列表student中的前兩個元素(即學號和姓名)追加到列表L中。\r\n
最后,通過for循環(huán)提取列表L中的所有元素,用空格分隔每個元素,并添加換行符,寫入到文件”candidate.txt”中,再關閉所有文件。
52.importturtleturtle.color(“red”.”yellow”)turtle.begin_fill()foriinrange(36):turtle.fd(200)turtle,left(110)turtle.end_fill()該題考查的是用Python標準庫turtle庫繪制太陽花。根據(jù)題干可知,太陽花的邊為紅色且用黃色填充,因此第1空填red,第2空填yellow。由于涉及填充圖形,所以要調(diào)用begin_fill()函數(shù),因此第3空應填入be-gin_fill()。題目要求邊長為200像素,則第4空應填200。太陽花一共36個角,每個角10度,因此繪制一條邊需要逆時針旋轉170度再繪制下一條邊,因此第5空應填入170。
53.importturtleforiinrange(4):turtle.seth(90*(i+1))turtle,circle(50,90)turtle.seth(-90+i*90)turtle,
circle(50,90)turtle.hideturtle()該題考查的是用Python標準庫turtle庫繪制四瓣花。因為需要繪制4個花瓣,所以循環(huán)執(zhí)行4次,第1空填4。然后利用cirde()函數(shù)繪制圓弧的特點,每旋轉90度繪制四分之一個圓弧,且題目中用seth()函數(shù)表示旋轉角度,此函數(shù)依據(jù)絕對角度旋轉,因此第2空填90\r\n*(i+1),第3空填-90+i*90。最后隱藏畫筆箭頭,第4空應填hideturtle()。廣東省江門市全國計算機等級考試Python語言程序設計學校:________班級:________姓名:________考號:________
一、單選題(30題)1.定義在類中的方法之外的變量是()
A.實例變量B.類變量C.公有變量D.私有變量
2.下面關于Python中模塊導入的說法錯誤的是()。
A.Python中,可以使用import語句將一個源代碼文件作為模塊導入
B.在系統(tǒng)導入模塊時,會創(chuàng)建一個名為源代碼的文件的對象,該對象引用模塊的名字空間,即可通過這個對象訪問模塊中的函數(shù)和變量
C.import語句可在程序的任何位置使用,可以在程序中多次導入統(tǒng)一模塊,每次導入該模塊時都會將該模塊中的代碼執(zhí)行一次
D.模塊導入時可以使用as關鍵字來改變模塊的引用對象名字
3.將E-R圖轉換為關系模式時,實體和聯(lián)系都可以表示為()。
A.屬性B.鍵C.關系D.域
4.執(zhí)行以下代碼的結果是()A.2B.5C.8D.Anexceptionisthrown
5.下面代碼的輸出結果是()。deff(n):ifn==1:return1else:returnn*f(n—1)print(f(4))
A.24B.4C.0D.10
6.以下關于Python復數(shù)類型的描述中,錯誤的是()。
A.復數(shù)可以進行四則運算
B.實部不可以為0
C.Python中可以使用z.real和a.imag分別獲取它的實部和虛部
D.復數(shù)類型與數(shù)學中復數(shù)的概念一致
7.下面屬于Python文本處理方向的第三方庫的是()。
A.PILB.MayaviC.TYTKD.PDFMiner
8.設二叉樹的中序序列為BDCA,后序序列為DCBA,則前序序列為()。
A.BCDAB.CBDAC.ABCDD.ACDB
9.下面代碼的輸出結果是()。deffun(x,y,z):u=x+y—zprint(u)fun(1+2j,5,4一1j)
A.NameErrorB.(2+3j)C.2D.3j
10.關于二維數(shù)據(jù)描述錯誤的是()。
A.二維列表對象輸出為CSV文件,將遍歷循環(huán)和字符串的split()方法相結合
B.二維數(shù)據(jù)由關聯(lián)關系的數(shù)據(jù)構成
C.二維數(shù)據(jù)是一維數(shù)據(jù)的組合形式,由多個一維數(shù)據(jù)組合形成
D.二維數(shù)據(jù)可以使用二維列表表示,即列表中的每一個元素對應二維數(shù)據(jù)的每一行
11.表達式divmod(40,3)的結果是()。
A.13,1B.(13,1)C.13D.1
12.關于以下代碼的描述中,正確的是()。deffact(n):s=1foriinrange(1,n+1):s*=ireturns
A.代碼中n是可選參數(shù)
B.fact(n)函數(shù)功能為求n的階乘
C.s是全局變量
D.range()函數(shù)的范圍是[1,n+1]
13.以下程序的輸出結果是()。sum=1foriinrange(1,11):sum+=iprint(sum)
A.1B.56C.67D.56.0
14.正則非貪婪模式使用()符號設置
A.\$B.\∧C.\{}D.\?
15.以下屬于Python機器學習方向的第三方庫的是()。
A.randomB.SnowNLPC.TensorflowD.loso
16.以下關于數(shù)據(jù)組織的描述中,錯誤的是()。
A.—維數(shù)據(jù)采用線性方式組織,可以用Python集合或列表類型表示
B.列表類型僅用于表示一維和二維數(shù)據(jù)
C.二維數(shù)據(jù)采用表格方式組織,可以用Python列表類型表示
D.更高維數(shù)據(jù)組織由鍵值對類型的數(shù)據(jù)構成,可以用Python字典類型表示
17.以下描述中,錯誤的是()。
A.Python通過索引來訪問列表中元素,索引可以是負整數(shù)
B.列表用方括號來定義,繼承了序列類型的所有屬性和方法
C.Python列表是各種類型數(shù)據(jù)的集合,列表中的元素不能夠被修改
D.Python的列表類型能夠包含其他的組合數(shù)據(jù)類型
18.下列敘述中正確的是()。A.線性表的鏈式存儲結構與順序存儲結構所需要的存儲空間是相同的
B.線性表的鏈式存儲結構所需要的存儲空間一般要多于順序存儲結構
C.線性表的鏈式存儲結構所需要的存儲空間一般要少于順序存儲結構
D.線性表的鏈式存儲結構與順序存儲結構在存儲空間的需求上沒有可比性
19.在命名Python標識符時,以下命名合理的是()
A.listB.forC.usersD.type
20.在Python3下輸入100000000L,會得到()
A.100000000LB.100000000C.SyntaxError:invalidsyntaxD.1e8
21.以下程序的輸出結果是()。Test_list=list(range(6))Print(6inTest_list)
A.6B.6inTest_listC.TrueD.False
22.以下關于Python循環(huán)結構的描述中,錯誤的是()。
A.break用來結束當前當次語句,但不跳出當前的循環(huán)體
B.遍歷循環(huán)中的遍歷結構可以是字符串、文件、組合數(shù)據(jù)類型和range()函數(shù)等
C.Python通過for、while等保留字構建循環(huán)結構
D.continue只結束本次循環(huán)
23.以下關于Python全局變量和局部變量的描述中,錯誤的是()。
A.局部變量在使用過后立即被釋放
B.全局變量一般沒有縮進
C.全局變量和局部變量的命名不能相同
D.—個程序中的變量包含兩類:全局變量和局部變量
24.數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的查詢、插入、修改及刪除,這類功能稱為()。
A.數(shù)據(jù)控制功能B.數(shù)據(jù)定義功能C.數(shù)據(jù)存儲功能D.數(shù)據(jù)操縱功能
25.Python中,查看一個對象是哪種類型,使用______命令
A.isinstanceB.idC.typeD.issubclass
26.以下選項中不是Python文件目錄操作方法的是()。
A.split()B.rename()C.getcwd()D.rmdir()
27.以下代碼的輸出結果是()。d=[‘food’:{’cake’:1,’egg’:5}}print(d.get(‘egg’,'nothisfood’))
A.eggB.1C.foodD.nothisfood
28.在軟件開發(fā)中,需求分析階段可以使用的工具是()。
A.N-S圖B.數(shù)據(jù)流圖C.PAD圖D.程序流程圖
29.設二叉樹中有20個葉子節(jié)點,5個度為1的節(jié)點,則該二叉樹中總的節(jié)點數(shù)為()。
A.46B.45C.44D.不可能有這樣的二叉樹
30.文件family.txt在當前代碼所在目錄內(nèi),其內(nèi)容是一段文本W(wǎng)earefamily,以下程序的輸出結果是()。txt=open(“family.txt”,“r”)print(txt)txt.close()
A.txtB.family.txtC.非其他答案D.Wearefamily
二、判斷題(10題)31.定義類時如果實現(xiàn)了__len__()方法,該類對象即可支持內(nèi)置函數(shù)len()。
A.是B.否
32.Python類不支持多繼承。
A.是B.否
33.定義類時,在一個方法前面使用@staticmethod進行休息,則該方法屬于靜態(tài)方法。
A.是B.否
34.在Python中定義類時,如果某個成員名稱前有2個下劃線則表示是私有成員。A.是B.否
35.文件對象是可以迭代的。
A.是B.否
36.假設已成功導入os和sys標準庫,那么表達式os.path.dirname(sys.executable)的值為Python安裝目錄。
A.是B.否
37.放在一對三引號之間的內(nèi)容將被認為是注釋。
A.是B.否
38.不可以在同一臺計算機上安裝多個Python版本。
A.是B.否
39.只能通過切片訪問元組中的元素,不能使用切片修改元組中的元素。
A.是B.否
40.已知x=3,那么賦值語句x='abcedfg'是無法正常執(zhí)行的。
A.是B.否
三、填空題(10題)41.假設列表對象aList的值為[3,4,5,6,7,9,11,13,15,17],那么切片aList[3:7]得到的值是______________________。
42.已知vec=[[1,2],[3,4]],則表達式[colforrowinvecforcolinrow]的值為__________________________。
43.表達式'abc'in('abcdefg')的值為______________。
44.達式sorted([111,2,33],key=lambdax:-len(str(x)))的值為____________。
45.表達式chr(ord('b')^32)的值為_________。
46.Python標準庫os.path中用來判斷指定路徑是否為文件夾的方法是______________。
47.表達式'%c'%65的值為_________。
48.表達式3in{1,2,3}的值為_________。
49.已知列表x=[1,3,2],那么執(zhí)行語句y=list(reversed(x))之后,y的值為__________。
50.Python內(nèi)置函數(shù)_____________用來打開或創(chuàng)建文件并返回文件對象。
四、操作題(3題)51.某班學生評選一等獎學金,學生的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'''
52.考生文件夾下存在一個文件“PY201.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。使用turtle庫的turtle.fd()函數(shù)和turtle.le£t()函數(shù)繪制一長為200像素黃底紅邊的太陽花,效果如下所示。
試題程序:#請在程序的_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼importturtleturtle.color(_____(1)_____
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 5G通信設備制造行業(yè)市場調(diào)研分析報告
- 云物流服務行業(yè)市場調(diào)研分析報告
- 建筑風能利用行業(yè)市場調(diào)研分析報告
- 寵物用首飾產(chǎn)品供應鏈分析
- 牙科用貴金屬合金商業(yè)機會挖掘與戰(zhàn)略布局策略研究報告
- 假發(fā)粘貼膠水產(chǎn)品供應鏈分析
- 醫(yī)用拐杖產(chǎn)品供應鏈分析
- 卸妝霜產(chǎn)品供應鏈分析
- 制飲料用機器人出租行業(yè)經(jīng)營分析報告
- 墊席產(chǎn)品供應鏈分析
- 昆明市農(nóng)業(yè)產(chǎn)業(yè)化龍頭企業(yè)
- 倉儲物流管理制度
- 小學道法6 讓我們的學校更美好2課件
- 2023年北京房山區(qū)高三一模英語試題及答案
- 酒店財務管理制度之資產(chǎn)管理
- 變配電所綜合自動化系統(tǒng)講義
- 超聲內(nèi)鏡培訓課件
- 渠道管理就這樣做
- 水電站大壩安全管理實績評價規(guī)程
- 07項目部事故隱患排查清單
- ZZ036 新能源汽車維修賽題-2023年全國職業(yè)院校技能大賽擬設賽項賽題(10套)
評論
0/150
提交評論