國家二級(Python)機試模擬試卷9(共269題)_第1頁
國家二級(Python)機試模擬試卷9(共269題)_第2頁
國家二級(Python)機試模擬試卷9(共269題)_第3頁
國家二級(Python)機試模擬試卷9(共269題)_第4頁
國家二級(Python)機試模擬試卷9(共269題)_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

國家二級(Python)機試模擬試卷9(共6套)(共269題)國家二級(Python)機試模擬試卷第1套一、單項選擇題(本題共40題,每題1.0分,共40分。)1、過程控制系統(tǒng)屬于()。A、批處理系統(tǒng)B、實時系統(tǒng)C、分時系統(tǒng)D、多道程序系統(tǒng)系統(tǒng)標(biāo)準(zhǔn)答案:B知識點解析:實時操作系統(tǒng)是指當(dāng)外界事件或數(shù)據(jù)產(chǎn)生時,系統(tǒng)能夠接收并以足夠快的速度予以處理和響應(yīng),能夠控制所有任務(wù)協(xié)調(diào)一致運行。目前有3種典型的實時系統(tǒng):過程控制系統(tǒng)(如工業(yè)生產(chǎn)自動控制、航空器飛行控制和航天器發(fā)射控制)、信息查詢系統(tǒng)(如倉庫管理系統(tǒng)、圖書資料查詢系統(tǒng))和事務(wù)處理系統(tǒng)(如飛機或鐵路訂票系統(tǒng)、銀行管理系統(tǒng))。本題答案為B選項。2、下列敘述中正確的是()。A、地址重定位方式包括靜態(tài)地址重定位和動態(tài)地址重定位B、地址重定位要求程序必須占用連續(xù)固定的內(nèi)存空間C、地址重定位是在程序執(zhí)行期間進行的D、地址重定位是在程序執(zhí)行之前進行的標(biāo)準(zhǔn)答案:A知識點解析:地址重定位建立用戶程序的邏輯地址與物理地址之間的對應(yīng)關(guān)系,實現(xiàn)方式包括靜態(tài)地址重定位和動態(tài)地址重定位。靜態(tài)地址重定位是在程序執(zhí)行之前由操作系統(tǒng)的重定位裝入程序完成,程序必須占用連續(xù)的內(nèi)存空間,且一旦裝入內(nèi)存后,程序不便于移動。動態(tài)地址重定位在程序執(zhí)行期間進行,由專門的硬件機構(gòu)來完成,通常采用一個重定位寄存器,在每次進行存儲訪問時,將取出的邏輯地址加上重定位寄存器的內(nèi)容形成物理地址。動態(tài)地址重定位的優(yōu)點是不要求程序裝入固定的內(nèi)存空間,在內(nèi)存中允許程序再次移動位置,而且可以部分地裝入程序運行,同時也便于多個作業(yè)共享同一程序的副本。本題答案為A選項。3、設(shè)表的長度為15。則在最壞情況下,快速排序所需要的比較次數(shù)為()。A、15B、55C、75D、105標(biāo)準(zhǔn)答案:D知識點解析:對長度為n的線性表進行快速排序,最壞情況下需要比較的次數(shù)為n(n-1)/2。故對長度為15的線性表進行快速排序,最壞情況下需要比較的次數(shù)為15(15-1)/2=105。本題答案為D選項。4、某二叉樹的后序遍歷序列與中序遍歷序列相同,均為ABCDEF,則按層次輸出(同一層從左到右)的序列為()。A、ABCDEFB、CBAFEDC、FEDCBAD、DEFCBA標(biāo)準(zhǔn)答案:C知識點解析:二叉樹遍通歷可以分為3種:前序遍歷(訪問根結(jié)點在訪問左子樹和訪問右子樹之前)、中序遍歷(訪問根結(jié)點在訪問左子樹和訪問右子樹兩者之間)、后序遍歷(訪問根結(jié)點在訪問左子樹和訪問右子樹之后),并且在遍歷左右子樹時也遵循同樣的規(guī)則。本題中,后序遍歷序列與中序遍歷序列均為ABCDEF,可確定該二叉樹的根結(jié)點為F,且每個結(jié)點均不存在右子樹,因此按層次輸出的序列應(yīng)為FEDCBA。本題答案為C選項。5、循環(huán)隊列的存儲空間為Q(1:200),初始狀態(tài)為front=rear=200。經(jīng)過一系列正常的入隊與退隊操作后,front=rear=1,則循環(huán)隊列中的元素個數(shù)為()。A、1B、2C、199D、0或200標(biāo)準(zhǔn)答案:D知識點解析:循環(huán)隊列長度為m,初始狀態(tài)為front=rear=m,此時循環(huán)隊列為空?,F(xiàn)經(jīng)過一系列入隊與退隊運算后,front=rear且不為m,此時循環(huán)隊列為隊滿或隊空,循環(huán)隊列中的元素個數(shù)為0或m。本題答案為D選項。6、數(shù)據(jù)流圖(DFD)中的有向箭頭(→)表示()。A、控制流B、數(shù)據(jù)流C、輸入流D、輸出流標(biāo)準(zhǔn)答案:B知識點解析:數(shù)據(jù)流圖中的主要圖形元素與說明如下表所示。本題答案為B選項。7、代碼編寫階段可進行的軟件測試是()。A、單元測試B、集成測試C、確認(rèn)測試D、系統(tǒng)測試標(biāo)準(zhǔn)答案:A知識點解析:單元測試也稱模塊測試,模塊是軟件設(shè)計的最小單位,單元測試是對模塊進行正確性的檢驗,以期盡早發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種錯誤,通常在編碼階段進行。本題答案為A選項。8、數(shù)據(jù)模型包括數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)完整性約束和()。A、查詢B、數(shù)據(jù)類型C、關(guān)系運算D、數(shù)據(jù)操作標(biāo)準(zhǔn)答案:D知識點解析:數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作及數(shù)據(jù)約束三部分組成。本題答案為D選項。9、在關(guān)系表中,屬性值必須是另一個表主鍵的有效值或空值,這樣的屬性是()。A、候選鍵B、外鍵C、主鍵D、主碼標(biāo)準(zhǔn)答案:B知識點解析:表M中的某屬性集是表N的候選鍵或者主鍵(主碼),則稱該屬性集為表M的外鍵或外碼。本題答案為B選項。10、現(xiàn)有表示患者和醫(yī)療的關(guān)系如下:P(P#,Pn,Pg,By),其中P#為患者編號,Pn為患者姓名,Pg為性別,By為出生日期,T(P#,D#,Date,Rt),其中D#為醫(yī)生編號,Date為就診日期,Rt為診斷結(jié)果。檢索在1號醫(yī)生處就診的病人姓名的表達(dá)式是()。A、πP#(σD#=1(Tr))B、πPn(P)C、πPn(TrP)D、πPn(πP#(σD#=1(Tr))P)標(biāo)準(zhǔn)答案:D知識點解析:檢索醫(yī)生編號為1是選擇行,用σ操作;檢索患者姓名是選擇列(投影),用π操作,則在表達(dá)式中應(yīng)同時存在π和σ,B、C兩項錯誤。A選項最后進行的投影運算檢索的是患者編號,不符合題意。本題答案為D選項。11、可以部署Python環(huán)境、運行Python腳本的系統(tǒng)是()。A、各操作系統(tǒng)平臺B、LinuxC、MacOSD、Windows標(biāo)準(zhǔn)答案:A知識點解析:Python語言是一個跨平臺的語言,所以可以運行在各種操作系統(tǒng)上。12、Python的運算符中**的作用是()。A、非法符號B、乘法運算C、操作數(shù)取平方D、冪運算標(biāo)準(zhǔn)答案:D知識點解析:**在Python語言中冪運算使用的,如3**2的運算結(jié)果是9,代表3的二次方。13、以下選項不是Python合法變量名的是()。A、_maxNumB、EvalC、2nd_tableD、VAL標(biāo)準(zhǔn)答案:C知識點解析:在Python中,變量名的命名規(guī)則:以字母或下劃線開頭,后面跟字母、下劃線和數(shù)字;不能以數(shù)字開頭。本題選擇C選項。14、表達(dá)式str(10/2)的結(jié)果是()。A、ValueErrorB、’5.0’C、’5’D、’10/2’標(biāo)準(zhǔn)答案:B知識點解析:str()函數(shù)是將參數(shù)轉(zhuǎn)化為字符串類型,題目中參數(shù)是10/2,計算結(jié)果為浮點數(shù)5.0,所以轉(zhuǎn)換的結(jié)果為’5.0’。15、以下語句的執(zhí)行結(jié)果是()。ls=[x**2forxinrange(5)]print(ls)A、[0,1,4,9,16]B、[2,4,6,8,10]C、[0,2,4,6,8]D、[1,4,9,16,25]標(biāo)準(zhǔn)答案:A知識點解析:本題考核列表生成式,通過for循環(huán)迭代0、1、2、3和4這幾個數(shù)字,然后將這幾個數(shù)字作為x進行x*2運算,最后將運算的結(jié)果存入列表。得到列表[0,1,4,9,16]。16、表達(dá)式min({3:7,10:5,1:6})的結(jié)果是()。A、6B、1C、5D、{1:6}標(biāo)準(zhǔn)答案:B知識點解析:min()函數(shù)返回參數(shù)中的最小值,對于字典類型使用字典的鍵來比較大小,返回值也為字典的鍵,所以最小的鍵為1。17、以下語句執(zhí)行結(jié)果是()。s=’HelloWorld’print(s[5::-2])A、drWB、olHC、WleD、loo標(biāo)準(zhǔn)答案:C知識點解析:本題考核的是字符串的切片,步長為負(fù)代表從后往前,起始點索引為5即代表從“W”開始切割,結(jié)束位置省略,代表切割剩下的所有位置,及從“W”,以步長為2,從后往前進行切割。最后結(jié)果為“Wle”18、以下語句執(zhí)行結(jié)果是()。s=’北京,上海,廣州,深圳,’print(s.strip(’,’).replace(’,’,’,’))A、北京;上海;廣州;深圳;B、北京上海廣州深圳C、北京;上海;廣州;深圳,D、北京;上海;廣州;深圳標(biāo)準(zhǔn)答案:D知識點解析:本題考核的是字符串的操作方法,首先字符串通過strip()方法去除首尾的逗號得到結(jié)果為“北京,上海,廣州,深圳”,然后通過replace()方法將逗號替換為分號,得到字符串為“北京;上海;廣州;深圳”,最后輸出即可。19、以下程序的輸出結(jié)果是()。importstringy1=’a’y2=’asdf’print(y1instring.printable,y2instring.printable)A、FalseTrueB、TrueFalseC、FalseFalseD、TrueTrue標(biāo)準(zhǔn)答案:B知識點解析:string模塊的printable是一個字符串包含所有的數(shù)字、英文字符和一些特殊字符,內(nèi)容如下:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\’()*+,-./:;<=>?@[\\]^_`{|}~\t\n\r\x0b\x0c"當(dāng)進行in操作的時候,進行子串匹配,"a"在printable中,但是"asdf"不在printable中,所以選擇B選項。20、以下關(guān)于控制結(jié)構(gòu)的描述,錯誤的是()。A、break也可用于跳出try-except控制塊B、break的功能是跳出當(dāng)前循環(huán)控制塊C、在for結(jié)構(gòu)中使用continue,會開始遍歷下一個元素D、Python的多分支結(jié)構(gòu)里,可以包含多個elif語句標(biāo)準(zhǔn)答案:A知識點解析:break和continue僅適用于循環(huán)結(jié)構(gòu),區(qū)別在于break跳出當(dāng)前循環(huán)模塊,而continue會繼續(xù)判斷下個條件或遍歷下一個元素,所以A選項錯誤,B、C選項正確;在多分支結(jié)構(gòu)中,elif語句可以有任意個數(shù)量,所以D選項正確。21、以下關(guān)于隨機運算函數(shù)庫的描述,正確的是()。A、Python的random庫通過pip進行安裝庫B、使用random.random()生成隨機數(shù)前,必須先用random.seed()函數(shù)初始化隨機數(shù)種子C、random.randint(a,b)產(chǎn)生一個[a,b]之間的隨機整數(shù)D、random.random(a,b)產(chǎn)生一個[a,b)之間的隨機小數(shù)標(biāo)準(zhǔn)答案:C知識點解析:random庫是Python的標(biāo)準(zhǔn)庫,無需安裝;使用random庫內(nèi)函數(shù)時,seed()函數(shù)可以省略,此時將自動以當(dāng)前時間作為隨機數(shù)種子;randin(a,b)函數(shù)可以產(chǎn)生一個[a,b]之間的隨機整數(shù);random()函數(shù)沒有參數(shù),且只能產(chǎn)生在[0,1)范圍內(nèi)的隨機浮點數(shù)。22、以下代碼的輸出結(jié)果是()。ls="ab"print("{{}}{:+^4}".format(ls))A、+ab+{}B、{{}}+ab+C、+ab+{{}}D、{}+ab+標(biāo)準(zhǔn)答案:D知識點解析:在format格式化輸出中,花括號除了作為槽,也可以作為本身的轉(zhuǎn)義符號用來輸出花括號,所以ls應(yīng)填充如最后一個槽中,也就是{}+ab+。23、執(zhí)行以下程序,輸3.2,然后回車,結(jié)果是()。flag=0try:b=eval(input("請輸入計算次數(shù):"))print(type(b))except:flag=1print("請輸入整數(shù)")print(flag)A、請輸入整數(shù)1B、<class"int">0C、<class"float">0D、<class"float">1標(biāo)準(zhǔn)答案:C知識點解析:觀察程序,當(dāng)輸入3.2時,b等于eval("3.2"),也就是3.2,然后打印輸出3.2的數(shù)據(jù)類型,此兩句代碼不會出現(xiàn)異常,即except模塊的語句不會執(zhí)行,最后打印輸出flag即可。24、以下程序的執(zhí)行結(jié)果是()。a=[12,34,56]b=[1,2,3,4]defdispl(a):print(res:’,[a])b=aa.a(chǎn)ppend([5,6])displ(b)A、res:[[12,34,56,[5,6]]]B、res:[12,34,56,5,6]C、res:[[1,2,3,4,[5,6]]]D、res:[12,34,56,5,6]]標(biāo)準(zhǔn)答案:A知識點解析:觀察程序,首先創(chuàng)建了兩個列表a、b,然后創(chuàng)建了函數(shù)displ(),接下來使b綁定a的數(shù)據(jù),令a添加一個元素[5,6],因為b是用等于號綁定a的數(shù)據(jù),所以此時b的數(shù)據(jù)為[12,34,56,[5,6]],最后執(zhí)行函數(shù),函數(shù)結(jié)果為輸出res:[[12,34,56,[5,6]]],所以選擇A選項。25、關(guān)于Python函數(shù)的描述錯誤的是()。A、函數(shù)內(nèi)部使用的全局變量必須用global聲明B、Python支持可選參數(shù)傳遞,但沒有默認(rèn)值的參數(shù)必須定義在有默認(rèn)值參數(shù)的左側(cè)C、Python函數(shù)可以沒有return語句,此時返回值為NoneD、Python函數(shù)支持用名稱傳遞參數(shù)標(biāo)準(zhǔn)答案:A知識點解析:A選項,函數(shù)內(nèi)部使用全局變量無需聲明,只有當(dāng)需要改變?nèi)肿兞繒r才需要聲明;B、C和D三個選項均正確。26、以下程序的輸出結(jié)果是()。deffunc(x=[,y=[6,7]):x.a(chǎn)ppend(8)y.a(chǎn)ppend(8)return(x+y)a,b=[1,2],[3,4]t=func(x=a)t=func(y=b)print(func(),end=";")A、[8,8,6,7,8,8]B、[8,6,7,8,8];C、[8,6,7,8,8]D、[8,8,6,7,8.8];標(biāo)準(zhǔn)答案:D知識點解析:本題考核的是列表的可變性,當(dāng)列表在使用apeend()等操作時,數(shù)據(jù)變化,地址不變。題目中程序執(zhí)行第一次函數(shù)func(x=a),x使用參數(shù)a的地址,結(jié)束時x為[1,2,8],y使用默認(rèn)參數(shù)[6,7]的地址,結(jié)束時y為[6,7,8];執(zhí)行第二次函數(shù)func(y=b),x使用默認(rèn)參數(shù)[]的地址,結(jié)束時x為[8],y使用參數(shù)b的地址,結(jié)束時y為[3,4,8];執(zhí)行第三次函數(shù)func(),x使用默認(rèn)參數(shù)地址,此時數(shù)據(jù)是[8],所以結(jié)束時x為[8,8],y使用默認(rèn)參數(shù)地址,此時數(shù)據(jù)為[6,7,8],結(jié)束時y為[6,7,8,8]。此時可以知道返回值為[8,8]+[6,7,8,8]=[8,8,6,7,8,8],所以選擇D選項。27、以下程序的輸出結(jié)果是()。defmysort(ss,flag):ifflag:return(sorted(ss,reverse=True))else:return(sorted(ss,reverse=False))ss=[1,2,4,3]print(mysort(ss,-1))A、[1,2,4,3]B、[3,4,2,1]C、[1,2,3,4]D、[4,3,2.1]標(biāo)準(zhǔn)答案:D知識點解析:本題創(chuàng)建了函數(shù),函數(shù)體內(nèi)利用sorted()函數(shù)對形參ss進行排序,排序的方式根據(jù)形參flag來確認(rèn)。程序主體創(chuàng)建列表ss,調(diào)用函數(shù)mysort(),傳入實參ss及-1,根據(jù)-1可知,分支語句執(zhí)行的是if分支,則排序方式按照從大到小進行排序。28、執(zhí)行以下程序后,要輸出46cd44ab結(jié)果,該執(zhí)行的選項是()。ls=["ab","44","cd","46"]ls.reverse()A、print("".join(ls[-1::-1]))B、print("".join(ls))C、print("".join(ls[1:]))D、print("".join(ls[-1:]))標(biāo)準(zhǔn)答案:B知識點解析:題目經(jīng)過reverse()方法操作后,列表ls的數(shù)據(jù)為["46","cd","44","ab"),A選項操作ls進行逆序初片,得到的結(jié)果為ab44cd46;B選項直接輸出ls,得到的結(jié)果為46cd44ab;C選項通過切片,從第二個元素開始切割,得到的結(jié)果為cd44ab;D選項通過切片,得到的結(jié)果為ab。所以選擇B選項。29、以下程序的輸出結(jié)果是()。ss=[2,3,6,9,7,1]foriinss:ss.remove(min(ss))print(min(ss),end=",")A、1,2,3,6,7,9,B、9,7,6,3,2,1,C、2,3,6,D、1,2,3,6,7,9標(biāo)準(zhǔn)答案:C知識點解析:遍歷列表ss,當(dāng)循環(huán)執(zhí)行時,每次刪除一個最小的數(shù)字,同時打印剩下最小的數(shù)字,此時列表的元素數(shù)量會發(fā)生變化,for循環(huán)又是控制循環(huán)次數(shù)的,所以當(dāng)執(zhí)行三次后,元素只剩三個,再想遍歷第四個元素,列表已經(jīng)不能滿足了,所以三次的值分別為2,3,6。且print()函數(shù)含有參數(shù)end那么在每個輸出后都得加上",",所以答案為"2,3,6",選C選項。30、以下程序的輸出結(jié)果是()。dd={’a’:90,’b’:87,’c’:93}print([[dd[x],x]forxinsorted(dd)])A、[[93,’c’],[90,’a’],[87,’b’]]B、[[90,’a’],[87,’b’],[93,’c’]]C、[[87,’b’],[90,’a’],[93,’c’]]D、[[90,a],[87,b],[93,c]標(biāo)準(zhǔn)答案:B知識點解析:觀察題目中代碼,有字典dd,輸出語句print()輸出的是一個列表,列表由列表生成式產(chǎn)生,列表中含有多個[dd[x],x]元素,其中x從sorted(dd)中遍歷得到,sorted(dd)的值為[’a’,’b’,’c’],代入[dd[x],x]依次計算得到[90,’a’],[87,’b’],[93,’c’],所以選擇B選項。31、以下語句的輸出結(jié)果是()。dd={’chinese’:200,’pe’:187,’Gana’:930}print(sorted(dd.keys()))A、dict_keys([’Gana’,’chinese’,’pe’])B、’Gana’,’chinese’,’pe’C、[’Gana’,’chinese"’,’pe’]D、報錯標(biāo)準(zhǔn)答案:C知識點解析:觀察題目可以知道sorted()函數(shù)排序的數(shù)據(jù)是dd字典通過keys()方法返回的全部的鍵,所以從小到大比較三個字符串得到列表[’Gana’,’chinese’,’pe’]。32、以下程序的輸出結(jié)果不可能的選項是()。importrandomls=["a","b","c","d"]print(ls[int(random.random()*3)])A、"d"B、"a"C、"b"D、"a","b","c"都有可能標(biāo)準(zhǔn)答案:A知識點解析:題目中l(wèi)s的索引通過random庫的random()函數(shù)生成,因為random()函數(shù)生成在[0,1)(包含0不包含1)的隨機浮點數(shù),所以乘三之后范圍在[0,3)(包含0不包含3),所以通過int()函數(shù)取整之后也不可能等于3,即索引小于3不可能通過索引取得字符串"d"。33、以下關(guān)于文件的描述,錯誤的是()。A、open()函數(shù)的打開模式’t’表示以二進制打開文件B、打開文件時,編碼方式是可選參數(shù)C、fo.seek()函數(shù)是設(shè)置當(dāng)前文件操作指針的位置D、open函數(shù)的打開模式’a’表示可以對文件進行追加操作標(biāo)準(zhǔn)答案:A知識點解析:open()函數(shù)打開模式有多種,’b’代表以二進制形式打開文件,’t’代表以文本文件形式打開文件,’a’代表可以對文件進行追加操作,打開文件時還可以用encoding參數(shù)設(shè)置編碼,在對文件進行操作的時候,指針可以由seek()方法進行控制。34、執(zhí)行以下程序后,文件a.txt中的內(nèi)容是()。fo=open("a.txt",’w’)x=[’大學(xué)’,’’,’中學(xué)’,’’,’小學(xué)’]fo.write(’\n’.join(x))fo.close()A、大學(xué)\n中學(xué)\n小學(xué)B、大學(xué)中學(xué)小學(xué)C、’大學(xué)’,’\n’,’中學(xué)’,’\n’,’小學(xué)D、大學(xué)中學(xué)小學(xué)標(biāo)準(zhǔn)答案:D知識點解析:題目中程序?qū)⒘斜韝通過join()方法以換行符作連接符拼接,所以得到的字符串為大學(xué)\n\n中學(xué)\n\n小學(xué),寫入文件后展示時,會將換行符自動變?yōu)閾Q行。35、以下方法不是python文件操作的選項是()。A、seek()B、socket()C、close()D、readlines()標(biāo)準(zhǔn)答案:B知識點解析:seek()方法是控制文件操作的指針;socket()方法是用來創(chuàng)建套接字不屬于文件操作;close()方法是關(guān)閉文件;readlines()方法是用來讀取文件內(nèi)容。36、以下關(guān)于數(shù)據(jù)組織的維度,以下選項中描述錯誤的是()。A、JSON格式能夠表達(dá)一維數(shù)據(jù)B、字典類型可以表示具有復(fù)雜關(guān)系的高維數(shù)據(jù)C、列表只能表示一維數(shù)據(jù)D、CSV文件可以用來存儲二維數(shù)據(jù)標(biāo)準(zhǔn)答案:C知識點解析:JSON格式可以表示高維數(shù)據(jù)也可以表示一維數(shù)據(jù);Python中的字典形式類似于JSON格式;列表類型可以表示一維數(shù)據(jù),也可以通過多層列表表示二維數(shù)據(jù);CSV文件可以用來存儲一維數(shù)據(jù)或二維數(shù)據(jù)。37、turtle庫的控制順時針轉(zhuǎn)的函數(shù)是()。A、penup()B、set()C、right()D、pencolor()標(biāo)準(zhǔn)答案:C知識點解析:penup()函數(shù)提起畫筆,之后移動畫筆不會繪制軌跡;turtle中沒有set()函數(shù);right()函數(shù)使畫筆的指向沿著順時針方向旋轉(zhuǎn)一定的角度;pencolor()函數(shù)設(shè)置畫筆繪制軌較跡的顏色。38、關(guān)于Pyinstaller工具,下列說法正確的是()。A、只能處理UTF-8編碼形式的Python源文件B、生成單獨的可執(zhí)行文件時,圖片等文件資源不能一并打包到可執(zhí)行文件中C、不能為生成的可執(zhí)行文件指定圖標(biāo)D、不能生成帶有動態(tài)鏈接庫的可執(zhí)行文件標(biāo)準(zhǔn)答案:A知識點解析:Pyinstaller只能處理UTF-8編碼的Python源文件,可以通過spec文件的datas參數(shù)設(shè)置打包相關(guān)資源文件,也可以通過spec文件的binaries參數(shù)添加動態(tài)鏈接庫,在打包時使用-i參數(shù)可以設(shè)置打包后的文件圖標(biāo)。39、Python機器學(xué)習(xí)方向的第三方庫是()。A、openpyxlB、tensorflowC、FlaskD、PIL標(biāo)準(zhǔn)答案:B知識點解析:openpyxl是文本處理方向的第三方庫;tensorflow是機器學(xué)習(xí)方向的第三方庫;Flask是Web開發(fā)方向的第三方庫;PIL是圖像處理方向的第三方庫。40、Python網(wǎng)絡(luò)爬蟲開發(fā)方向的第三方庫是()。A、DjangoB、TheanoC、scrapyD、Tkinter標(biāo)準(zhǔn)答案:C知識點解析:Django是Web開發(fā)方向的第三方庫;Theano是機器學(xué)習(xí)方向的第三方庫;scrapy是網(wǎng)絡(luò)爬蟲方向的第三方庫;Tkinter是用戶圖形界面方向的第三方庫。二、基本編程題(本題共3題,每題1.0分,共3分。)41、在考生文件夾下有個文件PY101.py,在橫線處填寫代碼,完成如下功能。接收用戶輸入的一個浮點數(shù),輸出這個浮點數(shù)的小數(shù)部分各字符的和,以10為寬度,靠右顯示,采用星號*填充。例如:輸入:1234.5678輸出:********26##在____________上補充代碼#s=input("請輸入一個小數(shù):")s=s[::-1]____________forcins:ifc==’.’:____________cs+=eval(c)print(’{____________}’.format(cs))標(biāo)準(zhǔn)答案:s=input("請輸入一個小數(shù):")s=s[::-1]cs=0forcins:ifc==’.’:breakcs+=eval(c)print(’{:*>10}’.format(cs))知識點解析:觀察文件已有的程序,在循環(huán)中出現(xiàn)未定義變量cs,且用了+=操作符,則應(yīng)在循環(huán)外先設(shè)置cs變量,且本題計算各位之和,所以cs初始值應(yīng)設(shè)置為0,即第1空填入cs=0;在循環(huán)中計算各位之和,當(dāng)遍歷到了小數(shù)點,說明小數(shù)部分已經(jīng)全部讀取完畢,則退出循環(huán),即第2空填入break;最后根據(jù)題目要求對format()方法的槽內(nèi)的格式字符串進行編寫,按順序依次為引導(dǎo)符號“:”,填充字符“*”,對齊方式居中“>”,填充寬度“10”,即第3空應(yīng)填入:*>10。42、在考生文件夾下有個文件PY102.py,在橫線處填寫代碼,完成如下功能。time庫是Python語言中與時間處理相關(guān)的標(biāo)準(zhǔn)庫,time庫中ctime()函數(shù)能夠?qū)⒁粋€表示時間的浮點數(shù)變成人類可以理解的時間格式,示例如下:importtimeprint(time.ctime(1519181231.0))輸出結(jié)果是:WedFeb2110:47:112018請獲得用戶輸入時間,提取并輸出其中的小時信息。以上述時間為例,應(yīng)輸出10。##在____________上補充代碼#importtimet=input("請輸入一個浮點數(shù)時間信息:")s=time.ctime(____________)ls=s.split()print(____________)標(biāo)準(zhǔn)答案:importtimet=input("請輸入一個浮點數(shù)時間信息:")s=time.ctime(eval(t))ls=s.split()print(ls[3].split(’:’)[0])知識點解析:當(dāng)用戶輸入浮點數(shù)時,程序需要將此浮點數(shù)轉(zhuǎn)化為對應(yīng)的時間字符串,所以第i空填eva1(t),接下來用split()方法通過空格切割字符串得到列表ls,其中第4個元素是“xx:yy:zz”這種形式,所以需要再次利用split()方法切割,并輸出第1個元素,即第2空應(yīng)填入ls[3].split(’:’)[0]。43、在考生文件夾下有個文件PY103.py,在橫線處填寫代碼,完成如下功能。以26個小寫字母和0~9數(shù)字為基礎(chǔ),以用戶輸入的數(shù)字為種子,隨機生成10個8位密碼,并將每個密碼在單獨一行打印輸出。例如:輸入:125輸出:Potlwjtaej460gqsk515jdr81blked1fy37c4mhx1oa18pv5pz6r37t7xegd1q1312w0ksh6pxuybhp9##在____________上補充代碼#importrandoms=input("請輸入隨機種子:")ls=[]foriinrange(26):ls.a(chǎn)ppend(chr(ord(’a’)+i))foriinrange(10):ls.a(chǎn)ppend(chr(____________))random.seed(____________)foriinrange(10):forjinrange(8):print(____________,end=’’)print()標(biāo)準(zhǔn)答案:importrandoms=input("請輸入隨機種子:")ls=[]foriinrange(26):ls.a(chǎn)ppend(chr(ord(’a’)+i))foriinrange(10):ls.a(chǎn)ppend(chr(ord(’0’)+i))random.seed(eval(s))foriinrange(10):forjinrange(8):print(ls[random.randint(0,35)],end=’’)print()知識點解析:題目要求輸出隨機生成10個8位密碼,且隨機選擇26個小寫字母和0~9數(shù)字。觀察已有代碼,可以看出列表ls存儲的數(shù)據(jù)是26個小寫字母和0~9數(shù)字,并且根據(jù)生成26個字母的第一個循環(huán)可以看到,程序中以小寫字母“a”的編碼為基數(shù),循環(huán)增加編碼,并通過chr()函數(shù)將編碼循環(huán)轉(zhuǎn)化為對應(yīng)的字母,利用此種方式可知,第1空執(zhí)行的代碼效果應(yīng)以“0”的編碼為基數(shù),循環(huán)增加編碼,即應(yīng)填入ord(’0’)+i;第2空設(shè)置隨機數(shù)種子,題目要求根據(jù)用戶輸入,確定隨機數(shù)種子,且種子需要是數(shù)字類型,所以第2空應(yīng)填入eva1(s);第3空是輸出對應(yīng)的隨機數(shù),通過外層循環(huán)控制,輸出的密碼個數(shù),內(nèi)層循環(huán)控制每個密碼的長度,所以第3空需要從列表ls中隨機選擇字符,可以采用索引取值的方式,即ls[random.randint(0,35)]。三、簡單應(yīng)用題(本題共2題,每題1.0分,共2分。)44、在考生文件夾下有個文件PY201.py,在橫線處填寫代碼,完成如下功能。利用random庫和turtle庫,在屏幕上繪制3個黑色的正方形,正方形的左下角點坐標(biāo)和正方形邊長由randint()函數(shù)產(chǎn)生,參數(shù)在代碼中給出。效果如下圖所示。##在____________上補充代碼#請不要修改其他代碼#importturtleastimportrandomasrr.seed(1)t.pensize(2)foriinrange(3):length=r.____________(20,80)x0=r.randint(-100,100)y0=r.randint(-100,100)t.penup()t.goto(____________)t.____________forjinrange(4):t.____________(length)t.____________(90*(j+1))t.done()標(biāo)準(zhǔn)答案:importturtleastimportrandomasrr.seed(1)t.pensize(2)foriinrange(3):length=r.randint(20,80)x0=r.randint(-100,100)y0=r.randint(-100,100)t.penup()t.goto(x0,y0)t.pd()forjinrange(4):t.fd(length)t.seth(90*(j+1))t.done()知識點解析:本題要求生成隨機邊長、位置的三個正方形,且邊的顏色為黑色,觀察已有代碼,外層循環(huán)隨機生成邊長、坐標(biāo)位置,即第1空填入randint,第2空填入x0,y0;因為內(nèi)層循環(huán)要開始繪制,所以畫筆需要放下,即第3空填入pd();內(nèi)層循環(huán)先繪制,再旋轉(zhuǎn)角度,且角度是循環(huán)遞增的,即應(yīng)采用絕對角度旋轉(zhuǎn),所以第4空填入fd,第5空填入seth。45、在考生文件夾下有個文件PY202.py,在省略號處填寫一行或多行代碼,完成如下功能。同時,在考生文件夾下有個文件out.txt,其中有一些數(shù)據(jù)庫操作功能的執(zhí)行時間信息,如下所示:Starting0.0000372.102Afteropeningtables0.0000080.455Systemlock0.0000040.227Tablelock0.0000080.455…其中第1列是操作的名字,第2列是操作所花費的時間,單位是秒,第3列是操作時間占全部過程的百分比,字段之間用逗號’,’隔開。修改考生文件夾下的文件PY202.py,讀取out.txt文件里的內(nèi)容,統(tǒng)計所有操作所花費的時間總和,并輸出操作時間百分比最多的三個操作所占首分比的值,及其對應(yīng)的操作名稱,顯示在屏幕上,如下所示:thetotalexecutetimeis0.0017thetop0percentagetimeis46.023,spentin"Fillingschematable"operation…#請在……處填寫多行表達(dá)式或語句#請在_____處填寫一行表達(dá)式或代碼#不得修改其他代碼sumtime=0percls=[]ts={}withopen(’out.txt’,’r’)asf:…print(’thetotalexecutetimeis’,sumtime)tns=list(ts.items())tns.sort(key=lambdax:x[1],reverse=True)foriinrange(3):print(’thetop{}percentagetimeis{},spentin"{}"operation’.format(i,tns[i][1],tns[i][0]))標(biāo)準(zhǔn)答案:sumtime=0percls=[]ts={}withopen(’out.txt’,’r’)asf:foriinf:i=i.strip().split(’,’)ts[i[0]]=eval(i[2])sumtime+=eval(i[1])print(’thetotalexecutetimeis’,sumtime)tns=list(ts.items())tns.sort(key=lambdax:x[1],reverse=True)foriinrange(3):print(’thetop{}percentagetimeis{},spentin"{}"operation’.format(i,tns[i][1],tns[i][0]))知識點解析:觀察題目,要求將文件中的內(nèi)容讀取并處理按照一定格式輸出,已有代碼給出了全部的輸出語句,所以with結(jié)構(gòu)內(nèi)主要是處理文件讀取的數(shù)據(jù),通過for循環(huán)直接遍歷文件對象f,將讀取到的數(shù)據(jù)去除空白符,并通過逗號分隔,得到一個列表,將列表的第1項作為鍵,第3項作為值存儲到字典當(dāng)中,得到一個存儲操作名和操作時間百分比的字典,因為后續(xù)需要根據(jù)操作時間百分比的大小排序,所以第3項需要轉(zhuǎn)化為數(shù)字類型。下面將列表的第2項轉(zhuǎn)換成數(shù)字類型,累加得到全部的運行時間。四、綜合應(yīng)用題(本題共2題,每題1.0分,共2分。)考生文件夾下存在2個Python源文件和1個文本文件,分別對應(yīng)2個問題,其中,文本文件“八十天環(huán)游地球.txt”是法國作家儒勒·凡爾納《八十天環(huán)游地球》長篇小說的網(wǎng)絡(luò)版本,請修改源文件實現(xiàn)以下功能。46、問題1:提取章節(jié)題目并輸出到文件。要求,在PY301-1.py中補充代碼,提取“八十天環(huán)游地球.txt”中所有章節(jié)的題目,并且將提取后的題目輸出到“八十天環(huán)游地球.章節(jié).txt”文件中,每行一個標(biāo)題,示例如下:第一章斐利亞·??撕吐仿吠ń⒅髌完P(guān)系…(略)#請在……處填寫多行表達(dá)式或語句#可以修改其他代碼f=open("八十天環(huán)游地球.txt")……f.close()標(biāo)準(zhǔn)答案:f=open("八十天環(huán)游地球.txt")fo=open("八十天環(huán)游地球-章節(jié).txt",’w’)foriinf:line=i.strip().split()ifline[0][0]=="第"and"章"inline[0]:fo.write(i)fo.close()f.close()知識點解析:本題需要提取出章節(jié)題目并輸出到文件中,觀察文件可以發(fā)現(xiàn)章節(jié)名與章節(jié)序號中間都含有一個空格,如第一章和斐利亞·??撕吐仿吠ń⒅髌完P(guān)系,且章節(jié)名都是單獨一行,所以可利用空格切割每行數(shù)據(jù)并且對切割過后的第一個元素進行判斷,只要第一個字是“第”,且章也在第一個元素中,那么就代表此行是章節(jié)名,就寫入文件,最后檢查文件,皆為章節(jié)名。47、問題2:統(tǒng)計每章節(jié)的高頻詞并打印輸出。要求:在PY301-2.py中補充代碼,統(tǒng)計“八十天環(huán)游地球.txt”中每一章的標(biāo)題和內(nèi)容中,出現(xiàn)次數(shù)最多的詞語(詞語長度不少于2個字符)及其次數(shù),輸出格式為章節(jié)名、詞語及其出現(xiàn)的次數(shù),以空格分隔,示例如下:第一章斐利亞21第二章路路通12…(略)標(biāo)準(zhǔn)答案:importjiebaf=open("八十天環(huán)游地球.txt")datas=f.readlines()l=[]foriinrange(len(datas)):line=datas[i].split(’’)ifdatas[i][0]=="第"and"章"inline[0]:l.a(chǎn)ppend(i)foriinrange(len(l)):ifi!=len(l)-1:data=’’.join(datas[l[i]:l[i+1]])else:data=’’.join(datas[l[i]:])s=data.split()[0]words=jieba.lcut(data)d={}foryinwords:iflen(y)<2:continued[y]=d.get(y,0)+1lis=list(d.items())lis.sort(key=lambdax:x[1],reverse=True)print(s,lis[0][0],lis[0][1])f.close()知識點解析:本題需要將各章的內(nèi)容進行分詞,并統(tǒng)計每章出現(xiàn)次數(shù)最多的詞匯并輸出,首先利用與第一題類似代碼先將每章所處的行數(shù)計算出來存儲到列表l當(dāng)中,然后遍歷列表l的長度,i也就是1的索引,那么l[i]這個數(shù)字也就代表章節(jié)名所在的行數(shù),判斷i是否為最后一次循環(huán)的取值,不是那么便利用join方法拼接datas列表此行與下一個索引所代表的行數(shù)之間的全部字符串;是的話便代表剩下的字符串全部為最后一章的內(nèi)容,便直接拼接剩下的全部內(nèi)容,這樣在每次循環(huán)中便會生成一個章書內(nèi)容的字符串,對這個章節(jié)內(nèi)容進行分詞并利用字典進行計數(shù),通過循環(huán)遍歷words,長度小于2的,利用continue舍棄掉,用d[y]=d.get(y,0)+1進行詞頻統(tǒng)計。接下來需將字典d的數(shù)據(jù)取出并排序,通過list(d.items()方法轉(zhuǎn)換成列表,再利用列表的sort()方法以內(nèi)部元組的第2個元素排序,此元素即代表詞匯的次數(shù),按照題目要求輸出最大次數(shù)的詞匯,最后每次外層循環(huán)輸出一個章節(jié)最大的詞匯及數(shù)量,循環(huán)結(jié)束再使用c1ose方法關(guān)閉文件即可。國家二級(Python)機試模擬試卷第2套一、單項選擇題(本題共37題,每題1.0分,共37分。)1、允許多個聯(lián)機用戶同時使用一臺計算機系統(tǒng)進行計算的操作系統(tǒng)屬于()。A、布式操作系統(tǒng)B、實時操作系統(tǒng)C、批處理操作系統(tǒng)D、分時操作系統(tǒng)標(biāo)準(zhǔn)答案:D知識點解析:允許多個聯(lián)機用戶同時使用一臺計算機系統(tǒng)進行汁算的操作系統(tǒng)稱為分時操作系統(tǒng)。分時操作系統(tǒng)把中央處理器的時間劃分成時間片,輪流分配給每個聯(lián)機終端用戶,每個用戶只能在極短時間內(nèi)執(zhí)行,若程序未執(zhí)行完,則等待分到下次時間片時再執(zhí)行。這樣,系統(tǒng)的每個用戶的每次要求都能得到快速響應(yīng),且用戶感覺好像自己獨占計算機。本題選擇D選項。2、在執(zhí)行指令過程中,CPU不經(jīng)過總線能直接訪問的是()。A、寄存器B、寄存器和內(nèi)存C、寄存器、內(nèi)存和外存D、輸入/輸出設(shè)備標(biāo)準(zhǔn)答案:A知識點解析:計算機中CPU通過總線與內(nèi)存、外設(shè)等連接。本題選擇A選項。3、下列敘述中正確的是()。A、在循環(huán)隊列中,隊尾指針的動態(tài)變化決定隊列的長度B、在循環(huán)隊列中,隊頭指針和隊尾指針的動態(tài)變化決定隊列的長度C、在帶鏈的隊列中,隊頭指針與隊尾指針的動態(tài)變化決定隊列的長度D、在帶鏈的棧中,棧頂指針的動態(tài)變化決定棧中元素的個數(shù)標(biāo)準(zhǔn)答案:B知識點解析:帶鏈的隊列和帶鏈的棧均采用鏈?zhǔn)酱鎯Y(jié)構(gòu)。鏈?zhǔn)酱鎯Φ拇鎯卧遣贿B續(xù)的,因為是不連續(xù)的存儲空間,所以指針將不會有規(guī)律地連續(xù)變化,C、D兩項錯誤。在循環(huán)隊列中,隊頭指針和隊尾指針的動態(tài)變化決定隊列的長度,B選項正確,A選項錯誤。本題選擇B選項。4、設(shè)棧的存儲空間為S(1:60),初始狀態(tài)為top=61?,F(xiàn)經(jīng)過一系列正常的入棧與退棧操作后,top=1,則棧中的元素個數(shù)為()。A、0B、59C、60D、1標(biāo)準(zhǔn)答案:C知識點解析:棧的存儲空間為S(1:60),初始狀態(tài)為top=61,即棧的初始狀態(tài)為空。當(dāng)?shù)谝粋€元素進棧后,top=60,第二個元素進棧后,top=59,第三個元素進棧后,top=58,以此類推。當(dāng)top=1時,共有60個元素入棧。本題選擇C選項。5、設(shè)順序表的長度為n。下列排序方法中,最壞情況下比較次數(shù)小于n(n-1)/2的是()。A、堆排序B、快速排序C、簡單插入排序D、冒泡排序標(biāo)準(zhǔn)答案:A知識點解析:最壞情況下比較次數(shù):堆排序為nlog2n,快速排序為n(n-1)/2,簡單插入排序為n(n-1)/2,冒泡排序為n(n-1)/2。本題選擇A選項。6、下面屬于系統(tǒng)軟件的是()。A、人事管理系統(tǒng)B、WPS編輯軟件C、殺毒軟件D、Oracle數(shù)據(jù)庫管理系統(tǒng)標(biāo)準(zhǔn)答案:D知識點解析:系統(tǒng)軟件是管理計算機的資源,提高計算機的使用效率,為用戶提供各種服務(wù)的軟件,如操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、編譯程序、匯編程序和網(wǎng)絡(luò)軟件等。應(yīng)用軟件是為了應(yīng)用于特定的領(lǐng)域而開發(fā)的軟件,A、B和C三個選項屬于應(yīng)用軟件。本題選擇D選項。7、下面不屬于白盒測試方法的是()。A、語句覆蓋B、邊界值分析C、條件覆蓋D、分支覆蓋標(biāo)準(zhǔn)答案:B知識點解析:白盒測試的主要技術(shù)有邏輯覆蓋測試、基本路徑測試等。其中,邏輯覆蓋測試包括語句覆蓋、路徑覆蓋、判定覆蓋、條件覆蓋、判斷-條件覆蓋。邊界值分析屬于黑盒測試。本題選擇B選項。8、關(guān)系數(shù)據(jù)庫中的鍵是指()。A、關(guān)系的專用保留字B、關(guān)系的名稱C、能唯一標(biāo)識元組的屬性或?qū)傩约螪、關(guān)系的所有屬性標(biāo)準(zhǔn)答案:C知識點解析:在關(guān)系模式中凡能唯一標(biāo)識元組的最小屬性集稱為該關(guān)系的鍵或碼。本題選擇C選項。9、在數(shù)據(jù)庫中,產(chǎn)生數(shù)據(jù)不一致的根本原因是()。A、數(shù)據(jù)冗余B、沒有嚴(yán)格保護數(shù)據(jù)C、未對數(shù)據(jù)進行完整性控制D、數(shù)據(jù)存儲量太大標(biāo)準(zhǔn)答案:A知識點解析:由于數(shù)據(jù)冗余,有時修改數(shù)據(jù)時,一部分?jǐn)?shù)據(jù)修改,而另一部分沒有修改,造成同一種數(shù)據(jù)有多個值,產(chǎn)生數(shù)據(jù)不一致。本題選擇A選項。10、某圖書集團數(shù)據(jù)庫中有關(guān)系模式R(書店編號,書籍編號,庫存數(shù)量,部門編號,部門負(fù)責(zé)人),其中要求:(1)每個書店的每種書籍只在該書店的一個部門銷售;(2)每個書店的每個部門只有一個負(fù)責(zé)人;(3)每個書店的每種書籍只有一個庫存數(shù)量。則關(guān)系模式R最高是()。A、1NFB、2NFC、3NFD、BCNF標(biāo)準(zhǔn)答案:B知識點解析:本題中,(書店編號,書籍編號)→部門編號,(書店編號,部門編號)→部門負(fù)責(zé)人,(書店編號,書籍編號)→庫存數(shù)量,可確定關(guān)系模式R的主鍵為(書店編號,書籍編號)。這樣就存在著非主屬性“部門負(fù)責(zé)人”對主鍵(書店編號,書籍編號)的傳遞函數(shù)依賴,不滿足第三范式(3NF),所以關(guān)系模式R最高是第二范式(2NF)。本題選擇B選項。11、以下關(guān)于程序設(shè)計語言的描述,錯誤的選項是()。A、Python解釋器把Python代碼一次性翻譯成目標(biāo)代碼,然后執(zhí)行B、機器語言直接用二進制代碼表達(dá)指令C、Python是一種通用編程語言D、匯編語言是直接操作計算機硬件的編程語言標(biāo)準(zhǔn)答案:A知識點解析:Python屬于腳本語言,腳本語言采用解釋方式執(zhí)行。解釋執(zhí)行是將源代碼逐條轉(zhuǎn)換成同時逐條運行的過程,不是一次性翻譯的。本題選擇A選項。12、以下關(guān)于Python程序語法元素的描述,正確的選項是()。A、縮進格式要求程序?qū)R,增添了編程難度B、Python變量名允許以數(shù)字開頭C、true是Python的關(guān)鍵字D、所有的if、while、def、class語句后面都要用冒號結(jié)尾標(biāo)準(zhǔn)答案:D知識點解析:縮進格式要求程序?qū)R,清晰、簡明地表示了語句的所屬關(guān)系;Python的標(biāo)識學(xué)采用大寫字母、小寫字母、數(shù)字、下劃線及漢字等字符及其組合進行命名,但標(biāo)識符的首字符不能是數(shù)字,中間不能出現(xiàn)空格,長度沒有限制;Python的關(guān)鍵字大小寫敏感,True是關(guān)鍵字,但true不是關(guān)鍵字。本題選擇D選項。13、以下選項,不是Python關(guān)鍵字的選項是()。A、fromB、sumC、finallyD、None標(biāo)準(zhǔn)答案:B知識點解析:關(guān)鍵字也稱保留字,是編程語言內(nèi)部定義并保留使用的標(biāo)識符。Python3.x的關(guān)鍵字有35個,分別是and、as、assert、async、await、break、class、continue、def、del、elif、else、except、False、finally、for、from、global、if、import、in、is、lambda、None、nonlocal、not、or、pass、raise、return、True、try、with、while、yield。本題選擇B選項。14、表達(dá)式divmod(40,3)的結(jié)果是()。A、13,1B、(13,1)C、13D、1標(biāo)準(zhǔn)答案:B知識點解析:divmod(x,y)函數(shù)用來計算x和y的除余結(jié)果。返回兩個值,分別是x與y的整數(shù)除,即x//y,以及x與y的余數(shù),即x%y。返回的兩個值組成了一個元組類型,即圓括號包含的兩個元素(x//y,x%y)。表達(dá)式divmod(40.3)的結(jié)果為40//3=13、40%3=1。本題選擇B選項。15、以下關(guān)于字符串類型的操作的描述,正確的是()。A、想把一個字符串str所有的字符都大寫,用upper(str)B、設(shè)x='aaa',則執(zhí)行x/3的結(jié)果是'a'C、想獲取字符串str的長度,用字符串處理函數(shù)len(str)D、str.isnumeric()方法把字符串str中數(shù)字字符變成數(shù)字標(biāo)準(zhǔn)答案:C知識點解析:將字符串str所有的字符都大寫的方法是str.upper(),A選項不正確;x為字符串類型,字符串類型不能進行除法運算,B選項不正確;isnumeric()方法用于檢測字符串是否只由數(shù)字組成,如果字符串中只包括數(shù)字,就返回Ture,否則返回False,D選項錯誤;len()函數(shù)用于返回字符串的長度,要想獲取字符串str的長度,其語法格式為len(str)。本題選擇C選項。16、設(shè)str1='*@python@*',語句print(str1[2:].strip('@'))的執(zhí)行結(jié)果是()。A、python@*B、python*C、*@python@*D、*python*標(biāo)準(zhǔn)答案:A知識點解析:str1[2:]表示對字符串str1進行切片,即從索引為2的字符開始切片直到字符串結(jié)尾(字符串最左側(cè)的字符索引為0),其結(jié)果為python17、執(zhí)行以下程序,輸出結(jié)果是()。y='中文'x='中文字'print(x﹥y)A、NoneB、FALSEC、FalseorFalseD、TRUE標(biāo)準(zhǔn)答案:D知識點解析:在Python中比較兩個字符串的大小,要從第1個字符開始比較,只要比較出了大小就結(jié)束。本題中,變量x和y的前兩個字符相同,但y沒有第3個字符,所以x大,則表達(dá)式x﹥y的結(jié)果為True。本題選擇D選項。18、以下關(guān)于“for<循環(huán)變量>in<循環(huán)結(jié)構(gòu)>”的描述,錯誤的是()。A、<循環(huán)結(jié)構(gòu)>采用[1,2,3]和['1','2','3']的時候,循環(huán)的次數(shù)是一樣的B、這個循環(huán)體語句中不能有break語句,會影響循環(huán)次數(shù)C、使用range(a,b)函數(shù)指定for循環(huán)的循環(huán)變量取值范圍是a~b-1D、foriinrange(1,10,2)表示循環(huán)5次,i的值是1~9的奇數(shù)標(biāo)準(zhǔn)答案:B知識點解析:for語句的循環(huán)執(zhí)行次數(shù)是根據(jù)<循環(huán)結(jié)構(gòu)>中元素的個數(shù)確定的。[1,2,3]和['1','2','3']均有3個元素,因此循環(huán)次數(shù)是一樣的。A選項正確。range()函數(shù)只有1個參數(shù)時表示會產(chǎn)生從0開始計數(shù)到輸入?yún)?shù)的前一位整數(shù)結(jié)束的整數(shù)列表;有2個參數(shù)時,則將第1個參數(shù)作為起始位,第2個參數(shù)為結(jié)束位,輸出從起始位到結(jié)束位的前一位的整數(shù)列表;有3個參數(shù)時,第3個參數(shù)表示步長,起始位按照步長遞增或遞減,因此選項C、D正確。循環(huán)體中的break語句影響循環(huán)次數(shù),但是不代表循環(huán)體中不能有break語句,B選項錯誤。本題選擇B選項。19、執(zhí)行以下程序,輸入“fish520”,輸出結(jié)果是()。w=input()forxinw:if'0'<x<='9':continueelse:w.replace(x,")print(w)A、fishB、fish520C、520D、520fish標(biāo)準(zhǔn)答案:B知識點解析:replace()方法的語法格式為str.replace(old.new[,max]。功能是把字符串中的old(舊字符串)替換成new(新字符串),返回一個新的字符串。如果指定第3個參數(shù)max,則替換不超過max次。本題中,for循環(huán)執(zhí)行后,將依次返回新的字符串ish520、fsh520、fis520。并不影響w,程序執(zhí)行print(w)后輸出fish520。本題選擇B選項。20、執(zhí)行以下程序,導(dǎo)致輸出“輸入有誤”的輸入選項是()。try:ls=eval(input())*2print(ls)except:print('輸入有誤')A、'aa'B、'12'C、aaD、12標(biāo)準(zhǔn)答案:C知識點解析:無論用戶輸入的是字符還是數(shù)字,input()函數(shù)統(tǒng)一按照字符串類型輸出。當(dāng)輸入aa時,以字符串類型'aa'返回;然后eval()函數(shù)處理字符串'aa',去掉其兩側(cè)的引號,將其解釋為一個變量。由于之前沒有定義過該變量,因此解釋器報錯,輸出“輸入有誤”。本題選擇C選項。21、以下關(guān)于組合類型的描述,正確的是()。A、空字典可以用花括號來創(chuàng)建B、可以用set創(chuàng)建集合,用方括號和賦值語句增加新元素C、字典數(shù)據(jù)類型里可以用列表做鍵D、字典的items()函數(shù)返回一個鍵值對,并用元組表述標(biāo)準(zhǔn)答案:A知識點解析:集合中可以使用add()方法增加新元素,不能使用方括號來添加,B項錯誤;字典數(shù)據(jù)類型必須用不可變的元素作為鍵,而列表是可變的,不能作為鍵,C選項錯誤;字典的items()函數(shù)返回的是所有鍵值對,D選項錯誤。本題選擇A選項。22、以下程序的輸出結(jié)果是()。s=0deffun(s,n):foriinrange(n):s+=iprint(fun(s,5))A、10B、NoneC、0D、UnboundLocalError標(biāo)準(zhǔn)答案:B知識點解析:本題中函數(shù)體內(nèi)沒有return語句,即無返回值,所以默認(rèn)返回None。則輸出結(jié)果為None。本題選擇B選項。23、以下關(guān)于函數(shù)的描述,正確的是()。A、自己定義的函數(shù)名不能與Python內(nèi)置函數(shù)同名B、函數(shù)一定要有輸入?yún)?shù)和返回結(jié)果C、在一個程序中,函數(shù)的定義可以放在函數(shù)調(diào)用代碼之后D、使用函數(shù)可以提高代碼復(fù)用性,還可以降低維護難度標(biāo)準(zhǔn)答案:D知識點解析:自己定義的函數(shù)可以與內(nèi)置函數(shù)同名,當(dāng)調(diào)用此函數(shù)時會先調(diào)用自己定義的函數(shù);函數(shù)可以沒有輸入?yún)?shù)和返回結(jié)果;Python程序是自上而下執(zhí)行的,函數(shù)的定義應(yīng)放在函數(shù)調(diào)用之前,否則會報錯。本題選擇D選項。24、以下程序的輸出結(jié)果是()。defloc_glo(b=2,a=4):globalzz+=3*a+5*breturnzz=10print(z,loc_glo(4,2))A、3636B、3232C、1036D、1032標(biāo)準(zhǔn)答案:C知識點解析:本題中,變量z為全局變量,函數(shù)內(nèi)部改變了該變量的值,在外部該變量的值不變,因此最后z的值仍為10。然后執(zhí)行函數(shù)glo(4,2),將實參4傳遞給形參b,將實參2傳遞給形參a。函數(shù)體內(nèi)z+=3*a+5*b可變形為z=10+3*a+5*b=10+3*2+5*4=36,函數(shù)的返回值為36。本題選擇C選項。25、以下程序的輸出結(jié)果是()。l1=['aa',[2,3,3.0]]print(11.index(2))A、2B、3.0C、3D、ValueError標(biāo)準(zhǔn)答案:D知識點解析:列表的index()方法用于從列表中找出某個對象第一個匹配項的索引,如果這個對象不在列表中會報一個異常。本題中l(wèi)1.index(2)是指在列表l1中查找對象2,但列表中并不存在元素2,因此會異常。本題選擇D選項。26、以下程序的輸出結(jié)果是()。foriin"Nation”:forkinrange(2):ifi=='n':breakprint(i,end="")A、aattiiooB、NnaattiiooC、NaattiioonD、aattiioonn標(biāo)準(zhǔn)答案:B知識點解析:在Python中,字母大小寫是敏感的,“N”和“n”是不同的字符。本題中,有兩層for循環(huán),即每個字符要輸出兩次,直到i=='n'時,跳出循環(huán),執(zhí)行輸出語句。本題選擇B選項。27、以下程序的輸出結(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'))}標(biāo)準(zhǔn)答案:A知識點解析:zip()是Python的一個內(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')]}。本題選擇A選項。28、以下程序的輸出結(jié)果是()。ss=set("htslbht")sorted(ss)foriinss:print(i,end=")A、hlbstB、htslbhtC、tsblthD、hhlstt標(biāo)準(zhǔn)答案:A知識點解析:set()函數(shù)將其他的組合數(shù)據(jù)類型變成集合類型,返回結(jié)果是一個無重復(fù)且排序任意的集合。因此,ss=set("htslbht")的返回值是一個類似于{'h','l','b','s','t'}的集合,然后將其賦值給ss。方法sorted(ss)的返回值是對ss進行排序后的結(jié)果,即執(zhí)行sorted(ss)后,ss的值并沒有改變,最后仍輸出hlbst。本題選擇A選項。29、以下程序的輸出結(jié)果是()。ls1=[1,2,3,4,5]ls2=ls1ls2.revere()print(ls1)A、5,4,3,2,1B、[1,2,3,4,5]C、[5,4,3,2,1]D、1,2,3,4,5標(biāo)準(zhǔn)答案:C知識點解析:在Python中,列表對象的賦值就是簡單的對象引用。本題中,ls1和ls2指向同一片內(nèi)存。ls2是ls1的別名,是引用ls1。對ls2做修改,ls1也會跟著變化。ls2.reverse()是指將列表ls2中的元素反轉(zhuǎn),結(jié)果為[5,4,3,2,1],則ls1的值也為[5,4,3,2,1]。本題選擇C選項。30、為以下程序填空,使得輸出結(jié)果是{40:'yuwen',20:'yingyu',30:'shuxu'}的選項是()。tb={'yingyu':20,'shuxue':30,'yuwen':40}stb={}foritintb.items():print(it)________________print(stb)A、sth[it[1]]=it[0]B、stb[it[1]]=stb[it[0]]C、stb[it[1]]=tb[it[1]]D、D.stb[it[1]]=tb[it[0]]標(biāo)準(zhǔn)答案:A知識點解析:分析題目及程序代碼可知,題意是將字典中的鍵值互換。tb.items()以列表形式(并非直接的列表,若要返回列表值還需調(diào)用list()函數(shù))返回可遍歷的(鍵,值)元組數(shù)組。for循環(huán)中it每次遍歷得到的是一個元組,依次為('yingyu',20)、('shuxue',30)、('yuwen',40),然后將元組中索引為0的元素和索引為1的元素互換位置,實現(xiàn)字典中鍵值的互換,應(yīng)填入stb[it[1]]=it[0]。本題選擇A選項。31、以下關(guān)于文件的描述,錯誤的是()。A、open()打開一個文件,同時把文件內(nèi)容裝入內(nèi)存B、open()打開文件后,返回一個文件對象,用于后續(xù)的文件讀/寫操作C、當(dāng)文件以二進制方式打開的時候,是按字節(jié)流方式讀寫D、write(x)函數(shù)要求x必須是字符串類型,不能是int類型標(biāo)準(zhǔn)答案:A知識點解析:如果文件只被打開,文件內(nèi)容是不會裝入內(nèi)存的。只有執(zhí)行讀取操作的時候才會把文件內(nèi)容相應(yīng)的長度內(nèi)容(在read()函數(shù)中指定讀取的字節(jié)長度)裝入內(nèi)存。本題選擇A選項。32、給以下程序填空,使得輸出到文件“a.txt”里的內(nèi)容是'90','87','93'的是()。y=['90','87','93']l="withopen("a.txt",'w')asfo:forziny:________________fo.write(l.strip(','))A、l=','.join(y)B、l+="'{}'".format(z)C、l+="'{}'".format(z)+','D、I+='{}'.format(z)+','標(biāo)準(zhǔn)答案:C知識點解析:由題意可知,寫入文件的是90、87、93,字符之間用逗號分隔。A選項是將字符通過逗號連接成形如'90,87,93'的字符串;B選項沒有使用逗號分隔;D選項由于在花括號({})外部沒有使用引號,相加的結(jié)果為"90,87,93"。本題選擇C選項。33、以下關(guān)于數(shù)據(jù)維度的描述,錯誤的是()。A、列表的索引是大于0小于列表長度的整數(shù)B、JSON格式可以表示比二維數(shù)據(jù)還復(fù)雜的高維數(shù)據(jù)C、二維數(shù)據(jù)可以看成多條一維數(shù)據(jù)的組合形式D、CSV文件既能保存一維數(shù)據(jù),也能保存二維數(shù)據(jù)標(biāo)準(zhǔn)答案:A知識點解析:列表的索引也可以是負(fù)整數(shù),如1[-1]就代表列表l的最后一個元素。本題選擇A選項。34、以下不屬于Python的pip工具命令的選項是()。A、showB、installC、-VD、download標(biāo)準(zhǔn)答案:C知識點解析:pip工具常用的命令有安裝(install)、下載(downloa35、用Pyinstaller工具打包Python源文件時,-F參數(shù)的含義是()。A、指定所需要的第三方庫路徑B、在dist文件夾中只生成獨立的打包文件C、指定生成打包文件的目錄D、刪除生成的臨時文件標(biāo)準(zhǔn)答案:B知識點解析:-F是指在dist文件夾中只生成獨立的打包文件(即EXE文件),所有的第三方依賴、資源和代碼均打包進此EXE文件中。本題選擇B選項。36、第三方庫beauifulsoup4的功能是()。A、解析和處理HTML和XMLB、支持Web軟件框架C、支持WebServices框架D、處理HTTP請求標(biāo)準(zhǔn)答案:A知識點解析:第三方庫beautifulsoup4用于解析和處理HTML和XML。它最大的優(yōu)點是能根據(jù)HTML和XML語法建立解析樹,進而高效解析其中的內(nèi)容。本題選擇A選項。37、以下關(guān)于turtle庫的描述,錯誤的是()。A、在importturtle之后,可以用turtle.circle()語句畫一個圓圈B、seth(x)是setheading(x)函數(shù)的別名,讓畫筆旋轉(zhuǎn)x度C、可以用importturtle來導(dǎo)入turtle庫函數(shù)D、home()函數(shù)設(shè)置當(dāng)前畫筆位置到原點,方向朝上標(biāo)準(zhǔn)答案:D知識點解析:turtle庫的home()函數(shù)是設(shè)置當(dāng)前畫筆位置為原點,方向向東。本題選擇D選項。二、基本編程題(本題共3題,每題1.0分,共3分。)38、考生文件夾下存在一個文件“PY101.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。用鍵盤輸入正整數(shù)n,按要求把n輸出到屏幕。格式要求:寬度為15個字符,數(shù)字右邊對齊,不足部分用星號填充。例如:用鍵盤輸入正整數(shù)n為1234,屏幕輸出***********1234試題程序:#請在________處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼n=eval(input("請輸入正整數(shù):"))print("{________}".format(n))標(biāo)準(zhǔn)答案:n=eval(input("請輸入正整數(shù):"))print("{:*﹥15}".format(n))知識點解析:該題目主要考查Python字符串的格式化方法。Python推薦使用format()格式化方法,其語法格式如下:<模板字符串>.format(<逗號分隔的參數(shù)>)其中,“模板字符串”是一個由字符串和槽組成的字符串,用來控制字符串和變量的顯示效果。槽用花括號({})表示,對應(yīng)format()方法中逗號分隔的參數(shù)。如果模板字符串中有多個槽,可以通過format()參數(shù)的序號在模板字符串槽中指定參數(shù),參數(shù)從0開始編號。例如:"{o}曰:學(xué)而不思則罔,思而不學(xué){1}。".format("孔子","則殆")其結(jié)果:'孔子曰:學(xué)而不思則罔,思而不學(xué)則殆。'format()方法的槽除了包括參數(shù)序號,還可以包括格式控制信息,語法格式如下:{<參數(shù)序號>:<格式控制標(biāo)記>}其中,格式控制標(biāo)記包括<填充><對齊><寬度><,><.精度><類型>6個字段,由引導(dǎo)符號(:)作為引導(dǎo)標(biāo)記,這些字段都是可選的,可以組合使用。<填充>:用于填充的單個字符。<對齊>:分別使用<、>及^表示左對齊、右對齊及居中對齊。<寬度>:設(shè)定當(dāng)前槽的輸出字符寬度。<,>:用于顯示數(shù)字類型的千位分隔符。<.精度>:由小數(shù)點(.)開頭,對于浮點數(shù),精度表示小數(shù)部分輸出的有效位數(shù);對于字符串,精度表示輸出的最大長度。<類型>:表示輸出整數(shù)和浮點數(shù)類型的格式規(guī)則。本題的格式要求:寬度為15個字符,數(shù)字右邊對齊,不足部分用星號填充,模板字符串為{:*﹥15}。劃線的空格處應(yīng)填入{:*﹥15}。39、考生文件夾下存在一個文件“PY102.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。a和b是兩個長度相同的列表變量,列表a為[3,6,9]已給定,用鍵盤輸入列表b,計算a中元素與b中對應(yīng)元素的和形成新的列表c,在屏幕上輸出。例如:用鍵盤輸入列表b為[1,2,3],屏幕輸出計算結(jié)果為[4,8,12]試題程序:#請在________處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼a=[3,6,9]b=eval(input())#例如:[1,2,3]c=[]foriinrange(________(1)________):c.a(chǎn)ppend(________(2)________)print(c)標(biāo)準(zhǔn)答案:a=[3,6,9]b:eval(input())#例如:[1,2,3]c=[]foriinrange(3):c.a(chǎn)ppend(a[i]+b[i])print(c)知識點解析:a和b是兩個長度相同的列表變量,a中有3個元素,則b中也有3個元素,a中元素與b中對應(yīng)元素的和則為a[i]+b[i],則第2空應(yīng)填寫a[i]+b[i]。列表中元素的索引從0開始,因此for循環(huán)中i的值應(yīng)分別為0、1、2。第1空應(yīng)填入3。40、考生文件夾下存在一個文件“PY103.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。以0為隨機數(shù)種子,隨機生成5個在1(含)~97(含)的隨機數(shù),計算這5個隨機數(shù)的平方和。試題程序:#請在________處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼importrandom________(1)________s=0foriinrange(5):n=random.randint(________(2)________)#產(chǎn)生隨機數(shù)s=________(3)________print(s)標(biāo)準(zhǔn)答案:importrandomrandom.seed(0)s=0foriinrange(5):n=random.randint(1,97)#產(chǎn)生隨機數(shù)s=s+n**2print(s)知識點解析:題目要求以0為隨機數(shù)種子,seed()

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論