




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
歷年國(guó)家二級(jí)(Python)機(jī)試真題匯編及答案(171題)1.系統(tǒng)在創(chuàng)建一個(gè)進(jìn)程時(shí)需要調(diào)用()。(A)阻塞進(jìn)程原語(yǔ)(B)創(chuàng)建進(jìn)程原語(yǔ)(C)喚醒進(jìn)程原語(yǔ)(D)撤銷進(jìn)程原語(yǔ)【答案】B【解析】進(jìn)程借助創(chuàng)建原語(yǔ)實(shí)現(xiàn)創(chuàng)建一個(gè)新進(jìn)程。系統(tǒng)在創(chuàng)建一個(gè)進(jìn)程時(shí)需要調(diào)用創(chuàng)建進(jìn)程原語(yǔ)。本題答案為B選項(xiàng)。2.下列敘述中錯(cuò)誤的是()。(A)虛擬存儲(chǔ)器的空間大小就是實(shí)際外存的大?。˙)虛擬存儲(chǔ)器的空間大小取決于計(jì)算機(jī)的訪存能力(C)虛擬存儲(chǔ)器使存儲(chǔ)系統(tǒng)既具有相當(dāng)于外存的容量又有接近于主存的訪問(wèn)速度(D)實(shí)際物理存儲(chǔ)空間可以小于虛擬地址空間【答案】A【解析】虛擬存儲(chǔ)器是對(duì)主存的邏輯擴(kuò)展,虛擬存儲(chǔ)器的空間大小取決于計(jì)算機(jī)的訪存能力而不是實(shí)際外存的大小。本題答案為A選項(xiàng)。3.設(shè)表的長(zhǎng)度為n。下列查找算法中,在最壞情況下,比較次數(shù)最少的是()。(A)順序查找(B)尋找最大項(xiàng)(C)尋找最小項(xiàng)(D)有序表的二分查找【答案】D【解析】最壞情況下比較次數(shù):有序表的二分查找為㏒2n,而序查找為n,尋找最大項(xiàng)為n-1,尋找最小項(xiàng)為n-1。故比較次數(shù)最少的是有序表的二分查找。本題答案為D選項(xiàng)。4.設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:100),初始狀態(tài)為空?,F(xiàn)經(jīng)過(guò)一系列正常操作后,front=49,則循環(huán)隊(duì)列中的元素個(gè)數(shù)為()。(A)49(B)51(C)50(D)不確定【答案】D【解析】循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu),用隊(duì)尾指針rear指向隊(duì)列中的隊(duì)尾元素,用排頭指針front指向排頭元素的前一個(gè)位置。隊(duì)列中的元素為從排頭指針front指向的后一個(gè)位置直到隊(duì)尾指針rear指向的位置之間所有的元素。所以,在循環(huán)隊(duì)列中隊(duì)尾指針rear和排頭指針front共同確定了隊(duì)列中元素的個(gè)數(shù),只知道排隊(duì)指針front無(wú)法確定元素個(gè)數(shù)。本題答案為D選項(xiàng)。5.某二叉樹(shù)的前序序列為ABDFHCEG,中序序列為HFDBACEG。該二叉樹(shù)的后序序列為()。(A)HFDBGECA(B)ABCDEFGH(C)HGFEDCBA(D)ACEGBDFH【答案】A【解析】二叉樹(shù)遍歷可以分為3種:前序遍歷(訪問(wèn)根結(jié)點(diǎn)在訪問(wèn)左子樹(shù)和訪問(wèn)右子樹(shù)之前)、中序遍歷(訪問(wèn)根結(jié)點(diǎn)在訪問(wèn)左子樹(shù)和訪問(wèn)右子樹(shù)兩者之間)、后序遍歷(訪問(wèn)根結(jié)點(diǎn)在訪問(wèn)左子樹(shù)和訪問(wèn)右子樹(shù)之后),并且在遍歷左右子樹(shù)時(shí)也遵循同樣的規(guī)則。本題中,二叉樹(shù)的前序序列為ABDFHCEG,可確定該二叉樹(shù)的根結(jié)點(diǎn)為A,后序序列最后訪問(wèn)的肯定是根結(jié)點(diǎn)A,排除B、D兩項(xiàng)。再根據(jù)中序序列為HFDBACEG,可確定結(jié)點(diǎn)A的左子樹(shù)的根結(jié)點(diǎn)是B,右子樹(shù)的根結(jié)點(diǎn)是C,則后序序列倒數(shù)第2個(gè)訪問(wèn)的肯定是結(jié)點(diǎn)C,排除C選項(xiàng)。本題答案為A選項(xiàng)。6.將數(shù)據(jù)和操作置于對(duì)象統(tǒng)一體中的實(shí)現(xiàn)方式是()。(A)隱藏(B)抽象(C)封裝(D)結(jié)合【答案】C【解析】對(duì)象是由描述該對(duì)象屬性的數(shù)據(jù)以及可以對(duì)這些數(shù)據(jù)施加的所有操作封裝在一起構(gòu)成的統(tǒng)一體。本題答案為C選項(xiàng)。7.數(shù)據(jù)流圖(DFD)的作用是()。(A)支持軟件系統(tǒng)功能建模(B)支持軟件系統(tǒng)的面向?qū)ο蠓治觯–)描述軟件系統(tǒng)的控制流(D)描述軟件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)【答案】A【解析】數(shù)據(jù)流圖是系統(tǒng)邏輯模型的圖形表示,從數(shù)據(jù)傳遞和加工的角度,來(lái)刻畫(huà)數(shù)據(jù)流從輸入到輸出的移動(dòng)變化過(guò)程,它直接支持系統(tǒng)的功能建模。本題答案為A選項(xiàng)。8.數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是一種()。(A)應(yīng)用軟件(B)系統(tǒng)軟件(C)計(jì)算機(jī)輔助設(shè)計(jì)(D)辦公軟件【答案】B【解析】數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)的核心,它位于用戶與操作系統(tǒng)之間,從軟件分類的角度來(lái)說(shuō)屬于系統(tǒng)軟件。本題答案為B選項(xiàng)。9.在數(shù)據(jù)庫(kù)的三級(jí)模式中,可以有任意多個(gè)()。(A)概念模式(B)內(nèi)模式(C)外模式(D)物理模式【答案】C【解析】一個(gè)數(shù)據(jù)庫(kù)可以有多個(gè)外模式(也稱子模式或用戶模式),但概念模式和內(nèi)模式(物理模式)只能有一個(gè)。本題答案為C選項(xiàng)。10.設(shè)有課程關(guān)系模式如下:R(C#,Cn,T,Ta)(其中C#為課程號(hào),Cn為課程名,T為教師名,Ta為教師地址)并且假定不同課程號(hào)可以有相同的課程名,每個(gè)課程號(hào)下只有一位任課教師,但每位教師可以有多門課程。該關(guān)系模式可進(jìn)一步規(guī)范化為()。(A)R1(C#,Cn),R2(T,Ta)(B)R1(C#,Cn,Ta),R2(T,Ta)(C)R1(C#,T),R2(T,Ta)(D)R1(C#,Cn,T),R2(T,Ta)【答案】D【解析】本題關(guān)系模式R的主鍵為課程號(hào),每個(gè)課程號(hào)下只有一位任課教師,因此課程號(hào)可決定教師名,而教師名又決定教師地址,這里有對(duì)主屬性的傳遞依賴??蓪⒃撽P(guān)系模式拆分為兩個(gè)關(guān)系模式R1和R2,其中R1包含課程號(hào)、課程名、教師名,R2包含教師名、教師地址。其中R1的主鍵是課程號(hào),R2的主鍵為教師名。這樣兩個(gè)關(guān)系都不會(huì)出現(xiàn)對(duì)主屬性的傳遞依賴。本題答案為D選項(xiàng)。11.以下選項(xiàng)不屬于Python語(yǔ)言特點(diǎn)的是()。(A)平臺(tái)無(wú)關(guān)(B)第三方庫(kù)豐富(C)適合編寫(xiě)系統(tǒng)軟件(D)語(yǔ)法簡(jiǎn)潔【答案】C【解析】Python語(yǔ)言最重要的三個(gè)特點(diǎn)是語(yǔ)法簡(jiǎn)潔、生態(tài)豐富、多語(yǔ)言集成。除了這三個(gè)重要特點(diǎn)外,還有一些其他特點(diǎn):平臺(tái)無(wú)關(guān)、強(qiáng)制可讀、支持中文、模式多樣、類庫(kù)便捷。系統(tǒng)軟件一般使用靜態(tài)語(yǔ)言編寫(xiě)(采用編譯方式執(zhí)行);Python語(yǔ)言屬于腳本語(yǔ)言(采用解釋方式執(zhí)行),不適合編寫(xiě)系統(tǒng)軟件。12.如果Python程序執(zhí)行時(shí)產(chǎn)生了“TypeError”的錯(cuò)誤,其原因是()。(A)代碼中的數(shù)據(jù)類型不匹配(B)代碼使用了錯(cuò)誤的關(guān)鍵字(C)代碼中缺少“:”符號(hào)(D)代碼里的語(yǔ)句嵌套層次太多【答案】A【解析】TypeError指對(duì)類型無(wú)效的操作,也就是數(shù)據(jù)類型不匹配。13.以下選項(xiàng),不是Python保留字的選項(xiàng)是()。(A)and(B)with(C)is(D)count【答案】D【解析】保留字也稱關(guān)鍵字,指被編程語(yǔ)言內(nèi)部定義并保留使用的標(biāo)識(shí)符。Python3.x版本的保留字有35個(gè),分別是是and,as,assert,async,await,break,class,continue,def,del,elif,else,except,F(xiàn)alse,finally,for,from,global,if,import,in,is,lambda,None,nonlocal,not,or,pass,raise,return,True,try,while,with,yield。14.表達(dá)式eval(’500//10’)的結(jié)果是()。(A)50.0(B)50(C)500/10(D)500/10’【答案】B【解析】“x//y”是指x與y之整數(shù)商,即不大于x與y之商的最大整數(shù)。這里,500//10的結(jié)果為50,由于加了單引號(hào),故結(jié)果為字符串類型。eval()函數(shù)將去掉字符串最外側(cè)的引號(hào),并按照Python語(yǔ)句方式執(zhí)行去掉引號(hào)后的字符內(nèi)容。故答案為B項(xiàng)。15.表達(dá)式type(type(’45’))的結(jié)果是()。(A)<class’type’>(B)<class’str’>(C)<class’float’>(D)None【答案】A【解析】type()函數(shù)用于對(duì)變量進(jìn)行類型判斷?!?5’屬于字符串類型,因此,type(’45’)返回的是<clss’str’>。<clss’str’>屬于type類型,因此type(type(’45’))的結(jié)果為<class’type’>。16.x=2.6,表達(dá)式round(x)的結(jié)果是()。(A)2.6(B)2(C)3(D)2.0【答案】C【解析】round(x,d)函數(shù)是指對(duì)x四舍五入,保留d位小數(shù),無(wú)參數(shù)d則返回四舍五入的整數(shù)值。因此round(2.6)=3。17.變量tstr=’kip520’,表達(dá)式eval(tstr[3:-1])的結(jié)果是()。(A)52(B)520(C)p520(D)p52【答案】A【解析】tstr[3:-1]是指對(duì)字符串’kip520’進(jìn)行切片,其結(jié)果為’52’(字符串類型);eval()函數(shù)是將字符串最外側(cè)的引號(hào)去掉,并按照Python語(yǔ)句方式執(zhí)行去掉引號(hào)后的字符內(nèi)容,因此eval(’52’)=52。18.設(shè)str1=’python’,語(yǔ)句print(str1.center(10,*))的執(zhí)行結(jié)果是()。(A)python****(B)**python**(C)****python(D)SyntaxError【答案】D【解析】str.center(width,fillchar)方法返回長(zhǎng)度為width的字符串。其中str處于新字符串中心位置,兩側(cè)新增字符串采用fillchar填充,當(dāng)width小于字符串長(zhǎng)度時(shí),返回str;fillchar是單個(gè)字符。本題中,str1.center(10,*)中的*兩側(cè)沒(méi)有引號(hào),因此不是字符串類型,執(zhí)行語(yǔ)句后會(huì)報(bào)錯(cuò),故答案為D項(xiàng)。19.執(zhí)行以下程序,輸出結(jié)果是()。y=[’’,"]print(all(y).a(chǎn)ny(y))(A)FalseTrue(B)TrueFalse(C)FalseFalse(D)TrueTrue【答案】A【解析】對(duì)于any(x)函數(shù),如果組合類型變量x中所有的值都是0、“或False時(shí),那么結(jié)果為False;如果所有元素中有一個(gè)值非0、"或False,那么結(jié)果就為True。對(duì)于all(x)函數(shù),只要組合類型變量x中存在值為0、“或False的元素,那么結(jié)果為False,否則結(jié)果為True。本題變量y中,’’和’’是不同的。’’表示空格字符串,’’表示為空的元素,因此all(y)的結(jié)果為False,any(y)的結(jié)果為True。20.ls=[’1’,’2’,’3’],以下關(guān)于循環(huán)結(jié)構(gòu)的描述,錯(cuò)誤的是()。(A)表達(dá)式foriinrange(len(ls))的循環(huán)次數(shù)跟forIinls的循環(huán)次數(shù)是一樣的(B)表達(dá)式foriinrange(len(ls))跟foriinls的循環(huán)中i的值是一樣的(C)表達(dá)式foriinrange(len(ls))的循環(huán)次數(shù)跟foriinrange(0,len(ls))的循環(huán)次數(shù)是一樣的(D)表達(dá)式foriinrange(len(ls))的循環(huán)次數(shù)跟foriinrange(1,len(ls)+1)的循環(huán)次數(shù)是一樣的【答案】B【解析】range()函數(shù)只有一個(gè)參數(shù)時(shí)表示會(huì)產(chǎn)生從0開(kāi)始計(jì)數(shù)到輸入?yún)?shù)的前一位整數(shù)結(jié)束的整數(shù)列表;有兩個(gè)參數(shù)時(shí),則將第一個(gè)參數(shù)作為起始位,第二個(gè)參數(shù)為結(jié)束位,輸出從起始位到結(jié)束位的前一位的整數(shù)列表;有三個(gè)參數(shù)時(shí),第三個(gè)參數(shù)表示步長(zhǎng),起始位按照步長(zhǎng)遞增或遞減。len(ls)函數(shù)返回列表ls的元素個(gè)數(shù)3。B項(xiàng),foriinrange(len(ls))中的值分別為0,1,2,而在foriinls中每一步的i為’1’,’2’,’3’,所以i的值不相同。21.以下關(guān)于隨機(jī)運(yùn)算函數(shù)庫(kù)的描述,錯(cuò)誤的是()。(A)random(a,b)產(chǎn)生一個(gè)a到b之間的隨機(jī)小數(shù)(B)random.seed()函數(shù)初始化隨機(jī)數(shù)種子,默認(rèn)值是當(dāng)前系統(tǒng)時(shí)間(C)random庫(kù)的隨機(jī)數(shù)是計(jì)算機(jī)按一定算法產(chǎn)生的,并非完全隨機(jī)(D)Python內(nèi)置的random庫(kù)主要用于產(chǎn)生各種偽隨機(jī)數(shù)序列【答案】A【解析】random()產(chǎn)生一個(gè)(0.0,1.0)之間的隨機(jī)小數(shù),uniform(a,b)產(chǎn)生一個(gè)[a,b]之間的隨機(jī)小數(shù),randint(a,b)產(chǎn)生一個(gè)[a,b]之間的整數(shù)。因此A項(xiàng)描述錯(cuò)誤。22.以下代碼的輸出結(jié)果是()。print(’i:@>10.6}’.format(’Fog’))(A)@@@@Fog(B)@@@@@@@Fog(C)Fog@@@@@@@(D)Fog@@@@【答案】B【解析】{:@>10.6}’.format(’Fog’)表示輸出時(shí)寬度為10,右對(duì)齊且填充@,若字符串長(zhǎng)度大于6,只保留前6個(gè)字符,小于等于6全部輸出。因此本題答案為@@@@@@@Fog。23.執(zhí)行以下程序,輸入ab,然后回車,結(jié)果是()。k=10whileTrue:s=input(’請(qǐng)輸入q退出:’)ifs==’a’:k+=1continueelse:k+=2breakprint(k)(A)13(B)請(qǐng)輸入q退出:(C)12(D)10【答案】C【解析】while循環(huán)用于判斷輸入的值是否與’a’相等,若相等則執(zhí)行k+=1;若不相等則執(zhí)行k+=2。本題中輸入的是ab,與’a’不相等,因此執(zhí)行k+=2,k=12。24.以下程序的輸出結(jié)果是()。s=10defrun(n):globalsforiinrange(n):s+=ireturnsprint(s.run(5))(A)2020(B)1020(C)1010(D)UnboundLocalError【答案】B【解析】本題中,變量s為全局變量,函數(shù)內(nèi)部改變了該變量的值,外部該變量的值不變,因此最后s的值仍為10。然后執(zhí)行函數(shù)run(5),將實(shí)參5傳遞給形參n,函數(shù)體內(nèi)for循環(huán)執(zhí)行后,i的值依次為0、1、2、3、4,因此函數(shù)體內(nèi)s=10+0+1+2+3+4=20,函數(shù)的返回值為20。故答案為B項(xiàng)。25.以下關(guān)于Python的函數(shù)的描述,正確的是()。(A)函數(shù)內(nèi)部需要改變外部定義的一個(gè)簡(jiǎn)單類型變量,需要顯式聲明其為全局變量(B)函數(shù)內(nèi)部改變了外部的簡(jiǎn)單類型,外部該變量的值也隨之改變(C)函數(shù)內(nèi)部定義了跟外部的全局變量同名的組合類型的變量,則函數(shù)內(nèi)部引用的該名字的變量時(shí)不確定是外部的還是內(nèi)部的(D)函數(shù)內(nèi)部改變了外部定義的組合類型變量的值,外部該變量的值不隨之改變【答案】A【解析】對(duì)于在函數(shù)外部定義的全局變量,若該變量為簡(jiǎn)單類型變量,在函數(shù)內(nèi)部使用時(shí)需要提前使用保留字global聲明其為全局變量;函數(shù)內(nèi)部改變了該變量的值,外部該變量的值不變,因此A項(xiàng)正確、B項(xiàng)錯(cuò)誤。若該變量為組合類型變量,在函數(shù)內(nèi)部定義了跟該變量同名的變量,引用時(shí)該變量是內(nèi)部的,函數(shù)內(nèi)部改變了組合類型變量的值,外部該變量的值不能確定是否隨之改變,因此C、D兩項(xiàng)錯(cuò)誤。26.以下程序的輸出結(jié)果是()。ls=[10]defrun(n):ls.a(chǎn)ppend(n)run(5)print(ls)(A)[10](B)UnboundLocalError(C)[10,5](D)None【答案】C【解析】在Python中,列表變量作為全局變量時(shí),在函數(shù)中可以直接修改,不需要使用global聲明。本題中,ls為列表類型,為全局變量;函數(shù)體中l(wèi)s.a(chǎn)ppend(n)方法是在列表最后增加一個(gè)元素;調(diào)用函數(shù)后,直接在列表ls中增加一個(gè)元素5,最后輸出改變后的列表ls。故正確答案為C項(xiàng)。27.以下程序的輸出結(jié)果是()。defhub(ss,x=2.0,y=4.0):ss+=x*yss=10print(ss,hub(ss,3))(A)22None(B)10None(C)10.022.0(D)22.0None【答案】B【解析】本題中,變量s為全局變量,函數(shù)內(nèi)部改變了該變量的值,外部該變量的值不變,因此最后s的值仍為10。調(diào)用函數(shù)hub()后,由于函數(shù)數(shù)體內(nèi)沒(méi)有return語(yǔ)句,即無(wú)返回值,所以默認(rèn)返回None。故答案為B項(xiàng)。28.以下程序的輸出結(jié)果是()。ls=[12,44,23,46]foriinls:ifi==’44’:print(’foundit!i=’,i)breakelse:print(’notfoundit…’)(A)notfoundit…(B)foundit!i=44(C)foundit!i=44notfoundit…(D)foundit!i=’44’notfoundit…【答案】A【解析】由于列表ls中所有元素都是整數(shù)類型,不可能等于字符串類型的’44’,即if語(yǔ)句中的條件不成立,需執(zhí)行else語(yǔ)句,輸出notfoundit…。29.以下程序的輸出結(jié)果是()。x=4ca=’123456’ifstr(x)inca:print(ca.replace(ca[x],.str(x-2))(A)123456(B)123426(C)5(D)2【答案】B【解析】str(4)=’4’,此字符在字符串ca中,滿足if條件,執(zhí)行輸出語(yǔ)句。ca.replace(ca[4],str(4-2)是指返回字符串ca副本,ca[4]指字符串中序號(hào)為4的字符’5’,str(x-2)返回符’2’,也就是用字符’2’來(lái)替換字符’5’。故答案為B項(xiàng)。30.給以下程序填空,能輸出{0:[90,’Aele’],1:[87,’Bob’],2:[93,’lala’]}結(jié)果的選項(xiàng)是()。x=[90,87,93]y=("Aele","Bob","1ala")z={}foriinrange(len(x)):________print(z)(A)z[i]=[x[i],y[i]](B)z[i]=x[i],y[i](C)z[i]=list(zip(x,y))(D)z[i]=x,y【答案】A【解析】由最后輸出的字典可以看出,它由0,1,2作鍵,列表x的元素作為每個(gè)值的第一個(gè)元素,元組y的元素作為每個(gè)值的第二個(gè)元素,即字典z中鍵i對(duì)應(yīng)的值為[x[i],y[i]]。故答案為A項(xiàng)。31.以下程序的輸出結(jié)果是()。L1=[1,2,3,4]L2=L1.copy()L2.reverse()print(L1)(A)1,2,3,4(B)[4,3,2,1](C)[1,2,3.4](D)4,3,2,1【答案】C【解析】本題使用了copy()函數(shù),在這種情況下,列表L1和L2是不同的對(duì)象,他們也不指向同一片內(nèi)存空間,修改列表L2不會(huì)影響到列表L1。因此,L1仍然為[1,2,3,4]。32.以下程序的輸出結(jié)果不可能的選項(xiàng)是()。importrandomls=[2,3,4,6]s=10k=random.randint(0,2)s+=ls[k]print(s)(A)12(B)14(C)13(D)16【答案】D【解析】randint(a,b)產(chǎn)生一個(gè)[a,b]之間的整數(shù),因此random.randint(0,2)的返回值可能為0、1或者2(即k的值),ls[0]=2,ls[1]=3,ls[2]=4,所以s有三個(gè)可能的值s+=2,s+=3,s+=4,也就是l2、l3、l4。33.以下關(guān)于文件的描述,錯(cuò)誤的是()。(A)open()函數(shù)的參數(shù)處理模式’b’表示以二進(jìn)制數(shù)據(jù)處理文件(B)open()打開(kāi)文件之后,文件的內(nèi)容就被加載到內(nèi)存中了(C)open函數(shù)的參數(shù)處理模式’+’表示可以對(duì)文件進(jìn)行讀和寫(xiě)操作(D)fo.readlines()函數(shù)是將文件的所有行讀入一個(gè)列表【答案】B【解析】如果文件只被打開(kāi),文件內(nèi)容是不會(huì)裝入內(nèi)存的,只有執(zhí)行讀取操作的時(shí)候才會(huì)把文件內(nèi)容相應(yīng)的長(zhǎng)度(在read()函數(shù)中指定讀取的字節(jié)長(zhǎng)度)裝入內(nèi)存。故B項(xiàng)描述錯(cuò)誤。34.以下程序輸出到文件a.txt里的結(jié)果是()。fo=open("a.txt",’w’)x=[’春眠’,’處處’,’夜來(lái)’]fo.writelines(x)fo.close()(A)春眠處處夜來(lái)(B)春眠處處夜來(lái)(C)春眠’’處處’’夜來(lái)’(D)春眠’’處處’’夜來(lái)’【答案】A【解析】fo.writelines(x)是指直接將列表類型的各元素連接起來(lái)寫(xiě)入文件。fo。故答案為A項(xiàng)。35.以下方法能返回列表數(shù)據(jù)類型的選項(xiàng)是()。(A)s.center()(B)s.strip()(C)s.replace()(D)s.split()【答案】D【解析】s.center()是字符串居中函數(shù);s.strip()函數(shù)是從字符串s中去掉其左右兩側(cè)指定的字符,返回的是字符串;s.replce(old,new)函數(shù)返回字符串s的副本,所有old子串被替換為new。s.split()函數(shù)返回一個(gè)列表,若有參數(shù),由s根據(jù)參數(shù)被分隔的部分構(gòu)成,省略參數(shù)默認(rèn)以空白符分隔。36.以下關(guān)于數(shù)據(jù)維度的描述,正確的是()。(A)一維數(shù)據(jù)可以用列表表示,也可以用字典表示(B)JSON格式可以表示具有復(fù)雜關(guān)系的高維數(shù)據(jù)(C)采用列表表示一維數(shù)據(jù),各個(gè)元素的類型必須是相同的(D)一維的列表a里的某個(gè)元素是一個(gè)一維的列表b,這個(gè)列表是二維數(shù)據(jù)【答案】B【解析】字典屬于高維數(shù)據(jù),A項(xiàng)錯(cuò)誤;采用列表表示一維數(shù)據(jù)時(shí),元素的數(shù)據(jù)類型可以不同,C項(xiàng)錯(cuò)誤;D項(xiàng)說(shuō)法片面,列表a還可能是高維的。故答案選B項(xiàng)。37.以下不屬于Python的pip工具命令的選項(xiàng)是()。(A)get(B)install(C)show(D)download【答案】A【解析】install命令用于安裝第三方庫(kù);download命令用于下載第三方庫(kù)的安裝包,但并不安裝;show命令是列出某個(gè)已經(jīng)安裝的庫(kù)的詳細(xì)信息。get不屬于pip工具的命令。38.用Pyinstaller工具把Python源文件打包成一個(gè)獨(dú)立的可執(zhí)行文件,使用的參數(shù)是()。(A)-L(B)-D(C)-F(D)-i【答案】C【解析】Pyinstaller工具沒(méi)有-L參數(shù)。-D是默認(rèn)值,生成dist目錄;-F是指在dist文件夾中只生成獨(dú)立的打包文件;-i是指定打包程序使用的圖標(biāo)文件。39.random庫(kù)采用更多隨機(jī)數(shù)生成算法是()。(A)梅森旋轉(zhuǎn)算法(B)蒙特卡洛方法(C)線性同余法(D)平方取中法【答案】A【解析】random庫(kù)是Python的標(biāo)準(zhǔn)庫(kù),用于產(chǎn)生各種分布的偽隨機(jī)數(shù)序列。它采用梅森旋轉(zhuǎn)算法生成偽隨機(jī)數(shù)序列。40.turtle畫(huà)圖結(jié)束后,讓畫(huà)面停頓,不立即關(guān)掉窗口的方法是()。(A)turtle.setup()(B)turtle.done()(C)turtle.penup()(D)turtle.clear()【答案】B【解析】setup()函數(shù)用于設(shè)置主窗體的大小和位置;penup()函數(shù)指提起畫(huà)筆;clear()函數(shù)清空當(dāng)前窗口,但不改變畫(huà)筆的位置。done()函數(shù)是讓畫(huà)面停頓,但不立即關(guān)掉窗口?;揪幊填}41.考生文件夾下存在一個(gè)文件PY101.py,請(qǐng)寫(xiě)代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能:鍵盤輸入正整數(shù)n,按要求把n輸出到屏幕,格式要求:寬度為14個(gè)字符,數(shù)字中間對(duì)齊,不足部分用=填充。例如:鍵盤輸入正整數(shù)n為1234,屏幕輸出=====1234=====#請(qǐng)?jiān)赺_____處使用一行代碼或表達(dá)式替換##注意:請(qǐng)不要修改其他已給出代碼n=eval(input("請(qǐng)輸入正整數(shù):"))print("{______}".format(n))
【答案】n=eval(input("請(qǐng)輸入正整數(shù):"))print("{:=^14}".format(n))【解析】該題目主要考查Python字符串的格式化方法。Python語(yǔ)言推薦使用.format()格式化方法,其使用方式如下:<模板字符串>.format(<逗號(hào)分隔的參數(shù)>)其中,模板字符串是一個(gè)由字符串和槽組成的字符串,用來(lái)控制字符串和變量的顯示效果。槽用大括號(hào)({})表示,對(duì)應(yīng)format()方法中逗號(hào)分隔的參數(shù)。如果模板字符串中有多個(gè)槽,可以通過(guò)format()參數(shù)的序號(hào)在模板字符串槽中指定參數(shù)的使用,參數(shù)從0開(kāi)始編號(hào)。例如:“{0}曰:學(xué)而不思則罔,思而不學(xué){1}?!保甪ormat(“孔子”,”則殆”)其結(jié)果為:’孔子曰:學(xué)而不思則罔,思而不學(xué)則殆。’format()方法的槽除了包括參數(shù)序號(hào),還可以包括格式控制信息,語(yǔ)法格式如下:{<參數(shù)序號(hào)>:<格式控制標(biāo)記>}其中,格式控制標(biāo)記包括:<填充><對(duì)齊><寬度><,><.精度><類型>6個(gè)字段,由引導(dǎo)符號(hào)(:)作為引導(dǎo)標(biāo)記,這些字段都是可選的,可以組合使用。<填充>:指用于填充的單個(gè)字符。<對(duì)齊>:分別使用<、>和^三個(gè)符號(hào)表示左對(duì)齊、右對(duì)齊和居中對(duì)齊。<寬度>:當(dāng)前槽的設(shè)定輸出字符寬度。<,>:用于顯示數(shù)字類型的千位分隔符。<.精度>:由小數(shù)點(diǎn)(.)開(kāi)頭,對(duì)于浮點(diǎn)數(shù),精度表示小數(shù)部分輸出的有效位數(shù);對(duì)于字符串,精度表示輸出的最大長(zhǎng)度。<類型>:表示輸出整數(shù)和浮點(diǎn)數(shù)類型的格式規(guī)則。本題格式要求為:寬度為14個(gè)字符,數(shù)字中間對(duì)齊,不足部分用=填充。因此模板字符串為:{:=^14}。42.考生文件夾下存在一個(gè)文件PY102.py,請(qǐng)寫(xiě)代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能:a和b是兩個(gè)列表變量,列表a為[3,6,9]已給定,鍵盤輸入列表b,將a列表的三個(gè)元素插入到b列表中對(duì)應(yīng)的前三個(gè)元素的后面,并顯示輸出在屏幕上。例如:鍵盤輸入列表b為[1,2,3],因此,屏幕輸出計(jì)算結(jié)果為[1,3,2,6,3,9]#請(qǐng)?jiān)赺_____處使用一行代碼或表達(dá)式替換##注意:請(qǐng)不要修改其他已給出代碼a=[3,6,9]b=eval(input())#例如:[1,2,3]j=1foriinrange(len(__(1)____)):b._____(2)_____j+=__(3)______print(b)【答案】a=[3,6,9]b=eval(input())#例如:[1,2,3]j=1foriinrange(len(a)):b.insert(j,a[i])j+=2print(b)【解析】for循環(huán)中,需要遍歷列表a中的每一個(gè)元素,然后將每個(gè)元素插入到列表b中相應(yīng)的位置,因此第一空填入:a。在列表中插入元素使用insert()方法,insert(j,x)表示在列表中索引序號(hào)為j的位置增加元素x。題目要求將a列表的每個(gè)元素插入到b列表中對(duì)應(yīng)的元素的后面,即元素a[0]插入到列表b中索引序號(hào)為1的位置。因此第二空填入:insert(j,a[i])。b列表中插入一個(gè)元素后,該元素后面的元素的索引序號(hào)都將加1,再插入列表a中的第二個(gè)元素時(shí),變量j應(yīng)加2才是該元素的索引序號(hào)位置,因此第三空填入:2。43.考生文件夾下存在一個(gè)文件PY103.py,請(qǐng)寫(xiě)代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能:以100為隨機(jī)數(shù)種子,隨機(jī)生成3個(gè)在1(含)到9(含)之間的隨機(jī)整數(shù),計(jì)算這三個(gè)隨機(jī)整數(shù)的立方和。#請(qǐng)?jiān)赺_____處使用一行或多行代碼替換##注意:請(qǐng)不要修改其他已給出代碼importrandom____________#此處可多行s=0#____________#此處可多行print(s)【答案】importrandomrandom.seed(100)#此處可多行s=0#foriinrange(3):n=random.randint(1,9)#此處可多行s+=n**3print(s)【解析】題目要求以100為隨機(jī)數(shù)種子,seed()函數(shù)用于初始化隨機(jī)數(shù)種子,因此第一空應(yīng)填入:random.seed(100)。題目要求隨機(jī)生成3個(gè)在1(含)到9(含)之間的隨機(jī)整數(shù),再計(jì)算這三個(gè)隨機(jī)整數(shù)的立方和。這需要使用for循環(huán),3個(gè)數(shù)需遍歷3次,代碼為:foriinrange(3):;randint(a,b)函數(shù)用于生成一個(gè)[a,b]之間的整數(shù)(包含a和b),題目要求的是1(含)到9(含)之間的隨機(jī)整數(shù),則用random.randint(1,9)生成隨機(jī)整數(shù);一個(gè)數(shù)的立方用n**3表示,再求幾個(gè)數(shù)的立方和用s+=n**3。簡(jiǎn)單應(yīng)用題44.使用turtle庫(kù)的turtle.fd()函數(shù)和turtle.seth()函數(shù)繪制一個(gè)邊長(zhǎng)為100像素的正五邊形,在考生文件夾下給出了程序框架文件PY201.py,在橫線處補(bǔ)充代碼,不得修改其他代碼。效果圖如下圖所示:
【答案】importturtleturtle.pensize(2)d=0foriinrange(1,6):turtle.fd(100)d+=72turtle.seth(d)【解析】本題要繪制一個(gè)多邊形,需要使用turtle庫(kù)(海龜),首先使用import保留字把turtle庫(kù)導(dǎo)入。由于繪制的是正五邊形,for循環(huán)遍歷中,要對(duì)序號(hào)為1~5的每條邊依次繪制,i的取值從1開(kāi)始到5結(jié)束。因此第一空填入:6。題目要求使用turtle.fd()函數(shù)。turtle.fd()函數(shù)用于控制小海龜向當(dāng)前行進(jìn)方向前進(jìn)一個(gè)指定距離,題目要求邊長(zhǎng)為100像素,因此第二空填入:turtle.fd(100)。turtle.seth(d)函數(shù)用于設(shè)置小海龜當(dāng)前行進(jìn)方向?yàn)閐,該角度是絕對(duì)方向角度值。在正五邊形中,相鄰兩條邊形成的外角均為72度,即繪制完一條邊后,小海龜?shù)男羞M(jìn)方向要增加72度后再繪制下一條邊。因此第三空填入:72。使用字典和列表型變量完成最有人氣的明星的投票數(shù)據(jù)分析。投票信息由考生文件夾下文件vote.txt給出,一行只有一個(gè)明星姓名的投票才是有效票。有效票中得票最多的明星當(dāng)選最有人氣的明星。【答案】45.問(wèn)題1:請(qǐng)統(tǒng)計(jì)有效票張數(shù)。在考生文件夾下給出了程序框架文件PY202-1.py,補(bǔ)充代碼完成程序。#請(qǐng)?jiān)赺_____處使用一行代碼或表達(dá)式替換##注意:請(qǐng)不要修改其他已給出代碼f=open("vote.txt")names=f.readlines()f.close()n=0fornamein_______(1)_________:num=_______(2)_________if_______(3)________:n+=__(4)____print("有效票{}張".format(n))【答案】f=open("vote.txt")names=f.readlines()f.close()n=0fornameinnames:num=len(name.split())ifnum==1:n+=1print("有效票{}張".format(n))【解析】題目明確給出“一行只有一個(gè)明星姓名的投票才是有效票”,我們就要判斷文件“vote.txt"中每行都有幾個(gè)姓名,若為一個(gè)姓名,則有效票數(shù)加1,若多于一個(gè)姓名則不統(tǒng)計(jì)。用readlines()函數(shù)讀入文件“vote.txt”中所有行,以每行為元素形成列表names。用for循環(huán)遍歷names列表中的每個(gè)元素name,判斷每個(gè)元素的長(zhǎng)度len(name),如果長(zhǎng)度num為1,則為有效票,就將有效票數(shù)n加1。因此,第一空填入:names;第二空填入:len(name.split()),split()函數(shù)表示以空格分隔name中的元素;第三空填入:num==1;第四空填入:1。46.問(wèn)題2:請(qǐng)給出當(dāng)選最有人氣明星的姓名和票數(shù),在考生文件夾下給出了程序框架文件PY202-2.py,補(bǔ)充代碼完成程序。#請(qǐng)?jiān)赺_____處使用一行代碼或表達(dá)式替換##注意:請(qǐng)不要修改其他已給出代碼f=open("vote.txt")names=f.readlines()f.close()D={}fornamein_______(1)_________:iflen(_____(2)______)==1:D[name[:-1]]=_______(3)_________+1l=list(D.items())l.sort(key=lambdas:s[1],_______(4)_________)name=l[0][0]score=l[0][1]print("最具人氣明星為:{},票數(shù)為:{}".format(name,score))【答案】f=open("vote.txt")names=f.readlines()f.close()D={}fornameinnames:iflen(name.split())==1:D[name[:-1]]=D.get(name[:-1],0)+1l=list(D.items())l.sort(key=lambdas:s[1],reverse=True)name=l[0][0]score=l[0][1]print("最具人氣明星為:{},票數(shù)為:{}".format(name,score))【解析】接著問(wèn)題一的思路,當(dāng)元素name被判定為有效票后,就將該元素存入字典D中作為一個(gè)鍵,該鍵所對(duì)應(yīng)的值為1,在后面循環(huán)中只要遍歷的元素和鍵相同,就將該鍵對(duì)應(yīng)的值加1。l=list(D.items())表示將字典類型變成列表類型,字典中的每個(gè)鍵值對(duì)對(duì)應(yīng)列表中的一個(gè)元組。隨后,對(duì)列表l中的元素進(jìn)行排序,用到sort()方法,參數(shù)"key=lambdas:s[1]"中l(wèi)ambda是一個(gè)隱函數(shù),是固定寫(xiě)法,不能寫(xiě)成別的單詞;s表示列表中的一個(gè)元素,在這里表示一個(gè)元組,s只是臨時(shí)起的一個(gè)名字,也可以使用任意的名字;s[1]表示以元組中第二個(gè)元素排序。sort()方法的第二參數(shù)表示是按哪種方式排序,若為“reverse=True”表示按降序排序,若該參數(shù)缺省或"reverse=False",表示按升序排序。根據(jù)變量name和score,可以確定排序后列表l中的第一個(gè)元素中就是最具人氣明星姓名和選票數(shù),列表是按降序排序的。因此,第一空填入:names;第二空填入:name.split():第三空填入:D.get(name[:-1],0);第四空填入:reverse=True。綜合應(yīng)用題考生文件夾下的文件data.txt是一個(gè)來(lái)源于網(wǎng)上的技術(shù)信息資料。【答案】47.問(wèn)題1:在考生文件夾下給出了程序框架文件PY301-1.py,補(bǔ)充代碼完成程序。用Python語(yǔ)言中文分詞第三方庫(kù)jieba對(duì)文件data.txt進(jìn)行分詞,并選擇長(zhǎng)度大于等于3個(gè)字符的關(guān)鍵詞,寫(xiě)入文件out1.txt,每行一個(gè)關(guān)鍵詞,各行的關(guān)鍵詞不重復(fù),輸出順序不做要求,例如:人工智能科幻小說(shuō)…#請(qǐng)?jiān)凇幨褂枚嘈写a替換##注意:其他已給出代碼僅作為提示,可以修改…#此處可多行f=open(’out1.txt’,’w’)…#此處可用多行f.close()【答案】importjiebaf=open(’data.txt’,’r’)#此處可多行data=f.read()f.close()f=open(’out1.txt’,’w’)data1=jieba.lcut(data)d=[]forxindata1:iflen(x)>=3andxnotind:d+=[x]f.write(x+’\n’)f.close()print(d)【解析】本題要使用jieba庫(kù),則首先用import保留字引用jieba庫(kù)。打開(kāi)“data.txt”文件后,需要用read()函數(shù)讀入整個(gè)文件內(nèi)容并賦值給data;然后使用jieba庫(kù)的lcut()函數(shù)對(duì)data進(jìn)行精準(zhǔn)分詞,其分詞結(jié)果存放在列表data1中;再定義一個(gè)列表d用來(lái)存放選擇出的關(guān)鍵詞。用for循環(huán)遍歷列表data1中的每個(gè)元素(關(guān)鍵詞),題目第一個(gè)要求是選擇出長(zhǎng)度大于等于3個(gè)字符的關(guān)鍵詞,則需要使用if條件判斷關(guān)鍵詞的長(zhǎng)度“l(fā)en(x)>=3”。題目第二個(gè)要求關(guān)鍵詞不重復(fù),則在遍歷每個(gè)關(guān)鍵詞時(shí),判斷該關(guān)鍵詞是否在列表d中,若不在,則將該關(guān)鍵詞寫(xiě)入文件“out1.txt”文件中;并將該關(guān)鍵詞添加到列表d中,在遍歷下一個(gè)關(guān)鍵詞時(shí),若該關(guān)鍵詞在列表中,則跳過(guò)該關(guān)鍵詞,這就實(shí)現(xiàn)了關(guān)鍵詞不重復(fù)。48.問(wèn)題2:在考生文件夾下給出了程序框架文件PY301-2.py,補(bǔ)充代碼完成程序。對(duì)文件data.txt進(jìn)行分詞,對(duì)長(zhǎng)度不少于3個(gè)字符的關(guān)鍵詞,統(tǒng)計(jì)出現(xiàn)的次數(shù),按照出現(xiàn)次數(shù)由大到小的順序輸出到文件out2.txt,每行一個(gè)關(guān)鍵詞及其出現(xiàn)次數(shù),例如:科學(xué)家:2達(dá)特茅斯:1…#請(qǐng)?jiān)凇幨褂枚嘈写a替換##注意:其他已給出代碼僅作為提示,可以修改…#此處可多行d={}…#此處可多行l(wèi)s=list(d.items())ls.sort(key=lambdax:x[1],reverse=True)#此行可以按照詞頻由高到低排序…#此處可多行【答案】importjiebaf=open(’data.txt’,’r’)#此處可多行data=f.read()f.close()f=open(’out2.txt’,’w’)data1=jieba.lcut(data)d={}forxindata1:iflen(x)>=3:d[x]=d.get(x,0)+1ls=list(d.items())ls.sort(key=lambdax:x[1],reverse=True)#此行可以按照詞頻由高到低排序forlinls:f.write(l[0]+’:’+str(l[1])+’\n’)f.close()【解析】本題要使用jieba庫(kù),則首先用import保留字引用jieba庫(kù)。打開(kāi)“data.txt”文件后,需要用read()函數(shù)讀入整個(gè)文件內(nèi)容并賦值給data;然后使用jieba庫(kù)的lcut()函數(shù)對(duì)data進(jìn)行精準(zhǔn)分詞,其分詞結(jié)果存放在列表data1中;再定義一個(gè)字典d用來(lái)存放選出的關(guān)鍵詞(鍵)和該詞出現(xiàn)的次數(shù)(值)。用for循環(huán)遍歷列表data1中的每個(gè)元素(關(guān)鍵詞),題目要求是選擇出長(zhǎng)度大于等于3個(gè)字符的關(guān)鍵詞(len(x)>=3),當(dāng)關(guān)鍵詞符合要求時(shí),就將該元素存入字典d中作為一個(gè)鍵(d[x]),該鍵所對(duì)應(yīng)的值置為1(d.get(x,0)+1),在后面循環(huán)中只要遍歷的關(guān)鍵詞和鍵相同,就將該鍵對(duì)應(yīng)的值加1。ls=list(d.items())表示將字典類型變成列表類型,字典中的每個(gè)鍵值對(duì)對(duì)應(yīng)列表中的一個(gè)元組。隨后,對(duì)列表ls中的元素進(jìn)行排序,用到sort()方法,參數(shù)“key=lambdax:x[1]”中l(wèi)ambda是一個(gè)隱函數(shù),是固定寫(xiě)法,不能寫(xiě)成別的單詞;x表示列表中的一個(gè)元素,在這里表示一個(gè)元組,x只是臨時(shí)起的一個(gè)名字,也可以使用任意的名字;x[1]表示以元組中第二個(gè)元素排序。sort()方法的第二參數(shù)表示是按哪種方式排序,若為“reverse=True”表示按降序排序;若該參數(shù)缺省或“reverse=False”,表示按升序排序。即按照列表ls中每個(gè)元組中的第2個(gè)元素(次數(shù))降序排序。排序后,通過(guò)一個(gè)for循環(huán),遍歷列表ls中的每個(gè)元組,每個(gè)元組的第1個(gè)元素(關(guān)鍵詞)和第2個(gè)元素(次數(shù))通過(guò)“:”連接,并添加換行符后,寫(xiě)入到文件“out2.txt”中。49.下列敘述中正確的是()。(A)進(jìn)程調(diào)度也負(fù)責(zé)對(duì)內(nèi)存進(jìn)行分配(B)進(jìn)程調(diào)度負(fù)責(zé)對(duì)計(jì)算機(jī)系統(tǒng)中的所有系統(tǒng)資源進(jìn)行分配(C)進(jìn)程調(diào)度僅負(fù)責(zé)對(duì)CPU進(jìn)行分配(D)進(jìn)程調(diào)度也負(fù)責(zé)對(duì)外存進(jìn)行分配【答案】C【解析】進(jìn)程調(diào)度就是按一定策略動(dòng)態(tài)地把CPU分配給處于就緒隊(duì)列中的某一進(jìn)程并使之執(zhí)行的過(guò)程。進(jìn)程調(diào)度亦可稱為處理器調(diào)度或低級(jí)調(diào)度,相應(yīng)的進(jìn)程調(diào)度程序可稱為分配程序或低級(jí)調(diào)度程序。因此,程調(diào)度僅負(fù)責(zé)對(duì)CPU進(jìn)行分配。本題答案為C選項(xiàng)。50.在計(jì)算機(jī)內(nèi)部表示指令和數(shù)據(jù)應(yīng)采用()。(A)ASCII碼(B)二進(jìn)制與八進(jìn)制(C)二進(jìn)制、八進(jìn)制、與十六進(jìn)制(D)二進(jìn)制【答案】D【解析】計(jì)算機(jī)內(nèi)部采用二進(jìn)制來(lái)表示指令和數(shù)據(jù)。本題答案為D選項(xiàng)。51.下列排序法中,每經(jīng)過(guò)一次元素的交換會(huì)產(chǎn)生新的逆序的是()。(A)快速排序(B)冒泡排序(C)簡(jiǎn)單插入排序(D)簡(jiǎn)單選擇排序【答案】A【解析】在一個(gè)排列中,如果一對(duì)數(shù)的前后位置與大小N順序相反,即前面的數(shù)大于后面的數(shù),那么它們就稱為一個(gè)逆序。快速排序的思想是:從線性表中選取一個(gè)元素,設(shè)為T,將線性表中后面小于T的元素移到前面,而前面大于T的元素移到后面,結(jié)果就將線性表分成兩部分(稱兩個(gè)子表),T插入到其分割線的位置處,這個(gè)過(guò)程稱為線性表的分割,然后再用同樣的方法對(duì)分割出的子表再進(jìn)行同樣的分割??焖倥判虿皇菍?duì)兩個(gè)相鄰元素進(jìn)行比較,可以實(shí)現(xiàn)通過(guò)一次交換而消除多個(gè)逆序,但由于均與T(基準(zhǔn)元素)比較,也可能會(huì)產(chǎn)生新的逆序。本題答案為A選項(xiàng)。52.某帶鏈的隊(duì)列初始狀態(tài)為front=rear=NULL。經(jīng)過(guò)一系列正常的入隊(duì)與退隊(duì)操作后,front=rear=10。該隊(duì)列中的元素個(gè)數(shù)為()。(A)0(B)1(C)1或0(D)不確定【答案】B【解析】帶鏈的隊(duì)列是采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)表示的隊(duì)列。鏈?zhǔn)酱鎯?chǔ)的存儲(chǔ)單元是不連續(xù)的,因?yàn)槭遣贿B續(xù)的存儲(chǔ)空間,所以指針將不會(huì)有規(guī)律地連續(xù)變化。當(dāng)front=rear=NULL時(shí),為隊(duì)空;當(dāng)front=rear且不等于NULL時(shí),隊(duì)列中存在一個(gè)元素,其他情況無(wú)法判斷。本題答案為B選項(xiàng)。53.某完全二叉樹(shù)按層次輸出(同一層從左到右)的序列為ABCDEFGH。該完全二叉樹(shù)的中序序列為()(A)ABDHECFG(B)ABCDEFGH(C)HDBEAFCG(D)HDEBFGCA【答案】C【解析】完全二叉樹(shù)是指除最后一層外,每一層上的節(jié)點(diǎn)數(shù)均達(dá)到最大值,在最后一層上只缺少右邊的若干節(jié)點(diǎn)。完全二叉樹(shù)按層次輸出的序列為ABCDEFGH,則二叉樹(shù)如下圖所示。該二叉樹(shù)的中序序列為HDBEAFCG。本題答案為C選項(xiàng)。
54.需求分析階段產(chǎn)生的主要文檔是()。(A)數(shù)據(jù)流圖和數(shù)據(jù)字典(B)初步的用戶手冊(cè)(C)確認(rèn)測(cè)試計(jì)劃(D)需求規(guī)格說(shuō)明書(shū)【答案】D【解析】需求分析階段的工作可以分為4個(gè)方面:需求獲取、需求分析、需求規(guī)格說(shuō)明書(shū)編寫(xiě)和需求評(píng)審。本題答案為D選項(xiàng)。55.軟件測(cè)試用例包括()。(A)輸入數(shù)據(jù)和輸出數(shù)據(jù)(B)測(cè)試計(jì)劃和測(cè)試數(shù)據(jù)(C)被測(cè)程序和測(cè)試規(guī)程(D)輸入數(shù)據(jù)和預(yù)期輸出結(jié)果【答案】D【解析】測(cè)試用例(TestCase)是為測(cè)試設(shè)計(jì)的數(shù)據(jù),由測(cè)試輸入數(shù)據(jù)和與之對(duì)應(yīng)的預(yù)期輸出結(jié)構(gòu)兩部分組成。本題答案為D選項(xiàng)。56.對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的存儲(chǔ)方式和物理結(jié)構(gòu)的邏輯進(jìn)行描述的是()。(A)模式(B)內(nèi)模式(C)外模式(D)用戶模式【答案】B【解析】概念模式也稱為模式,是數(shù)據(jù)庫(kù)系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,全體用戶的公共數(shù)據(jù)視圖。外模式也稱子模式或者用戶模式,是用戶的數(shù)據(jù)視圖,也就是用戶所能夠看見(jiàn)和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。內(nèi)模式又稱物理模式,是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示方式。本題答案為B選項(xiàng)。57.一名員工可以使用多臺(tái)計(jì)算機(jī),每臺(tái)計(jì)算機(jī)只能由一名員工使用,則實(shí)體員工和計(jì)算機(jī)間的聯(lián)系是()。(A)一對(duì)一(B)一對(duì)多(C)多對(duì)多(D)多對(duì)一【答案】B【解析】一名員工可以使用多臺(tái)計(jì)算機(jī),一臺(tái)計(jì)算機(jī)只能由一名員工使用,則員工和計(jì)算機(jī)之間的聯(lián)系是一對(duì)多。員工是一的一方,計(jì)算機(jī)是多的一方。本題答案為B選項(xiàng)。58.表示學(xué)生選修課程的關(guān)系模式是SC(S#,C#,G),其中S#為學(xué)號(hào),C#為課程號(hào),G為成績(jī),檢索選修了課程號(hào)為2的課且成績(jī)不及格的學(xué)生學(xué)號(hào)的表達(dá)式是()。(A)πS#(σC#=2∧G<60(SC))(B)σG<60(SC)(C)σC#=2∧G<60(SC)(D)πS#(σC#=2(SC))【答案】A【解析】檢索課程號(hào)為2且成績(jī)不及格是選擇行,用σ操作;檢索學(xué)號(hào)是選擇列(投影),用π操作,則在表達(dá)式中應(yīng)同時(shí)存在π和σ,B、C兩項(xiàng)錯(cuò)誤。D選項(xiàng)進(jìn)行的選擇運(yùn)算只滿足了條件課號(hào)為2,沒(méi)有滿足條件成績(jī)不及格,D選項(xiàng)錯(cuò)誤。本題答案為A選項(xiàng)。59.以下可以替代#用來(lái)當(dāng)作Python語(yǔ)言注釋的語(yǔ)法元素是()。(A)字符串類型(B)print()函數(shù)(C)input()函數(shù)(D)eval()函數(shù)【答案】A【解析】在Python語(yǔ)言中常用的注釋方法有兩種,#注釋和三引號(hào)注釋,其中三引號(hào)注釋就是將注釋內(nèi)容修飾為字符串類型。60.如果Python程序執(zhí)行時(shí)產(chǎn)生了“unexpectedindent”錯(cuò)誤,其原因可能是()。(A)代碼使用了錯(cuò)誤的保留字(B)代碼縮進(jìn)不正確(C)代碼變量未賦初值(D)代碼進(jìn)入了死循環(huán)狀態(tài)【答案】B【解析】“unexpectedindent”翻譯成中文就是意外縮進(jìn),也就是程序中含有不符合編碼要求的縮進(jìn)。61.以下不是Python保留字的是()。(A)except(B)in(C)none(D)continue【答案】C【解析】保留字,也稱關(guān)鍵字,是指被編程語(yǔ)言內(nèi)部定義并保留使用的標(biāo)識(shí)符。Python3.x版本中有35個(gè)保留字,分別)為:and,as,assert,async,await,break,class,continue,def,del,elif,else,except,F(xiàn)alse,finally,for,from,global,if,import,in,is,lambda,None,nonlocal,not,or,pass,raise,return,True,try,while,with,yield。本題選A選項(xiàng)。62.表達(dá)式eval("print(1+2)")的結(jié)果是()。(A)3(B)"print(1+2)"(C)print(1+2)(D)1+2【答案】A【解析】eval()函數(shù)將字符串最外層引號(hào)內(nèi)的內(nèi)容當(dāng)做表達(dá)式執(zhí)行,題目中引號(hào)內(nèi)的內(nèi)容是print(1+2),所以相當(dāng)于執(zhí)行輸出語(yǔ)句print(1+2),最后輸出3。63.以下不是Python語(yǔ)言特點(diǎn)的是()。(A)運(yùn)行速度快(B)支持面向過(guò)程和面向?qū)ο缶幊蹋–)語(yǔ)法簡(jiǎn)潔(D)生態(tài)龐大【答案】A【解析】Python語(yǔ)言,簡(jiǎn)單易學(xué)、語(yǔ)法簡(jiǎn)潔、生態(tài)龐大、同時(shí)支持面向過(guò)程和面向?qū)ο?,但由于自身屬于解釋型語(yǔ)言,運(yùn)行速度相對(duì)較慢。64.以下程序執(zhí)行結(jié)果是()。importtimetype(time.ctime())(A)<class"int">(B)<class"float">(C)<class"str">(D)True【答案】C【解析】time庫(kù)中ctime()函數(shù)是生成一個(gè)時(shí)間的字符串,而type()函數(shù)是返回參數(shù)的數(shù)據(jù)類型,所以選擇C選項(xiàng)。65.表達(dá)式min([3,2,1])的結(jié)果是()。(A)3(B)[1](C)[3,2,1](D)1【答案】D【解析】min()函數(shù)是返回參數(shù)中的最小值,列表[3,2.1]的最小值是1,所以選擇D選項(xiàng)。66.表達(dá)式"Python編程是方向"[2:-2]的結(jié)果是()。(A)thon編程是方(B)thon編程是(C)ython編程是(D)ython編程是方【答案】B【解析】本題表達(dá)式作用是字符串的切片,將字符串"Python編程是方向"通過(guò)[2:-2]進(jìn)行切片,所以結(jié)果是"thon編程是"。67.在Python語(yǔ)言中,整數(shù)999的二進(jìn)制、八進(jìn)制、十六進(jìn)制表達(dá)形式分別是()。(A)b1111100111,o1747,x3e7(B)1111100111,1747,3e7(C)0b1111100111,0o1747,0x3e7(D)B1111100111,O1747,X3e7【答案】C【解析】在Python語(yǔ)言中二進(jìn)制、八進(jìn)制、十六進(jìn)制分別需要使用0b、0o、0x來(lái)作為前綴,并且經(jīng)過(guò)計(jì)算999的各進(jìn)制表現(xiàn)形式分別為0b11110111,0o17468.Python使用for和in的組合表達(dá)遍歷循環(huán),不能被遍歷的數(shù)據(jù)類型是()。(A)復(fù)數(shù)類型(B)元組類型(C)字典類型(D)字符串類型【答案】A【解析】在Python語(yǔ)言中,遍歷循環(huán)中被遍歷的數(shù)據(jù)需為多元素類型,最常見(jiàn)的如:字符串、列表、元組、字典或集合等。69.以下關(guān)于random庫(kù)的描述錯(cuò)誤的是()。(A)使用random庫(kù)可以用importrandom方式引入(B)random.seed()可用于初始化隨機(jī)數(shù)種子,用于隨機(jī)數(shù)序列再現(xiàn)(C)random.randint(將產(chǎn)生一個(gè)隨機(jī)整數(shù)(D)random()庫(kù)產(chǎn)生在0到1之間真正的隨機(jī)數(shù)【答案】D【解析】導(dǎo)入random庫(kù)一般由三種方式①importrandom,②importrandomast,③fromrandomimport*;seed()函數(shù)設(shè)置隨機(jī)數(shù)種子,可以選擇不同的序列進(jìn)行展示,一般用于隨機(jī)數(shù)序列再現(xiàn);randint()函數(shù)用于產(chǎn)生一個(gè)隨機(jī)整數(shù);random()庫(kù)是采用梅森旋轉(zhuǎn)算法生成的偽隨機(jī)數(shù)序列,并不是現(xiàn)實(shí)意義上的隨機(jī)數(shù)。70.以下不能判斷變量x在字符串變量s中的方法是()。(A)len(s.split(x))(B)s.count(x)(C)xins(D)s.strip(x)【答案】D【解析】count()方法用于計(jì)算變量x在字符串s中出現(xiàn)的次數(shù),返回值大于0即代表存在;in操作符可以判斷x是否存在s中,返回值為True即代表存在;split()方法將字符串s通過(guò)x分隔成列表,在通過(guò)len()函數(shù)計(jì)算列表長(zhǎng)度,返回值大于1即代表存在;strip()方法僅能去除字符串首尾兩端的x,無(wú)法進(jìn)行判斷。71.以下代碼的輸出結(jié)果是()。ls=[2018,2019,2020]print(",".join(ls))(A)2018,2019,2020(B)TypeError錯(cuò)誤(C)201820192020(D)2018,2019,2020,【答案】B【解析】觀察題目中程序,join()方法需要組合數(shù)據(jù)內(nèi)部的元素是字符串類型,而程序中列表內(nèi)是數(shù)字類型,所以會(huì)出現(xiàn)錯(cuò)誤。72.以下不是文件讀寫(xiě)方法的是()。(A)read()(B)readline()(C)writeline()(D)write()【答案】C【解析】在Python語(yǔ)言中,讀文件的方法有read()、readline()、readlines(),寫(xiě)文件的方法有write()、writelines()。73.以下關(guān)于Python函數(shù)的說(shuō)法,錯(cuò)誤的是()。(A)每個(gè)Python函數(shù)至少包含一個(gè)return語(yǔ)句,如果沒(méi)有返回參數(shù),直接用return(B)通過(guò)給部分函數(shù)參數(shù)賦默認(rèn)值,可以實(shí)現(xiàn)可選參數(shù)傳遞(C)調(diào)用函數(shù)時(shí),可以通過(guò)向參數(shù)名稱賦值而不考慮參數(shù)順序(D)Python函數(shù)可以同時(shí)返回多個(gè)值【答案】A【解析】Python中函數(shù)可以沒(méi)有return語(yǔ)句,也可以通過(guò)return語(yǔ)句返回一個(gè)或多個(gè)值;在創(chuàng)建函數(shù)的時(shí)候可以設(shè)置參數(shù)默認(rèn)值,之后在調(diào)用函數(shù)時(shí),便可以實(shí)現(xiàn)可選參數(shù)傳遞;在調(diào)動(dòng)函數(shù)時(shí),可以通過(guò)關(guān)鍵字傳參的方式(向形參名賦值),此時(shí)不用考慮傳參順序。74.關(guān)于數(shù)據(jù)維度,以下選項(xiàng)中描述錯(cuò)誤的是()。(A)列表類型可以表示二維數(shù)據(jù)(B)集合類型可以表示一維數(shù)據(jù)(C)字典類型可以表示一二維數(shù)據(jù)(D)字典可以表示高維數(shù)據(jù)【答案】C【解析】在Python語(yǔ)言中,列表可以表示一二維數(shù)據(jù),集合可以表示一維數(shù)據(jù),字典一般表示高維數(shù)據(jù)。75.關(guān)于Python的循環(huán)控制,以下描述錯(cuò)誤的是()。(A)continue將結(jié)束當(dāng)次循環(huán)(B)break和continue可以用于遍歷循環(huán)和無(wú)限循環(huán)(C)else也可以與循環(huán)搭配使用(D)break將退出所有層次的循環(huán)【答案】D【解析】break和continue僅適用于循環(huán)結(jié)構(gòu),區(qū)別在于break跳出當(dāng)前循環(huán)模塊,而continue會(huì)繼續(xù)判斷下個(gè)條件或遍歷下一個(gè)元素,兩者都僅作用于一層循環(huán),循環(huán)中還有擴(kuò)展模式可以與else聯(lián)用。76.以下對(duì)Python語(yǔ)言定位的表述正確的是()。(A)數(shù)據(jù)分析專用語(yǔ)言(B)編譯型語(yǔ)言(C)解釋型腳本語(yǔ)言(D)機(jī)器語(yǔ)言【答案】C【解析】Python語(yǔ)言是高級(jí)腳本語(yǔ)言,采用解釋型方式執(zhí)行,且自身屬于一門通用語(yǔ)言可以完成各種不同的工作。77.在time庫(kù)中,可以進(jìn)行程序計(jì)時(shí)的函數(shù)是()。(A)perf_counter()(B)sleep()(C)strftime()(D)strptime()【答案】A【解析】time庫(kù)中perf_counter()函數(shù)一般用于計(jì)時(shí);sleep()函數(shù)用于暫停程序執(zhí)行;strftime()和strptime()都是用于顯示時(shí)間。78.使用pip指令安裝第三方庫(kù)wordcloud的命令是()。(A)installpipwordcloud(B)pipinstallwordcloud(C)pipwordcloud(D)installwordcloudpip【答案】B【解析】使用pip安裝模塊的命令是pipinstall模塊名。所以選擇B選項(xiàng)。79.執(zhí)行以下程序,并輸入"0"時(shí),輸出結(jié)果是()。try:b=eval(input(’請(qǐng)輸入一個(gè)正整數(shù):’))print(100/b)exceptZeroDivisionError:print("錯(cuò)誤1")except:print("錯(cuò)誤2")(A)錯(cuò)誤2(B)錯(cuò)誤1(C)100(D)2.0833333333333335【答案】B【解析】當(dāng)輸入0時(shí),eval()函數(shù)將字特串“0”轉(zhuǎn)化為數(shù)字0,然后執(zhí)行print()語(yǔ)句內(nèi)部的100/0,0不能作為除數(shù),所以會(huì)產(chǎn)生異常ZeroDisionEror,所以執(zhí)行print("錯(cuò)誤1")。80.以下語(yǔ)句的執(zhí)行結(jié)果是()。d={1:10,2:2,3:100}print(d.get(3,99))(A)99(B)100(C)10(D)2【答案】B【解析】本題主要考核字典的get()方法,get()方法從字典中尋找對(duì)應(yīng)參數(shù)的鍵,找到即返回對(duì)應(yīng)的值,找不到即返回自身的第二個(gè)參數(shù)。題目中尋找3對(duì)應(yīng)的鍵,可以發(fā)現(xiàn)字典中有3這個(gè)鍵,所以返回3對(duì)應(yīng)的值,即為100。81.以下程序的輸出結(jié)果是()。defmaxmin(a=10,b=5,c=2):returnmax(a,b,c)+min(a,b,c)print(maxmin(1,b=10))(A)7(B)6(C)11(D)12【答案】C【解析】題目中定義函數(shù)maxmin(),使用3個(gè)含有默認(rèn)值的形參,函數(shù)返回值為三個(gè)值中的最大值加上最小值。調(diào)用函數(shù),傳入兩個(gè)實(shí)參,一個(gè)位置參數(shù)傳遞給a,一個(gè)關(guān)鍵字參數(shù)傳遞給b,運(yùn)行函數(shù)比較大小,得到最大值10加上最小值1,所以答案為11。82.以下程序的輸出結(jié)果是()。d={"A":10,"B":2,"C":100,"D":9,"E":-10}s=0foriind:ifd[i]>2:continues+=d[i]print(s)(A)111(B)119(C)121(D)-8【答案】D【解析】題中程序遍歷字典d,變量i依次是"A"、"B"、"C"、"D"、"E",內(nèi)部分支語(yǔ)句對(duì)字典d的值進(jìn)行判斷,如果鍵i對(duì)應(yīng)的值大于2,則不執(zhí)行后面語(yǔ)句,直接遍歷下一個(gè)元素,最后循環(huán)結(jié)束,s=-8。83.變量ls=[1,2,3,4,5,6,7,8,9],以下執(zhí)行結(jié)果是123456789的選項(xiàng)是()。(A)print("".join(str(ls).strip("[]").split(".")))(B)print("".join(str(ls)))(C)print("".join(ls))(D)print("".join(str(ls).split(",")))【答案】A【解析】A選項(xiàng),先將列表ls通過(guò)str()函數(shù)轉(zhuǎn)化為字符串形式"[1,2,3,4,5,6,7,8,9]",然后用strip()方法去除首尾的中括號(hào),得到"1,2,3,4,5,6,7,8,9",接下來(lái)通過(guò)split()方法以逗號(hào)切割成列表[’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’],最后使用join()方法拼接,即可得到字符串"123456789";B選項(xiàng),先將列表ls通過(guò)str()函數(shù)轉(zhuǎn)化為字符串形式"[1,2,3,4,5,6,7,8,9]",直按調(diào)用join()方法,字符串不會(huì)有任何改變;C選項(xiàng),直接通過(guò)join()方法拼接列表ls,但是因?yàn)榱斜韮?nèi)的數(shù)據(jù)不是字符串,所以會(huì)報(bào)錯(cuò);D選項(xiàng),先將列表ls通過(guò)str()函數(shù)轉(zhuǎn)化為字符串形式"[1,2,3,4,5,6,7,8,9]",接下來(lái)通過(guò)split()方法以逗號(hào)切割成列表[’[1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9]’],最后通過(guò)join()方法拼接得到[123456789]。所以選擇A選項(xiàng)。84.以下程序的輸出結(jié)果是()。s=["seashell","gold","pink","brown","purple","tomato"]print(len(s),min(s),max(s))(A)5pinkbrown(B)6seashellgold(C)6browntomato(D)5purpletomato【答案】C【解析】本題主要考核Python語(yǔ)言的內(nèi)置函數(shù)的功能,len()函數(shù)返回?cái)?shù)據(jù)的長(zhǎng)度;min()函數(shù)返回?cái)?shù)據(jù)的最小值;max()函數(shù)返回?cái)?shù)據(jù)的最大值。觀察數(shù)據(jù)可以知道len()函數(shù)返回的是6,min()函數(shù)返回的是"brown",max()函數(shù)返回的是"tomato"。85.補(bǔ)充以下程序,輸出隨機(jī)列表元素的最大值的選項(xiàng)是()。importrandomasrlistV=[]r.seed(100)foriinrange(10):i=r.randint(100,999)listV.a(chǎn)ppend(i)(A)print(max(listV))(B)print(listV.max())(C)print(listV.pop(i))(D)print(listV.reverse(i))【答案】A【解析】本題考核列表的操作方法及操作函數(shù),max()函數(shù)返回?cái)?shù)據(jù)的最大值:max()方法不存在;pop()方法隨機(jī)刪除一個(gè)元素,并返回;reverse()方法將列表逆序,所以選擇A選項(xiàng)。86.以下不是Python深度學(xué)習(xí)方向的第三方庫(kù)是()。(A)PyTorch(B)requests(C)MXNet(D)Keras【答案】B【解析】requests是網(wǎng)絡(luò)爬蟲(chóng)方向的第三方庫(kù),其他皆為深度學(xué)習(xí)方向的第三方庫(kù)。87.以下不是PythonWeb開(kāi)發(fā)方向第三方庫(kù)的是()。(A)flask(B)Pyramid(C)PyQt5(D)Django【答案】C【解析】PyQt5是圖形界面方向的第三方庫(kù),其他皆為Web開(kāi)發(fā)方向的第三方庫(kù)。88.以下不是Python數(shù)據(jù)可視化方向第三方庫(kù)是()。(A)vispy(B)matplotlib(C)ggplot(D)TimeSide【答案】D【解析】TimeSide是網(wǎng)絡(luò)音頻處理框架,其他皆為數(shù)據(jù)可視化方向的第三方庫(kù)。基本編程題89.在考生文件夾下有個(gè)文件PY101.py,在橫線處填寫(xiě)代碼,完成如下功能。接收用戶輸入的一個(gè)大于10小于108的十進(jìn)制正整數(shù),輸出這個(gè)正整數(shù)各字符的和,以25為寬度,居中顯示,采用等號(hào)=填充。例如:輸入:1357輸出:===========16============##在____________上補(bǔ)充代碼#s=input("請(qǐng)輸入一個(gè)正整數(shù):")____________forcins:cs+=____________print(’{____________}’.format(cs))【答案】s=input("請(qǐng)輸入一個(gè)正整數(shù):")cs=0forcins:cs+=eval(c)print(’{:=^25}’.format(cs))【解析】觀察文件已有的程序,在循環(huán)中出現(xiàn)未定義變量cs,且用了+=操作符,則應(yīng)在循環(huán)外先設(shè)置cs變量,且本題計(jì)算各位之和,所以cs初始值應(yīng)設(shè)置為0,即第1空填入cs=0;在循環(huán)中計(jì)算各位之和,因?yàn)閟是字符串,所以c也是字符串,在累加的過(guò)程中,應(yīng)將c轉(zhuǎn)化為數(shù)字,即第2空填入eva1(c);最后根據(jù)題目要求對(duì)format()方法的槽內(nèi)的格式字符串進(jìn)行編寫(xiě),按順序依次為引導(dǎo)符號(hào)“:”,填充字符“=”,對(duì)齊方式居中“^”,填充寬度“25”,即第3空應(yīng)填入:=^25。90.在考生文件夾下有個(gè)文件PY102.py,在橫線處填寫(xiě)代碼,完成如下功能。接收用戶輸入的數(shù)據(jù),該數(shù)據(jù)僅由字母和中文混合構(gòu)成,無(wú)其他類型字符,統(tǒng)計(jì)并輸出中文字符出現(xiàn)的個(gè)數(shù),示例如下:輸入:world世界peace和平輸出:4##在____________上補(bǔ)充代碼#s=input("請(qǐng)輸入中文和字母的組合:")____________forcins:if____________:count+=1print(count)【答案】s=input("請(qǐng)輸入中文和字母的組合:")count=0forcins:if’\u4e00’<=c<=’\u9fff’:count+=1print(count)【解析】題目要求計(jì)算中文字符的個(gè)數(shù),首先要了解如何去判斷中文字符,在Python中中文字符的編碼范圍都處于“\u4e00”到“\u9fff”之間,所以利用分支語(yǔ)句直接進(jìn)行判斷即可,第1空,設(shè)置計(jì)數(shù)的變量count初始值,所以填入count=0;第2空填入判斷條件,即’\u4e00’<=c<=’\u9fff’。91.在考生文件夾下有個(gè)文件PY103.py,在橫線處填寫(xiě)代碼,完成如下功能。接收用戶輸入的以英文逗號(hào)分隔的一組數(shù)據(jù),其中,每個(gè)數(shù)據(jù)都是整數(shù)或浮點(diǎn)數(shù),打印輸出這組數(shù)據(jù)中的最大值。例如:輸入:1,3,5,7,9,7,5,3,1輸出:9##在____________上補(bǔ)充代碼#s=input("請(qǐng)輸入一組數(shù)據(jù):")ls=____________lt=[]foriinls:lt.a(chǎn)ppend(____________)print(max(lt))【答案】s=input("請(qǐng)輸入一組數(shù)據(jù):")ls=s.split(’,’)lt=[]foriinls:lt.a(chǎn)ppend(eval(i))print(max(lt))【解析】根據(jù)題目要求,輸入的數(shù)據(jù)是通過(guò)逗號(hào)分隔的數(shù)字,所以第1空使用字符串的split()方法對(duì)元素進(jìn)行切割,在循環(huán)當(dāng)中,將元素循環(huán)遍歷出來(lái),并加入到另一個(gè)列表當(dāng)中,因?yàn)橐獙?duì)各數(shù)值大小進(jìn)行比對(duì),所以要轉(zhuǎn)化成數(shù)字類型,才能正常的比較大小,即第2空填入eva1(i)。92.在考生文件夾下有個(gè)文件PY202.py,在省略號(hào)處填寫(xiě)一行或多行代碼,完成如下功能。同時(shí),在考生文件夾下有個(gè)文件data.txt,其中記錄了2019年QS全球大學(xué)排名前20名的學(xué)校信息,示例如下:1,麻省理工學(xué)院,美國(guó)2,斯坦福大學(xué),美國(guó)3,哈佛大學(xué),美國(guó)…第一列為排名,第2列為學(xué)校名稱,第3列為學(xué)校所屬的國(guó)家,字段之間用逗號(hào)’,’隔開(kāi)。程序讀取data.txt文件內(nèi)容,統(tǒng)計(jì)出現(xiàn)的國(guó)家個(gè)數(shù)以及每個(gè)國(guó)家上榜大學(xué)的數(shù)量及名稱,輸出結(jié)果格式示例如下:英國(guó):5:牛津大學(xué)劍橋大學(xué)帝國(guó)理工學(xué)院倫敦大學(xué)學(xué)院愛(ài)丁堡大學(xué)瑞士:1:蘇黎世聯(lián)邦理工學(xué)院…##在……上補(bǔ)充一行或多行代碼#在____________上補(bǔ)充一行代碼#可以修改代碼#f=open(’data.txt’,’r’)____________forlineinf:……fordinunis:print(’{:>4}:{:>4}:{}’.format(____________))【答案】f=open(’data.txt’,’r’)dic={}forlineinf:line=line.strip().split(’,’)iflen(line)<3:continuedic[line[-1]]=dic.get(line[-1],[])+[line[1]]unis=list(dic.items())f.close()fordinunis:print(’{:>4}:{:>4}:{}’.format(d[0],len(d[1]),’’.join(d[1])))【解析】本題主要考核文件內(nèi)容的處理,首先觀察文件內(nèi)數(shù)據(jù),每行內(nèi)容依次是序號(hào)、大學(xué)、所在國(guó)家,數(shù)據(jù)之間用逗號(hào)隔開(kāi)。題目要求,輸出國(guó)家名稱,對(duì)應(yīng)國(guó)家大學(xué)的數(shù)量及大學(xué)名稱。程序中已給出部分代碼,功能主要為對(duì)文件內(nèi)容遍歷,輸出的格式控制,所以需要編寫(xiě)獲取大學(xué)數(shù)量,首先計(jì)算對(duì)應(yīng)國(guó)家的大學(xué)數(shù)量采用字典計(jì)數(shù)的方法,先定義空字典dic,在循環(huán)內(nèi)部對(duì)讀取的數(shù)據(jù)進(jìn)行處理,將每行數(shù)據(jù)去除換行符并根據(jù)逗號(hào)分割存儲(chǔ)在列表l中,對(duì)l的長(zhǎng)度進(jìn)行判斷,只要小于3,則代表此行并沒(méi)有足夠的數(shù)據(jù),便使用continue放棄此行數(shù)據(jù),然后使用鍵賦值的方法,并用get()方法確定鍵對(duì)應(yīng)的值有無(wú)數(shù)據(jù),此時(shí)字典dic存儲(chǔ)的數(shù)據(jù)格式類似于{’國(guó)家名’:[’大學(xué)名’,’大學(xué)名’,……]},依次執(zhí)行循環(huán),將所有大學(xué)信息存儲(chǔ)到字典dic中,接下來(lái)以字典dic的數(shù)據(jù)采用items()方法數(shù)據(jù)創(chuàng)建列表unis,列表unis的數(shù)據(jù)格式類似于[(’國(guó)家名’,[’大學(xué)名’,’大學(xué)名’……]),(’國(guó)家名’,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年福建事業(yè)單位復(fù)習(xí)考點(diǎn)試題及答案
- 2025年4月自考00323西方行政學(xué)說(shuō)史押題及答案
- 精神病知識(shí)培訓(xùn)課件
- 吊裝安全協(xié)議
- 二零二五業(yè)務(wù)提成合同
- 人力資源的勞動(dòng)合同模板
- 二零二五版高檔酒店租賃合同
- 保密協(xié)議書(shū)范例二零二五年
- 電商團(tuán)隊(duì)合作的協(xié)議書(shū)二零二五年
- 購(gòu)銷合同范例
- 機(jī)器人輔助腹腔鏡腹膜外根治性膀胱全切除課件
- 七年級(jí)英語(yǔ)上冊(cè)用所給詞的適當(dāng)形式填空
- ANSCO智能巡檢機(jī)器人
- 室內(nèi)設(shè)計(jì)服務(wù)內(nèi)容及設(shè)計(jì)深度要求
- 全文解讀2022年新制訂《農(nóng)村集體經(jīng)濟(jì)組織財(cái)務(wù)制度》PPT課件
- 物業(yè)公司組織架構(gòu)
- 繪本《大大行我也行》PPT
- 設(shè)計(jì)輸入和參考現(xiàn)有平臺(tái)技術(shù)協(xié)議222m helideck proposal for gshi
- 小學(xué)生A4日記本打印版(田字格+拼音格)(共1頁(yè))
- 北京市教育委員會(huì)關(guān)于建立民辦學(xué)校辦學(xué)情況年度報(bào)告制度的通知
- 橋墩尺寸經(jīng)驗(yàn)值
評(píng)論
0/150
提交評(píng)論