資源簡(jiǎn)介 2022年12月青少年軟件編程(Python)等級(jí)考試4級(jí)試題一、單選題(共25題,共50分)1.有n個(gè)按名稱排序的商品,使用對(duì)分查找法搜索任何一商品,最多查找次數(shù)為5次,則n的值可能為?( ) A. 5B. 15C. 30D. 35 2.下列有關(guān)分治算法思想的描述不正確的是?( ) A. 將問(wèn)題分解成的子問(wèn)題具有相同的模式B. 當(dāng)問(wèn)題足夠小時(shí),可以直接求解C. 可以將子問(wèn)題的結(jié)果合并成原問(wèn)題的解D. 將問(wèn)題分解出的各個(gè)子問(wèn)題相互包含,相互之間可以有公共子問(wèn)題 3.下列問(wèn)題使用分治算法思想的是?( )A. 求100以內(nèi)的素?cái)?shù)B. 求100個(gè)整數(shù)之和C. 求斐波那契數(shù)列第n項(xiàng)D. 快速排序算法對(duì)n個(gè)數(shù)排序 4.李宇同學(xué)利用Python語(yǔ)言編寫了一段“根據(jù)出生年月判斷生肖屬相”的程序,調(diào)試運(yùn)行時(shí),程序沒(méi)有報(bào)錯(cuò)且順利運(yùn)行,但未能正確輸出對(duì)應(yīng)屬相,造成這個(gè)結(jié)果的原因可能是?( ) A. 程序語(yǔ)句語(yǔ)法錯(cuò)誤B. 時(shí)間復(fù)雜度太高C. 求解算法邏輯錯(cuò)誤D. Python環(huán)境配置不對(duì) 5.一般來(lái)說(shuō),遞歸需要有邊界條件、遞歸前進(jìn)段和遞歸返回段。當(dāng)不滿足邊界條件時(shí),( );當(dāng)滿足邊界條件時(shí),( )。 A. 返回,前進(jìn)B. 中斷,前進(jìn)C. 前進(jìn),返回D. 中斷,返回 6.以下哪一項(xiàng)不是遞歸算法的特征?( )A. 要實(shí)現(xiàn)遞歸必須有一個(gè)函數(shù),并且在這個(gè)函數(shù)體內(nèi)要自己調(diào)用自己。B. 遞歸必須要有判斷條件,這個(gè)判斷條件可以是判斷次數(shù)。C. 到達(dá)判斷的條件后必須有返回,目的是結(jié)束遞歸。D. 未到達(dá)判斷條件時(shí),不可以返回該函數(shù)。 7.關(guān)于斐波那契數(shù)列,下列空白處的代碼填寫正確的是?( ) def func(num): if num==1: return 1 elif num==2: return 1 else: lst=[] b=input('請(qǐng)輸入選擇的數(shù)字:') b1=int(b) for a in range(1,b1+1): print(func(a)) lst.append(func(a)) a+=1 print(lst) A. return func(num+1)+func(num-2)B. return func(num-1)+func(num)C. return func(num-1)+func(num-2)D. return func(num-1)+func(num+2) 8.在有序列表[2,3,10,15,20,25,28,29,30,35,40]中,使用二分法查找20,需要查找多少次能找到?( ) A. 5B. 4C. 3D. 2 9.下列程序輸出正確的是?( ) def ac(n): if n < 0: return else: ac(n-1) print(n) ac(4) A. 0,1,2,3,4B. 1,2,3,4C. 0 1 2 3 4D. 1 2 3 4 10.閱讀下列程序,運(yùn)行結(jié)果正確的是?( ) def power(x,y): if y==0: return 1 else: return x * power(x,y-1) print(power(4,5)) A. 243B. 81C. 1206D. 1024 11.下載但不安裝一個(gè)第三方庫(kù)的命令格式是?( ) A. pip search 第三方庫(kù)名B. pip uninstall 第三方庫(kù)名C. pip install 第三方庫(kù)名D. pip download 第三方庫(kù)名 12.不需要使用Python的pip工具安裝的是?( ) A. Python標(biāo)準(zhǔn)庫(kù)B. 第三方庫(kù)C. 用戶自己開發(fā)的庫(kù)D. Python擴(kuò)展庫(kù) 14.關(guān)于函數(shù),以下選項(xiàng)中描述錯(cuò)誤的是?( ) A. 函數(shù)是一段具有特定功能的、可重用的語(yǔ)句組。B. 函數(shù)能完成特定的功能,對(duì)函數(shù)的調(diào)用不需要了解函數(shù)內(nèi)部實(shí)現(xiàn)原理,只要了解函數(shù)的輸入輸出方式即可。C. 使用函數(shù)的主要目的是減低編程難度和代碼重用。D. Python 使用“del”保留字定義一個(gè)函數(shù)。 15.某自定義函數(shù)有兩個(gè)參數(shù),并且這兩個(gè)參數(shù)都指定了默認(rèn)值。我們?cè)谡{(diào)用這個(gè)函數(shù)時(shí),最少需要提供幾個(gè)實(shí)參?( ) A. 0B. 1C. 2D. 3 16.以下關(guān)于Python中使用函數(shù)的描述,錯(cuò)誤的是?( ) A. 程序里一定要有main函數(shù)。B. 使用函數(shù)前要先定義函數(shù)。C. 函數(shù)在被調(diào)用時(shí)才執(zhí)行。D. 函數(shù)執(zhí)行結(jié)束后,程序執(zhí)行流程會(huì)自動(dòng)返回到函數(shù)被調(diào)用的語(yǔ)句之后。 17.在Python中,函數(shù)通過(guò)可變參數(shù)*args傳入的參數(shù),在函數(shù)內(nèi)以哪種數(shù)據(jù)類型存儲(chǔ)?( ) A. 元組B. 列表C. 集合D. 字典 18.下列關(guān)于函數(shù)調(diào)用的說(shuō)法正確的是?( ) A. 調(diào)用函數(shù)時(shí)一定要賦值。B. 只要安裝成功第三方庫(kù),不要導(dǎo)入,就可以直接調(diào)用第三方庫(kù)里的函數(shù)。C. Python內(nèi)置的標(biāo)準(zhǔn)函數(shù)可以多次調(diào)用。D. 函數(shù)調(diào)用時(shí),如果參數(shù)有默認(rèn)值,就不能給它再賦新的值了。 19.自定義函數(shù)的關(guān)鍵字是?( ) A. defineB. delC. defD. dfe 20.下列選項(xiàng)中不能作為自定義函數(shù)名的是?( ) A. IntB. _int2C. str2intD. 2_int 21.函數(shù)定義如下: def func(a,b=0,c=0): pass 下列選項(xiàng)調(diào)用錯(cuò)誤的是?( ) A. func(1)B. func(1,2)C. func(1, ,3)D. func(1,2,3) 22.下列選項(xiàng)中,函數(shù)定義錯(cuò)誤的是?( ) A. def afunc(a,b=2):B. def bfunc(a,b):C. def cfunc(a,*b):D. def dfunc(*a,b): 24.下列關(guān)于函數(shù)的說(shuō)法正確的是?( ) A. 一個(gè)函數(shù)在同一個(gè)程序中最多只能被調(diào)用999次B. 函數(shù)的返回值不可以賦值給變量C. 使用Python內(nèi)置模塊里的函數(shù)時(shí),要先導(dǎo)入該模塊到當(dāng)前文件中D. 調(diào)用沒(méi)有參數(shù)的函數(shù)時(shí)可以不帶圓括號(hào) 25.下列選項(xiàng)中,不是函數(shù)的是?( ) A. max()B. input()C. string()D. sum() 二、判斷題(共10題,共20分)26.計(jì)算下面這段程序的時(shí)間復(fù)雜度為平方階:O(n^2)。( )sum1=0for i in range(101): sum1+=i 正確 錯(cuò)誤 27.漢諾塔游戲是遞歸調(diào)用的經(jīng)典案例。( ) 正確 錯(cuò)誤 試題編號(hào):20220501-zwy-029 28.遞推關(guān)系是遞歸的重要組成。( ) 正確 錯(cuò)誤 29.以下命令:pip get pandas用于下載第三方庫(kù)pandas,但不馬上安裝。( ) 正確 錯(cuò)誤 30.使用Python語(yǔ)言編程,可以定義一個(gè)名叫pass的函數(shù)。( ) 正確 錯(cuò)誤 31.函數(shù)中沒(méi)有return語(yǔ)句或者return語(yǔ)句不帶任何返回值,那么該函數(shù)的返回值為True。( ) 正確 錯(cuò)誤 32.在Python中調(diào)用函數(shù)的時(shí)候,必須將每個(gè)實(shí)參都關(guān)聯(lián)到函數(shù)定義中的每一個(gè)形參,最簡(jiǎn)單的關(guān)聯(lián)方式就是基于實(shí)參的順序。但也可以通過(guò)關(guān)鍵字實(shí)參的“關(guān)鍵字-值”方式關(guān)聯(lián)形參,這時(shí)就不必考慮函數(shù)調(diào)用過(guò)程中實(shí)參的順序。( ) 正確 錯(cuò)誤 33.在Python中,全局變量名和局部變量名一定不能重名。( ) 正確 錯(cuò)誤 34.調(diào)用函數(shù)時(shí),Python將形式參數(shù)傳遞給實(shí)際參數(shù)。( ) 正確 錯(cuò)誤 35.分治算法的基本思想是將一個(gè)規(guī)模為N的問(wèn)題分解為K個(gè)規(guī)模較小的子問(wèn)題,這些子問(wèn)題相互獨(dú)立且與原問(wèn)題性質(zhì)相同。( ) 正確 錯(cuò)誤 三、編程題(共3題,共30分)36.從鍵盤接收一組不重復(fù)整數(shù),并將這組整數(shù)按從小到大的順序排列。以下程序采取快速排序法對(duì)這組整數(shù)進(jìn)行排序。快速排序法的原理是:(1)取這組數(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)對(duì)i左邊的數(shù)進(jìn)行快速排序;(7)對(duì)右邊的數(shù)進(jìn)行快速排序。輸入示例:請(qǐng)輸入需要排序的一組整數(shù),數(shù)與數(shù)之間用空格隔開:6 10 11 8 4 1 9 7輸出示例:排序結(jié)果:1 4 6 7 8 9 10 11 程序模板:def QuickSort(left,right): if ① : return mid=Numbers[left+(right-left)//2] i=left j=right while i while Numbers[i] i+=1 while Numbers[j]>mid: j-=1 if i<=j: ② QuickSort(left,j-1) QuickSort(i+1,right) Numbers=list(map(int,input("請(qǐng)輸入需要排序的一組整數(shù),數(shù)與數(shù)之間用空格隔開:"). ③ )) QuickSort(0, ④ ) print("排序結(jié)果:",end="") for i in Numbers: print(i,end=" ") 37.雞兔同籠是中國(guó)古代的數(shù)學(xué)名題之一。大約在1500年前,《孫子算經(jīng)》中就記載了這個(gè)有趣的問(wèn)題。書中是這樣敘述的:今有雉兔同籠,上有三十五頭,下有九十四足,問(wèn)雉兔各幾何?意思是:有若干只雞兔同在一個(gè)籠子里(籠中最少有一只雞和一只兔),從上面數(shù),有35個(gè)頭,從下面數(shù),有94只腳。問(wèn)籠中各有多少只雞和兔? 今天我們用編程的方法來(lái)求解一下這道數(shù)學(xué)命題吧。 def ji_tu(head,leg): j=0 t=0 while j j += 1 t = ① if (leg== ② ): print('有雞{}只,有兔子{}只。'.format( ③ )) return (j,t) while True: try: sum_head=int(input('請(qǐng)輸入總頭數(shù):')) sum_leg=int(input('請(qǐng)輸入總腳數(shù):')) if ④ : print('輸入雞和兔子的總頭數(shù)或總腳數(shù)錯(cuò)誤,請(qǐng)重新輸入!') else: ji_tu( ⑤ ) except: print('能不能正常輸入數(shù)據(jù)?') 38.有一個(gè)游戲:有兩個(gè)人,第一個(gè)人先從1和2中挑一個(gè)數(shù)字,第二個(gè)人可以在對(duì)方的基礎(chǔ)上選擇加1或者加2,然后又輪到第一個(gè)人,他也可以選擇加1或者加2,之后再把選擇權(quán)交給對(duì)方,就這樣雙方交替地選擇加1或者加2,誰(shuí)先加到20,誰(shuí)就贏了。在不考慮誰(shuí)輸誰(shuí)贏的情況下,從一開始(以1或2為起點(diǎn))加到20,有多少種不同的遞加過(guò)程?比如1,4,7,10,12,15,18,20算一種;2,5,8,11,14,17,20又是一種。那么一共會(huì)有多少種這樣的過(guò)程呢?我們可以用遞歸算法來(lái)解決這個(gè)問(wèn)題,請(qǐng)補(bǔ)全代碼。def guo_cheng(n): if ① : return 1 return ② # 輸出所有過(guò)程的個(gè)數(shù) print (guo_cheng( ③ )) 2022年12月青少年軟件編程(Python)等級(jí)考試4級(jí)試題答案解析一、單選題(共25題,共50分)1.有n個(gè)按名稱排序的商品,使用對(duì)分查找法搜索任何一商品,最多查找次數(shù)為5次,則n的值可能為?( ) A. 5B. 15C. 30D. 35 試題編號(hào):20220428-fcl-017 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:C 試題難度:一般 試題解析:對(duì)分查找最多查找次數(shù)m與個(gè)數(shù)之間n的關(guān)系是:n對(duì)2的對(duì)數(shù)的取整后加1,現(xiàn)在最多查找次數(shù)是5次,因此n的取值范圍在[2^4+1,2^5]即[16,31]之間,因此選C。 考生答案:C 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:2.下列有關(guān)分治算法思想的描述不正確的是?( ) A. 將問(wèn)題分解成的子問(wèn)題具有相同的模式B. 當(dāng)問(wèn)題足夠小時(shí),可以直接求解C. 可以將子問(wèn)題的結(jié)果合并成原問(wèn)題的解D. 將問(wèn)題分解出的各個(gè)子問(wèn)題相互包含,相互之間可以有公共子問(wèn)題 試題編號(hào):20220428-fcl-020 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:D 試題難度:一般 試題解析:將問(wèn)題分解出的各個(gè)子問(wèn)題是相互獨(dú)立的,即子問(wèn)題之間不包含公共子子問(wèn)題 考生答案:D 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:3.下列問(wèn)題使用分治算法思想的是?( )A. 求100以內(nèi)的素?cái)?shù)B. 求100個(gè)整數(shù)之和C. 求斐波那契數(shù)列第n項(xiàng)D. 快速排序算法對(duì)n個(gè)數(shù)排序 試題編號(hào):20220428-fcl-022 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:D 試題難度:一般 試題解析:快速排序算法使用了分治算法。因此選D。 考生答案:D 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:4.李宇同學(xué)利用Python語(yǔ)言編寫了一段“根據(jù)出生年月判斷生肖屬相”的程序,調(diào)試運(yùn)行時(shí),程序沒(méi)有報(bào)錯(cuò)且順利運(yùn)行,但未能正確輸出對(duì)應(yīng)屬相,造成這個(gè)結(jié)果的原因可能是?( ) A. 程序語(yǔ)句語(yǔ)法錯(cuò)誤B. 時(shí)間復(fù)雜度太高C. 求解算法邏輯錯(cuò)誤D. Python環(huán)境配置不對(duì) 試題編號(hào):20220501-tr-031 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:C 試題難度:一般 試題解析:程序能正常運(yùn)行,排除了其他三個(gè)可能。 考生答案:C 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:5.一般來(lái)說(shuō),遞歸需要有邊界條件、遞歸前進(jìn)段和遞歸返回段。當(dāng)不滿足邊界條件時(shí),( );當(dāng)滿足邊界條件時(shí),( )。 A. 返回,前進(jìn)B. 中斷,前進(jìn)C. 前進(jìn),返回D. 中斷,返回 試題編號(hào):20220501-zwy-003 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:C 試題難度:容易 試題解析:遞歸運(yùn)行的條件,不滿足邊界條件前進(jìn),滿足返回。 考生答案:C 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:6.以下哪一項(xiàng)不是遞歸算法的特征?( )A. 要實(shí)現(xiàn)遞歸必須有一個(gè)函數(shù),并且在這個(gè)函數(shù)體內(nèi)要自己調(diào)用自己。B. 遞歸必須要有判斷條件,這個(gè)判斷條件可以是判斷次數(shù)。C. 到達(dá)判斷的條件后必須有返回,目的是結(jié)束遞歸。D. 未到達(dá)判斷條件時(shí),不可以返回該函數(shù)。 試題編號(hào):20220501-zwy-016 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:D 試題難度:一般 試題解析:未到達(dá)判斷條件時(shí),可以返回該函數(shù),也可以不返回。 考生答案:D 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:7.關(guān)于斐波那契數(shù)列,下列空白處的代碼填寫正確的是?( ) def func(num): if num==1: return 1 elif num==2: return 1 else: lst=[] b=input('請(qǐng)輸入選擇的數(shù)字:') b1=int(b) for a in range(1,b1+1): print(func(a)) lst.append(func(a)) a+=1 print(lst) A. return func(num+1)+func(num-2)B. return func(num-1)+func(num)C. return func(num-1)+func(num-2)D. return func(num-1)+func(num+2) 試題編號(hào):20220501-zwy-017 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:C 試題難度:較難 試題解析:斐波那契數(shù)列,從第三項(xiàng)開始,每一項(xiàng)都等于前兩項(xiàng)之和。 考生答案:C 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:8.在有序列表[2,3,10,15,20,25,28,29,30,35,40]中,使用二分法查找20,需要查找多少次能找到?( ) A. 5B. 4C. 3D. 2 試題編號(hào):20220501-zwy-019 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:B 試題難度:容易 試題解析:可以模擬二分法的執(zhí)行過(guò)程分析得出。 考生答案:B 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:9.下列程序輸出正確的是?( ) def ac(n): if n < 0: return else: ac(n-1) print(n) ac(4) A. 0,1,2,3,4B. 1,2,3,4C. 0 1 2 3 4D. 1 2 3 4 試題編號(hào):20220501-zwy-020 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:C 試題難度:一般 試題解析:依次輸出0-4,print()默認(rèn)換行。 考生答案:C 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:10.閱讀下列程序,運(yùn)行結(jié)果正確的是?( ) def power(x,y): if y==0: return 1 else: return x * power(x,y-1) print(power(4,5)) A. 243B. 81C. 1206D. 1024 試題編號(hào):20220501-zwy-023 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:D 試題難度:較難 試題解析: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。 考生答案:D 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:11.下載但不安裝一個(gè)第三方庫(kù)的命令格式是?( ) A. pip search 第三方庫(kù)名B. pip uninstall 第三方庫(kù)名C. pip install 第三方庫(kù)名D. pip download 第三方庫(kù)名 試題編號(hào):20220502-cj-001 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:D 試題難度:容易 試題解析:pip search為搜索三方包pip install為安裝三方包pip uninstall為卸載三方包 考生答案:A 考生得分:0 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:12.不需要使用Python的pip工具安裝的是?( ) A. Python標(biāo)準(zhǔn)庫(kù)B. 第三方庫(kù)C. 用戶自己開發(fā)的庫(kù)D. Python擴(kuò)展庫(kù) 試題編號(hào):20220502-cj-002 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:A 試題難度:容易 試題解析:其它要安裝 考生答案:A 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:13.使用lambda定義匿名函數(shù)如下:f=lambda x:x+1,則f(f(1))代碼運(yùn)行結(jié)果是?( )A. 1B. 2C. 3D. 會(huì)報(bào)錯(cuò) 試題編號(hào):20220502-cj-005 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:C 試題難度:較難 試題解析:f(1)=2,f(2)=3 考生答案:C 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:14.關(guān)于函數(shù),以下選項(xiàng)中描述錯(cuò)誤的是?( ) A. 函數(shù)是一段具有特定功能的、可重用的語(yǔ)句組。B. 函數(shù)能完成特定的功能,對(duì)函數(shù)的調(diào)用不需要了解函數(shù)內(nèi)部實(shí)現(xiàn)原理,只要了解函數(shù)的輸入輸出方式即可。C. 使用函數(shù)的主要目的是減低編程難度和代碼重用。D. Python 使用“del”保留字定義一個(gè)函數(shù)。 試題編號(hào):20220502-cj-008 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:D 試題難度:一般 試題解析:Python 使用“def”保留字定義一個(gè)函數(shù)。 考生答案:D 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:15.某自定義函數(shù)有兩個(gè)參數(shù),并且這兩個(gè)參數(shù)都指定了默認(rèn)值。我們?cè)谡{(diào)用這個(gè)函數(shù)時(shí),最少需要提供幾個(gè)實(shí)參?( ) A. 0B. 1C. 2D. 3 試題編號(hào):20220502-cj-010 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:A 試題難度:容易 試題解析:只要有默認(rèn)值就可以省略。 考生答案:A 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:16.以下關(guān)于Python中使用函數(shù)的描述,錯(cuò)誤的是?( ) A. 程序里一定要有main函數(shù)。B. 使用函數(shù)前要先定義函數(shù)。C. 函數(shù)在被調(diào)用時(shí)才執(zhí)行。D. 函數(shù)執(zhí)行結(jié)束后,程序執(zhí)行流程會(huì)自動(dòng)返回到函數(shù)被調(diào)用的語(yǔ)句之后。 試題編號(hào):20220502-cj-013 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:A 試題難度:一般 試題解析:Python程序不必一定要有main函數(shù)。 考生答案:A 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:17.在Python中,函數(shù)通過(guò)可變參數(shù)*args傳入的參數(shù),在函數(shù)內(nèi)以哪種數(shù)據(jù)類型存儲(chǔ)?( ) A. 元組B. 列表C. 集合D. 字典 試題編號(hào):20220502-cj-014 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:A 試題難度:一般 試題解析:可變參數(shù)在函數(shù)內(nèi)以元組方式存儲(chǔ)。 考生答案:A 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:18.下列關(guān)于函數(shù)調(diào)用的說(shuō)法正確的是?( ) A. 調(diào)用函數(shù)時(shí)一定要賦值。B. 只要安裝成功第三方庫(kù),不要導(dǎo)入,就可以直接調(diào)用第三方庫(kù)里的函數(shù)。C. Python內(nèi)置的標(biāo)準(zhǔn)函數(shù)可以多次調(diào)用。D. 函數(shù)調(diào)用時(shí),如果參數(shù)有默認(rèn)值,就不能給它再賦新的值了。 試題編號(hào):20220516-cqf-11 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:C 試題難度:容易 試題解析:調(diào)用函數(shù)時(shí)不一定是必須要給參數(shù)賦值的;先導(dǎo)入第三方庫(kù),再調(diào)用第三方庫(kù)里的函數(shù);有默認(rèn)值的參數(shù)也可以賦新值。 考生答案:C 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:19.自定義函數(shù)的關(guān)鍵字是?( ) A. defineB. delC. defD. dfe 試題編號(hào):20220516-cqf-12 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:C 試題難度:容易 試題解析:自定義函數(shù)的關(guān)鍵字是def。 考生答案:C 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:20.下列選項(xiàng)中不能作為自定義函數(shù)名的是?( ) A. IntB. _int2C. str2intD. 2_int 試題編號(hào):20220516-cqf-13 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:D 試題難度:容易 試題解析:函數(shù)名不能以數(shù)字開頭。 考生答案:D 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:21.函數(shù)定義如下: def func(a,b=0,c=0): pass 下列選項(xiàng)調(diào)用錯(cuò)誤的是?( ) A. func(1)B. func(1,2)C. func(1, ,3)D. func(1,2,3) 試題編號(hào):20220516-cqf-16 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:C 試題難度:容易 試題解析:C選項(xiàng)中連續(xù)輸入了兩個(gè)逗號(hào),解釋器會(huì)報(bào)語(yǔ)法錯(cuò)誤。 考生答案:C 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:22.下列選項(xiàng)中,函數(shù)定義錯(cuò)誤的是?( ) A. def afunc(a,b=2):B. def bfunc(a,b):C. def cfunc(a,*b):D. def dfunc(*a,b): 試題編號(hào):20220516-cqf-17 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:D 試題難度:一般 試題解析:可變參數(shù)必須在不可變參數(shù)的后面。 考生答案:D 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:23.運(yùn)行下列代碼,輸出結(jié)果為?( ) def func(a,b,*args): print(a) print(b) print(args) func(1,2,3,4,5,6) A. 1,2,3,4,5,6B. 1 2 (3,4,5,6)C. 1 2 [3,4,5,6]D. 1 2 3,4,5,6 試題編號(hào):20220516-cqf-18 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:B 試題難度:較難 試題解析:a,b是位置參數(shù),所以a=1,b=2,其余的參數(shù)會(huì)被*args收集打包放進(jìn)一個(gè)元組中,即(3,4,5,6)。 考生答案:B 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:24.下列關(guān)于函數(shù)的說(shuō)法正確的是?( ) A. 一個(gè)函數(shù)在同一個(gè)程序中最多只能被調(diào)用999次B. 函數(shù)的返回值不可以賦值給變量C. 使用Python內(nèi)置模塊里的函數(shù)時(shí),要先導(dǎo)入該模塊到當(dāng)前文件中D. 調(diào)用沒(méi)有參數(shù)的函數(shù)時(shí)可以不帶圓括號(hào) 試題編號(hào):20220516-cqf-2 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:C 試題難度:容易 試題解析:函數(shù)的調(diào)用次數(shù)沒(méi)有限制,A錯(cuò)誤;函數(shù)的返回值可以賦值給變量,B錯(cuò)誤;調(diào)用沒(méi)有參數(shù)的函數(shù)時(shí),函數(shù)名后面也要跟一對(duì)圓括號(hào),D錯(cuò)誤。 考生答案:C 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:25.下列選項(xiàng)中,不是函數(shù)的是?( ) A. max()B. input()C. string()D. sum() 試題編號(hào):20220516-cqf-6 試題類型:?jiǎn)芜x題 標(biāo)準(zhǔn)答案:C 試題難度:容易 試題解析:Python中string為模塊 考生答案:C 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:二、判斷題(共10題,共20分)26.計(jì)算下面這段程序的時(shí)間復(fù)雜度為平方階:O(n^2)。( )sum1=0for i in range(101): sum1+=i 正確 錯(cuò)誤 試題編號(hào):20220501-tr-032 試題類型:判斷題 標(biāo)準(zhǔn)答案:錯(cuò)誤 試題難度:一般 試題解析:時(shí)間復(fù)雜度為線性階,計(jì)O(n)。 考生答案:錯(cuò)誤 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:27.漢諾塔游戲是遞歸調(diào)用的經(jīng)典案例。( ) 正確 錯(cuò)誤 試題編號(hào):20220501-zwy-029 試題類型:判斷題 標(biāo)準(zhǔn)答案:正確 試題難度:容易 試題解析:漢諾塔是學(xué)習(xí)遞歸算法最為常見(jiàn)的例子。 考生答案:正確 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:28.遞推關(guān)系是遞歸的重要組成。( ) 正確 錯(cuò)誤 試題編號(hào):20220501-zwy-030 試題類型:判斷題 標(biāo)準(zhǔn)答案:正確 試題難度:一般 試題解析:對(duì)于遞歸而言,遞推與回歸,二者缺一不可。 考生答案:正確 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:29.以下命令:pip get pandas用于下載第三方庫(kù)pandas,但不馬上安裝。( ) 正確 錯(cuò)誤 試題編號(hào):20220502-cj-003 試題類型:判斷題 標(biāo)準(zhǔn)答案:錯(cuò)誤 試題難度:容易 試題解析:沒(méi)有g(shù)et這個(gè)命令。 考生答案:錯(cuò)誤 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:30.使用Python語(yǔ)言編程,可以定義一個(gè)名叫pass的函數(shù)。( ) 正確 錯(cuò)誤 試題編號(hào):20220502-cj-011 試題類型:判斷題 標(biāo)準(zhǔn)答案:錯(cuò)誤 試題難度:容易 試題解析:pass是保留字。 考生答案:錯(cuò)誤 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:31.函數(shù)中沒(méi)有return語(yǔ)句或者return語(yǔ)句不帶任何返回值,那么該函數(shù)的返回值為True。( ) 正確 錯(cuò)誤 試題編號(hào):20220502-cj-012 試題類型:判斷題 標(biāo)準(zhǔn)答案:錯(cuò)誤 試題難度:容易 試題解析:返回值為None 考生答案:錯(cuò)誤 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:32.在Python中調(diào)用函數(shù)的時(shí)候,必須將每個(gè)實(shí)參都關(guān)聯(lián)到函數(shù)定義中的每一個(gè)形參,最簡(jiǎn)單的關(guān)聯(lián)方式就是基于實(shí)參的順序。但也可以通過(guò)關(guān)鍵字實(shí)參的“關(guān)鍵字-值”方式關(guān)聯(lián)形參,這時(shí)就不必考慮函數(shù)調(diào)用過(guò)程中實(shí)參的順序。( ) 正確 錯(cuò)誤 試題編號(hào):20220503-cj-002 試題類型:判斷題 標(biāo)準(zhǔn)答案:正確 試題難度:容易 試題解析: 考生答案:正確 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:33.在Python中,全局變量名和局部變量名一定不能重名。( ) 正確 錯(cuò)誤 試題編號(hào):20220516-cqf-14 試題類型:判斷題 標(biāo)準(zhǔn)答案:錯(cuò)誤 試題難度:一般 試題解析:全局變量名和局部變量名可以是相同的變量名。 考生答案:錯(cuò)誤 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:34.調(diào)用函數(shù)時(shí),Python將形式參數(shù)傳遞給實(shí)際參數(shù)。( ) 正確 錯(cuò)誤 試題編號(hào):20220516-cqf-15 試題類型:判斷題 標(biāo)準(zhǔn)答案:錯(cuò)誤 試題難度:容易 試題解析:調(diào)用函數(shù)時(shí),Python將實(shí)際參數(shù)傳遞給形式參數(shù)。 考生答案:錯(cuò)誤 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:35.分治算法的基本思想是將一個(gè)規(guī)模為N的問(wèn)題分解為K個(gè)規(guī)模較小的子問(wèn)題,這些子問(wèn)題相互獨(dú)立且與原問(wèn)題性質(zhì)相同。( ) 正確 錯(cuò)誤 試題編號(hào):20220428-fcl-030 試題類型:判斷題 標(biāo)準(zhǔn)答案:正確 試題難度:容易 試題解析:分治算法的基本思想是將一個(gè)規(guī)模為N的問(wèn)題分解為K個(gè)規(guī)模較小的子問(wèn)題,這些子問(wèn)題相互獨(dú)立且與原問(wèn)題性質(zhì)相同。 考生答案:正確 考生得分:2 是否評(píng)分:已評(píng)分 評(píng)價(jià)描述:三、編程題(共3題,共30分)36.從鍵盤接收一組不重復(fù)整數(shù),并將這組整數(shù)按從小到大的順序排列。以下程序采取快速排序法對(duì)這組整數(shù)進(jìn)行排序。快速排序法的原理是:(1)取這組數(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)對(duì)i左邊的數(shù)進(jìn)行快速排序;(7)對(duì)右邊的數(shù)進(jìn)行快速排序。輸入示例:請(qǐng)輸入需要排序的一組整數(shù),數(shù)與數(shù)之間用空格隔開:6 10 11 8 4 1 9 7輸出示例:排序結(jié)果:1 4 6 7 8 9 10 11 程序模板:def QuickSort(left,right): if ① : return mid=Numbers[left+(right-left)//2] i=left j=right while i while Numbers[i] i+=1 while Numbers[j]>mid: j-=1 if i<=j: ② QuickSort(left,j-1) QuickSort(i+1,right) Numbers=list(map(int,input("請(qǐng)輸入需要排序的一組整數(shù),數(shù)與數(shù)之間用空格隔開:"). ③ )) QuickSort(0, ④ ) print("排序結(jié)果:",end="") for i in Numbers: print(i,end=" ") 試題編號(hào):202212-P4-36 試題類型:編程題 標(biāo)準(zhǔn)答案:參考程序:def QuickSort(left,right):if left>=right: return mid=Numbers[left+(right-left)//2] i=left j=right while i while Numbers[i] i+=1 while Numbers[j]>mid: j-=1 if i<=j: Numbers[i],Numbers[j]=Numbers[j],Numbers[i] QuickSort(left,j-1) QuickSort(i+1,right) Numbers=list(map(int,input("請(qǐng)輸入需要排序的一組整數(shù),數(shù)與數(shù)之間用空格隔開:").split())) QuickSort(0,len(Numbers)-1) print("排序結(jié)果:",end="") for i in Numbers: print(i,end=" ") 試題難度:較難 試題解析:評(píng)分標(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.雞兔同籠是中國(guó)古代的數(shù)學(xué)名題之一。大約在1500年前,《孫子算經(jīng)》中就記載了這個(gè)有趣的問(wèn)題。書中是這樣敘述的:今有雉兔同籠,上有三十五頭,下有九十四足,問(wèn)雉兔各幾何?意思是:有若干只雞兔同在一個(gè)籠子里(籠中最少有一只雞和一只兔),從上面數(shù),有35個(gè)頭,從下面數(shù),有94只腳。問(wèn)籠中各有多少只雞和兔? 今天我們用編程的方法來(lái)求解一下這道數(shù)學(xué)命題吧。 def ji_tu(head,leg): j=0 t=0 while j j += 1 t = ① if (leg== ② ): print('有雞{}只,有兔子{}只。'.format( ③ )) return (j,t) while True: try: sum_head=int(input('請(qǐng)輸入總頭數(shù):')) sum_leg=int(input('請(qǐng)輸入總腳數(shù):')) if ④ : print('輸入雞和兔子的總頭數(shù)或總腳數(shù)錯(cuò)誤,請(qǐng)重新輸入!') else: ji_tu( ⑤ ) except: print('能不能正常輸入數(shù)據(jù)?') 試題編號(hào):202212-P4-37 試題類型:編程題 標(biāo)準(zhǔn)答案:參考程序:def ji_tu(head,leg): j=0 t=0 while j j += 1 t = head-j if (leg==(j*2+t*4)): print('有雞{}只,有兔子{}只。'.format(j,t)) return (j,t) while True: try: sum_head=int(input('請(qǐng)輸入總頭數(shù):')) sum_leg=int(input('請(qǐng)輸入總腳數(shù):')) if sum_head<2 or sum_leg<6: print('輸入雞和兔子的總頭數(shù)或總腳數(shù)錯(cuò)誤,請(qǐng)重新輸入!') else: ji_tu(sum_head,sum_leg) except: print('能不能正常輸入數(shù)據(jù)?') 試題難度:一般 試題解析:評(píng)分標(biāo)準(zhǔn):(1)head-j ; (2分)(2)(j*2+t*4); (3分)(3)j,t; (2分) (4)sum_head<2 or sum_leg<6 ; (3分)(5)sum_head,sum_leg。 (2分) 38.有一個(gè)游戲:有兩個(gè)人,第一個(gè)人先從1和2中挑一個(gè)數(shù)字,第二個(gè)人可以在對(duì)方的基礎(chǔ)上選擇加1或者加2,然后又輪到第一個(gè)人,他也可以選擇加1或者加2,之后再把選擇權(quán)交給對(duì)方,就這樣雙方交替地選擇加1或者加2,誰(shuí)先加到20,誰(shuí)就贏了。在不考慮誰(shuí)輸誰(shuí)贏的情況下,從一開始(以1或2為起點(diǎn))加到20,有多少種不同的遞加過(guò)程?比如1,4,7,10,12,15,18,20算一種;2,5,8,11,14,17,20又是一種。那么一共會(huì)有多少種這樣的過(guò)程呢?我們可以用遞歸算法來(lái)解決這個(gè)問(wèn)題,請(qǐng)補(bǔ)全代碼。def guo_cheng(n): if ① : return 1 return ② # 輸出所有過(guò)程的個(gè)數(shù) print (guo_cheng( ③ )) 試題編號(hào):202212-P4-38 試題類型:編程題 標(biāo)準(zhǔn)答案:參考程序:def guo_cheng(n): if n==1 or n==2: return 1 return guo_cheng(n-1)+guo_cheng(n-2) # 輸出所有過(guò)程的個(gè)數(shù) print (guo_cheng(20)) 試題難度:一般 試題解析:評(píng)分標(biāo)準(zhǔn): (1)n==1 or n==2; (3分)(2)guo_cheng(n-1)+guo_cheng(n-2) ; (4分) (3)20 。 (3分) 展開更多...... 收起↑ 資源列表 全國(guó)電子信息學(xué)會(huì)2022年12月6年級(jí)下學(xué)期Python編程考試4級(jí)試題.docx 全國(guó)電子信息學(xué)會(huì)2022年12月6年級(jí)下學(xué)期Python編程考試4級(jí)試題答案解析.docx 縮略圖、資源來(lái)源于二一教育資源庫(kù)