版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2022年12月青少年軟件編程Python等級(jí)考試試卷四級(jí)(含答案和解析)分?jǐn)?shù):100題數(shù):38一、單選題(共25題,共50分)1.有n個(gè)按名稱排序的商品,使用對分查找法搜索任何一商品,最多查找次數(shù)為5次,則n的值可能為?(C)A.5B.15C.30D.35解析:對分查找最多查找次數(shù)m與個(gè)數(shù)之間n的關(guān)系是:n對2的對數(shù)的取整后加1,現(xiàn)在最多查找次數(shù)是5次,因此n的取值范圍在[2^4+1,2^5]即[16,31]之間,因此選C。2.下列有關(guān)分治算法思想的描述不正確的是?(D)A.將問題分解成的子問題具有相同的模式。B.當(dāng)問題足夠小時(shí),可以直接求解。C.可以將子問題的結(jié)果合并成原問題的解。D.將問題分解出的各個(gè)子問題相互包含,相互之間可以有公共子問題。解析:將問題分解出的各個(gè)子問題是相互獨(dú)立的,即子問題之間不包含公共子子問題。3.下列問題使用分治算法思想的是?(D)A.求100以內(nèi)的素?cái)?shù)B.求100個(gè)整數(shù)之和C.求斐波那契數(shù)列第n項(xiàng)D.快速排序算法對n個(gè)數(shù)排序解析:快速排序算法使用了分治算法。因此選D。4.李宇同學(xué)利用Python語言編寫了一段“根據(jù)出.生.年月判斷生肖屬相”的程序,調(diào)試運(yùn)行時(shí),程序沒有報(bào)錯(cuò)且順利運(yùn)行,但未能正確輸出對應(yīng)屬相,造成這個(gè)結(jié)果的原因可能是?(C)A.程序語句語法錯(cuò)誤B.時(shí)間復(fù)雜度太高C.求解算法邏輯錯(cuò)誤D.Python環(huán)境配置不對解析:程序能正常運(yùn)行,排除了其他三個(gè)可能。5.一般來說,遞歸需要有邊界條件、遞歸前進(jìn)段和遞歸返回段。當(dāng)不滿足邊界條件時(shí),();當(dāng)滿足邊界條件時(shí),()。(C)A.返回,前進(jìn)B.中斷,前進(jìn)C.前進(jìn),返回D.中斷,返回解析:遞歸運(yùn)行的條件,不滿足邊界條件前進(jìn),滿足返回。6.以下哪一項(xiàng)不是遞歸算法的特征?(D)A.要實(shí)現(xiàn)遞歸必須有一個(gè)函數(shù),并且在這個(gè)函數(shù)體內(nèi)要自己調(diào)用自己。B.遞歸必須要有判斷條件,這個(gè)判斷條件可以是判斷次數(shù)。C.到達(dá)判斷的條件后必須有返回,目的是結(jié)束遞歸。D.未到達(dá)判斷條件時(shí),不可以返回該函數(shù)。解析:未到達(dá)判斷條件時(shí),可以返回該函數(shù),也可以不返回。7.關(guān)于斐波那契數(shù)列,下列空白處的代碼填寫正確的是?(C)deffunc(num):ifnum==1:return1elifnum==2:return1else:lst=[]b=input('請輸入選擇的數(shù)字:')b1=int(b)forainrange(1,b1+1):print(func(a))lst.append(func(a))a+=1print(lst)A.returnfunc(num+1)+func(num-2)B.returnfunc(num-1)+func(num)C.returnfunc(num-1)+func(num-2)D.returnfunc(num-1)+func(num+2)解析:斐波那契數(shù)列,從第三項(xiàng)開始,每一項(xiàng)都等于前兩項(xiàng)之和。8.在有序列表[2,3,10,15,20,25,28,29,30,35,40]中,使用二分法查找20,需要查找多少次能找到?(B)A.5B.4C.3D.2解析:可以模擬二分法的執(zhí)行過程分析得出。9.下列程序輸出正確的是?(C)defac(n):ifn<0:returnelse:ac(n-1)print(n)ac(4)A.0,1,2,3,4B.1,2,3,4C.01234D.1234解析:依次輸出0-4,print()默認(rèn)換行。10.閱讀下列程序,運(yùn)行結(jié)果正確的是?(D)defpower(x,y):ify==0:return1else:returnx*power(x,y-1)print(power(4,5))A.243B.81C.1206D.1024解析:power(a,b)表示a的b次冪,當(dāng)y不等于0,返回x*power(x,y-1)。據(jù)題,x=4,y=5,因此4*power(4,4),即4*(4的4次冪),結(jié)果為1024。11.下載但不安裝一個(gè)第三方庫的命令格式是?(D)A.pipsearch第三方庫名B.pipuninstall第三方庫名C.pipinstall第三方庫名D.pipdownload第三方庫名解析:pipsearch為搜索三方包;pipinstall為安裝三方包;pipuninstall為卸載三方包。12.不需要使用Python的pip工具安裝的是?(A)A.Python標(biāo)準(zhǔn)庫B.第三方庫C.用戶自己開發(fā)的庫D.Python擴(kuò)展庫解析:除了A選項(xiàng),其他都要安裝。13.使用lambda定義匿名函數(shù)如下:f=lambdax:x+1,則f(f(1))代碼運(yùn)行結(jié)果是?(C)A.1B.2C.3D.會(huì)報(bào)錯(cuò)解析:f(1)=2,f(2)=3。14.關(guān)于函數(shù),以下選項(xiàng)中描述錯(cuò)誤的是?(D)A.函數(shù)是一段具有特定功能的、可重用的語句組。B.函數(shù)能完成特定的功能,對函數(shù)的調(diào)用不需要了解函數(shù)內(nèi)部實(shí)現(xiàn)原理,只要了解函數(shù)的輸入輸出方式即可。C.使用函數(shù)的主要目的是減低編程難度和代碼重用。D.Python使用“del”保留字定義一個(gè)函數(shù)。解析:Python使用“def”保留字定義一個(gè)函數(shù)。15.某自定義函數(shù)有兩個(gè)參數(shù),并且這兩個(gè)參數(shù)都指定了默認(rèn)值。我們在調(diào)用這個(gè)函數(shù)時(shí),最少需要提供幾個(gè)實(shí)參?(A)A.0B.1C.2D.3解析:只要有默認(rèn)值就可以省略。16.以下關(guān)于Python中使用函數(shù)的描述,錯(cuò)誤的是?(A)A.程序里一定要有main函數(shù)。B.使用函數(shù)前要先定義函數(shù)。C.函數(shù)在被調(diào)用時(shí)才執(zhí)行。D.函數(shù)執(zhí)行結(jié)束后,程序執(zhí)行流程會(huì)自動(dòng)返回到函數(shù)被調(diào)用的語句之后。解析:Python程序不必一定要有main函數(shù)。17.在Python中,函數(shù)通過可變參數(shù)*args傳入的參數(shù),在函數(shù)內(nèi)以哪種數(shù)據(jù)類型存儲(chǔ)?(A)A.元組B.列表C.集合D.字典解析:可變參數(shù)在函數(shù)內(nèi)以元組方式存儲(chǔ)。18.下列關(guān)于函數(shù)調(diào)用的說法正確的是?(C)A.調(diào)用函數(shù)時(shí)一定要賦值。B.只要安裝成功第三方庫,不要導(dǎo)入,就可以直接調(diào)用第三方庫里的函數(shù)。C.Python內(nèi)置的標(biāo)準(zhǔn)函數(shù)可以多次調(diào)用。D.函數(shù)調(diào)用時(shí),如果參數(shù)有默認(rèn)值,就不能給它再賦新的值了。解析:調(diào)用函數(shù)時(shí)不一定是必須要給參數(shù)賦值的;先導(dǎo)入第三方庫,再調(diào)用第三方庫里的函數(shù);有默認(rèn)值的參數(shù)也可以賦新值。19.自定義函數(shù)的關(guān)鍵字是?(C)A.defineB.delC.defD.dfe解析:考查自定義函數(shù)。20.下列選項(xiàng)中不能作為自定義函數(shù)名的是?(D)A.IntB._int2C.str2intD.2_int解析:函數(shù)名不能以數(shù)字開頭。21.函數(shù)定義如下:deffunc(a,b=0,c=0):pass下列選項(xiàng)調(diào)用錯(cuò)誤的是?(C)A.func(1)B.func(1,2)C.func(1,,3)D.func(1,2,3)解析:C選項(xiàng)中連續(xù)輸入了兩個(gè)逗號(hào),解釋器會(huì)報(bào)語法錯(cuò)誤。22.下列選項(xiàng)中,函數(shù)定義錯(cuò)誤的是?(D)A.defafunc(a,b=2):B.defbfunc(a,b):C.defcfunc(a,*b):D.defdfunc(*a,b):解析:可變參數(shù)必須在不可變參數(shù)的后面。23.運(yùn)行下列代碼,輸出結(jié)果為?(B)deffunc(a,b,*args):print(a)print(b)print(args)func(1,2,3,4,5,6)A.1,2,3,4,5,6B.12(3,4,5,6)C.12[3,4,5,6]D.123,4,5,6解析:a,b是位置參數(shù),所以a=1,b=2,其余的參數(shù)會(huì)被*args收集打包放進(jìn)一個(gè)元組中,即(3,4,5,6)。24.下列關(guān)于函數(shù)的說法正確的是?(C)A.一個(gè)函數(shù)在同一個(gè)程序中最多只能被調(diào)用999次。B.函數(shù)的返回值不可以賦值給變量。C.使用Python內(nèi)置模塊里的函數(shù)時(shí),要先導(dǎo)入該模塊到當(dāng)前文件中。D.調(diào)用沒有參數(shù)的函數(shù)時(shí)可以不帶圓括號(hào)。解析:函數(shù)的調(diào)用次數(shù)沒有限制,A錯(cuò)誤;函數(shù)的返回值可以賦值給變量,B錯(cuò)誤;調(diào)用沒有參數(shù)的函數(shù)時(shí),函數(shù)名后面也要跟一對圓括號(hào),D錯(cuò)誤。25.下列選項(xiàng)中,不是函數(shù)的是?(C)A.max()B.input()C.string()D.sum()解析:Python中string為模塊。二、判斷題(共10題,共20分)26.計(jì)算下面這段程序的時(shí)間復(fù)雜度為平方階:O(n^2)。(錯(cuò)誤)sum1=0foriinrange(101):sum1+=i解析:時(shí)間復(fù)雜度為線性階,計(jì)O(n)。27.漢諾塔游戲是遞歸調(diào)用的經(jīng)典案例。(正確)解析:漢諾塔是學(xué)習(xí)遞歸算法最為常見的例子。28.遞推關(guān)系是遞歸的重要組成。(正確)解析:對于遞歸而言,遞推與回歸,二者缺一不可。29.以下命令:pipgetpandas用于下載第三方庫pandas,但不馬上安裝。(錯(cuò)誤)解析:沒有g(shù)et這個(gè)命令。30.使用Python語言編程,可以定義一個(gè)名叫pass的函數(shù)。(錯(cuò)誤)解析:pass是保留字。31.函數(shù)中沒有return語句或者return語句不帶任何返回值,那么該函數(shù)的返回值為True。(錯(cuò)誤)解析:返回值為None。32.在Python中調(diào)用函數(shù)的時(shí)候,必須將每個(gè)實(shí)參都關(guān)聯(lián)到函數(shù)定義中的每一個(gè)形參,最簡單的關(guān)聯(lián)方式就是基于實(shí)參的順序。但也可以通過關(guān)鍵字實(shí)參的“關(guān)鍵字-值”方式關(guān)聯(lián)形參,這時(shí)就不必考慮函數(shù)調(diào)用過程中實(shí)參的順序。(正確)解析:考查函數(shù)的參數(shù)。33.在Python中,全局變量名和局部變量名一定不能重名。(錯(cuò)誤)解析:全局變量名和局部變量名可以是相同的變量名。34.調(diào)用函數(shù)時(shí),Python將形式參數(shù)傳遞給實(shí)際參數(shù)。(錯(cuò)誤)解析:調(diào)用函數(shù)時(shí),Python將實(shí)際參數(shù)傳遞給形式參數(shù)。35.分治算法的基本思想是將一個(gè)規(guī)模為N的問題分解為K個(gè)規(guī)模較小的子問題,這些子問題相互獨(dú)立且與原問題性質(zhì)相同。(正確)解析:分治算法的基本思想是將一個(gè)規(guī)模為N的問題分解為K個(gè)規(guī)模較小的子問題,這些子問題相互獨(dú)立且與原問題性質(zhì)相同。三、編程題(共3題,共30分)36.從鍵盤接收一組不重復(fù)整數(shù),并將這組整數(shù)按從小到大的順序排列。以下程序采取快速排序法對這組整數(shù)進(jìn)行排序??焖倥判蚍ǖ脑硎牵海?)取這組數(shù)據(jù)中間那個(gè)數(shù)為錨定值mid;(2)從這組數(shù)據(jù)開頭往右找,遇到比mid大的數(shù)則停下,位置記為i;(3)從這組數(shù)據(jù)末尾往左找,遇到比mid小的數(shù)則停下,位置記為j;(4)如果此時(shí)i仍在j左邊,即i<=j,則交換這兩個(gè)數(shù);(5)重復(fù)(2)~(4)直到i、j重合;(6)對i左邊的數(shù)進(jìn)行快速排序;(7)對右邊的數(shù)進(jìn)行快速排序。輸入示例:請輸入需要排序的一組整數(shù),數(shù)與數(shù)之間用空格隔開:6101184197。輸出示例:排序結(jié)果:1467891011。程序模板:參考答案:評分標(biāo)準(zhǔn):(1)left>=right;(2分)(2)Numbers[i],Numbers[j]=Numbers[j],Numbers[i];(2分)(3)split();(2分)(4)len(Numbers)-1。(2分)37.雞兔同籠是中國古代的數(shù)學(xué)名題之一。大約在1500年前,《孫子算經(jīng)》中就記載了這個(gè)有趣的問題。書中是這樣敘述的:今有雉兔同籠,上有三十五頭,下有九十四足,問雉兔各幾何?意思是:有若干只雞兔同在一個(gè)籠子里(籠中最少有一只雞和一只兔),從上面數(shù),有35個(gè)頭,從下面數(shù),有94只腳。問籠中各有多少只雞和兔?今天我們用編程的方法來求解一下這道數(shù)學(xué)命題吧。參考答案:評分標(biāo)準(zhǔn):(1)head-j;(2分)(2)(j*2+t*4);(3分)(3)j,t;(2分)(4)sum_head<2orsum_leg<6;(3分)(5)sum_head,sum_leg。(2分)38.有一個(gè)游戲:有兩個(gè)人,第一個(gè)人先從1和2中挑一個(gè)數(shù)字,第二個(gè)人可以在對方的基礎(chǔ)上選擇加1或者加2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度城市軌道交通設(shè)備維護(hù)與檢修合同范本3篇
- 二零二五年度房產(chǎn)證辦理專業(yè)委托代理合同
- 2025年度私人購車二手車寄售及經(jīng)紀(jì)服務(wù)合同3篇
- 2025年度環(huán)保型爬架租賃及維護(hù)合同3篇
- 二零二五年度企業(yè)孵化器項(xiàng)目引進(jìn)與孵化合同3篇
- 2025版網(wǎng)絡(luò)數(shù)據(jù)保管員聘用合同標(biāo)準(zhǔn)版2篇
- 二零二五年度新型紗窗材料研發(fā)與應(yīng)用合同2篇
- 二零二五年度城市軌道交通招標(biāo)合同管理規(guī)范6篇
- 課程設(shè)計(jì)打印圖紙模板
- 二零二五年度合同擔(dān)保書撰寫指南與合同擔(dān)保合同審查3篇
- 幼兒園領(lǐng)域課程指導(dǎo)叢書:幼兒園美術(shù)領(lǐng)域教育精要關(guān)鍵經(jīng)驗(yàn)與
- 體育行業(yè)新媒體營銷策劃方案之在社交平臺(tái)上推廣體育賽事和運(yùn)動(dòng)品牌
- 血透室護(hù)理安全隱患
- 期末復(fù)習(xí)計(jì)劃:部編版六年級(jí)上冊道德與法治教案
- 2023年亞馬遜主管年終業(yè)務(wù)工作總結(jié)
- 2024年中國華電集團(tuán)招聘筆試參考題庫含答案解析
- 為時(shí)代而歌 與人民同行-寫在音樂家姚牧百年誕辰之際
- 《頭痛》醫(yī)學(xué)課件
- 通用質(zhì)量特性基本概念和理論
- 平臺(tái)經(jīng)濟(jì)的典型特征、壟斷分析與反壟斷監(jiān)管
- 交房安保方案
評論
0/150
提交評論