電子學(xué)會2022年12月青少年軟件編程Python等級考試試卷三級真題(含答案)_第1頁
電子學(xué)會2022年12月青少年軟件編程Python等級考試試卷三級真題(含答案)_第2頁
電子學(xué)會2022年12月青少年軟件編程Python等級考試試卷三級真題(含答案)_第3頁
電子學(xué)會2022年12月青少年軟件編程Python等級考試試卷三級真題(含答案)_第4頁
電子學(xué)會2022年12月青少年軟件編程Python等級考試試卷三級真題(含答案)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2023年3月青少年軟件編程Python等級考試試卷三級(含答案)分?jǐn)?shù):100題數(shù):38一、單選題(共25題,共50分)1.列表L1中全是整數(shù),小明想將其中所有奇數(shù)都增加1,偶數(shù)不變,于是編寫了如下圖所示的代碼。請問,圖中紅線處,代碼應(yīng)該是?(D)L1=[3,2,5,6,4,7,3,9,11,17,19,12]L2=[x+1if()!=0elsexforxinL1]print(L2)A.x||2B.x^2C.x&&2D.x%2答案解析:本題代碼中,forxinL1是在L1列表中循環(huán),每次取出的值x交給if語句進(jìn)行判斷,如果除以2的余數(shù)不等于0,就是奇數(shù),則x+1,若等于0則x值不變。取余數(shù)的運(yùn)算符是%,所以正確答案就是D。2.小明為了學(xué)習(xí)選擇排序的算法,編寫了下面的代碼。針對代碼中紅色文字所示的一、二、三處,下面說法正確的是?(B)a=[8,4,11,3,9]count=len(a)foriinrange(count-1):mi=iforjinrange(i+1,count):ifa[mi]>a[j]:#代碼一mi=j#代碼二ifi!=mi:a[mi],a[i]=a[i],a[mi]#代碼三print(a)A.如果找到更大的元素,則記錄它的索引號。B.如果找到更小的元素,則記錄它的索引號。C.在一趟選擇排序后,不管是否找到更小的元素,mi所在元素都得與i所在的元素發(fā)生交換。D.代碼三所在的行必然要運(yùn)行。3.小明編寫了一段演示插入排序的代碼,代碼如下。請問紅色“缺失代碼”處,應(yīng)該填寫哪段代碼?(A)a=[8,4,11,3,9]count=len(a)foriinrange(1,count):j=ib=a[i]whilej>0andb<a[j-1]:a[j]=a[j-1]缺失代碼a[j]=bprint(a)A.j=j-1B.j=j+1C.j=i+1D.j=i-1答案解析:本題考查學(xué)生對插入排序算法的理解。當(dāng)前位置數(shù)字需要通過循環(huán),逐個與之前位置的數(shù)字進(jìn)行比較,所以正確答案是A,j=j-1,用于下一次循環(huán)時,獲取前一個數(shù)字。4.在計算機(jī)中,信息都是采用什么進(jìn)行存儲?(A)A.二進(jìn)制數(shù)B.八進(jìn)制數(shù)C.十進(jìn)制數(shù)D.十六進(jìn)制數(shù)5.十進(jìn)制數(shù)(100)10,轉(zhuǎn)化為二進(jìn)制數(shù)為()?(C)A.0010011B.1010001C.1100100D.01011006.十六進(jìn)制數(shù)每一位至多可以表示幾位二進(jìn)制位?(C)A.2B.3C.4D.167.八進(jìn)制數(shù)(35)8,轉(zhuǎn)化為十進(jìn)制數(shù)為()10?(D)A.100011B.110001C.232D.298.執(zhí)行代碼a=min(3,2,4.3),變量a的值是?(B)A.3B.2C.4.3D.49.運(yùn)行print(max('python+'))的結(jié)果是?(D)A.'p'B.pC.'y'D.y10.下面代碼的運(yùn)行結(jié)果是?(D)a=5.12596print(round(a,2))A.5B.5.1C.5.12D.5.1311.運(yùn)行type([{2.6}]),結(jié)果是?(D)A.floatB.dictC.TrueD.list12.執(zhí)行下面代碼,運(yùn)行結(jié)果是?(B)a=[1,2,3,4]print(list(enumerate(a)))A.((0,1),(1,2),(2,3),(3,4))B.[(0,1),(1,2),(2,3),(3,4)]C.[1,2,3,4]D.(1,2,3,4)13.運(yùn)行set('hello'),結(jié)果是?(C)A.('h','e','l','l','o')B.{'h','e','l','l','o'}C.{'e','h','l','o'}D.('e','h','l','o')14.運(yùn)行print(sum([5,10,min(7,4,6)])),結(jié)果是?(D)A.22B.21C.4D.1915.執(zhí)行divmod(100,3),結(jié)果是?(B)A.(1,33)B.(33,1)C.[33,1]D.[1,33]16.下列表達(dá)式結(jié)果是False的是?(C)A.all({})B.all([10])C.all(['1','2','3',''])D.all(['1','2','3'])答案解析:all()函數(shù)用于判斷給定的可迭代參數(shù)iterable中的所有元素是否都為True,如果是返回True,否則返回False。元素除了是0、空、None、False外都算True。17.將字符串或數(shù)字轉(zhuǎn)換為浮點(diǎn)數(shù)的函數(shù)是?(B)A.chr()B.float()C.int()D.str()答案解析:float()函數(shù)用于將整數(shù)和字符串轉(zhuǎn)換成浮點(diǎn)數(shù)。18.以下表達(dá)式的值為True是?(A)A.bool(2022)B.bool(0)C.bool()D.bool({})答案解析:bool()函數(shù)用于將給定參數(shù)轉(zhuǎn)換為布爾類型,如果沒有參數(shù),返回False。bool({2022})中間有元素,所以為True。19.有這樣一段程序:a=[“香蕉“,”蘋果”,”草莓”,“哈密瓜”]fs=open(“fruits.csv”,”w”)fs.write(“,”.join(a)+‘\n’)fs.close()該段程序執(zhí)行后,該csv文件中的內(nèi)容是?(B)A.香蕉蘋果草莓哈密瓜B.香蕉,蘋果,草莓,哈密瓜C.香蕉蘋果草莓哈密瓜D.["香蕉","蘋果","草莓","哈密瓜"]答案解析:open("fruits.csv","w")表示打開CSV文件,進(jìn)行寫入操作("w"表示可覆蓋寫入)。",".join(a)表示將a列表中的元素取出,并用","連接成新的字符串,寫入文件。20.關(guān)于文件的讀寫操作,下列說法不正確的是?(D)A.read()函數(shù)讀取文件內(nèi)容后,生成的是一個字符串。B.readline()每次只讀取文件中的一行,并返回字符串類型數(shù)據(jù)。C.readlines()函數(shù)每次按行讀取整個文件的內(nèi)容,并返回list類型數(shù)據(jù)。D.讀取文件內(nèi)容只能用reader()對象。答案解析:文件內(nèi)容的讀取可以視不同情況選擇不同的函數(shù),reader()也是其中之一。21.關(guān)于下列列表,說法正確的是?(A)s=[[“佩奇”,“100”,“86”,“85”,“90”],[“蘇西”,“78”,“88”,“98”,“89”],[“佩德羅”,“80”,“66”,“80”,“92”]]A.這是一組二維數(shù)據(jù)B.這樣的數(shù)據(jù)不能存儲到CSV文件中C.無法讀取[“佩奇”,“100”,“86”,“85”,“90”]這條數(shù)據(jù)D.必須手動寫入到CSV文件中答案解析:二維列表的每個元素本身也是列表??赏ㄟ^循環(huán)讀取元素并寫入CSV文件。22.有關(guān)于write()函數(shù)的說法正確的是?(C)A.write()函數(shù)只能向文件中寫入一行數(shù)據(jù)B.write()函數(shù)的參數(shù)不是字符串類型C.write()函數(shù)也可以向文件中寫入多行數(shù)據(jù)D.write()函數(shù)和writelines()函數(shù)完全相同答案解析:write()函數(shù)可向文件中寫入一行或多行數(shù)據(jù)。其參數(shù)必須為字符串,而writelines()函數(shù)既可以傳入字符串也可以傳入一個字符序列,并寫入文件。23.對于在csv文件中追加數(shù)據(jù),下列說法正確的是?(D)A.只能以單行方式追加數(shù)據(jù)B.只能以多行方式追加數(shù)據(jù)C.多行數(shù)據(jù)追加的函數(shù)是writerow()D.以單行方式或多行方式追加都可以答案解析:在CSV中追加數(shù)據(jù)可以用writerow()函數(shù)進(jìn)行一行一行寫入,也可以用writerows()函數(shù)進(jìn)行多行寫入數(shù)據(jù)。24.在Python的異常處理try....except...else...finally機(jī)制中,以下哪部分語句一定能得到全部執(zhí)行?(D)A.try子句B.except子句C.else子句D.finally子句25.在Python的異常處理機(jī)制中,以下表述哪項是錯誤的?(D)A.如果當(dāng)try中的語句執(zhí)行時發(fā)生異常,Python就執(zhí)行匹配該異常的except子句。B.如果當(dāng)try中的語句執(zhí)行時發(fā)生異常,try代碼塊的剩余語句將不會被執(zhí)行。C.如果在try子句執(zhí)行時沒有發(fā)生異常,Python將執(zhí)行else語句后的語句。D.異常處理結(jié)構(gòu)能夠發(fā)現(xiàn)程序段中的語法錯誤。二、判斷題(共10題,共20分)26.二進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù)的方法是:按權(quán)展開、逐項相加,如:(101)2=(10)10。(錯)27.語句print(round(2.785,2))運(yùn)行后的結(jié)果是2.79。(對)28.map()不會根據(jù)提供的函數(shù)對指定序列做映射。(錯)答案解析:map()會根據(jù)提供的函數(shù)對指定序列做映射。第一個參數(shù)function以參數(shù)序列中的每一個元素調(diào)用function函數(shù),返回包含每次function函數(shù)返回值的新列表。29.語句print(tuple(range(5)))的輸出結(jié)果是(0,1,2,3,4)。(對)30.運(yùn)行語句set('2022'),其輸出結(jié)果是{'2','0','2','2'}(錯)31.語句f=open(‘ss.csv’,’r’)n=f.read().strip(“\n”).split(“,”)f.close()這段代碼的功能是讀取文件中的數(shù)據(jù)到列表。(對)32.一維數(shù)組可以用列表實(shí)現(xiàn),二維數(shù)組則不能用列表實(shí)現(xiàn)。(錯)33.用withopen(‘fruits.csv’,’r’)asf語句,打開fruits.csv文件,在處理結(jié)束后不會自動關(guān)閉被打開的文件,因此需要寫上f.close()語句。(錯)34.異常處理結(jié)構(gòu)中,finally程序段中的語句不一定都會得到執(zhí)行。(錯)35.在計算機(jī)中,每一個二進(jìn)制位可以表示0和1兩種信息。(對)三、編程題(共3題,共30分)36.下面程序?qū)崿F(xiàn)對二維數(shù)據(jù)的處理,請你補(bǔ)全代碼。f=open('/data/score2.csv','r')a=[]foriinf:A.append(i.strip().split(','))f.close()①foriina:s=''forjini:②print(s)。程序執(zhí)行結(jié)果為:[['王鑫','86','90','92','99','94','95'],['楊小虹','93','97','95','90','86','85'],['李靜','89','98','99','94','90','85']]王鑫869092999495楊小虹939795908685李靜899899949085。參考答案:f=open('/data/score2.csv','r')a=[]foriinf:A.append(i.strip().split(','))f.close()print(a,'\n')foriina:s=''forjini:s=s+'{:6}\t'.format(j)print(s)。評分標(biāo)準(zhǔn):(1)print(a,'\n')或等效答案;(2分)(2)s=s+'{:6}\t'.format(j)或等效答案。(2分)37.在三位數(shù)的自然數(shù)中,找出至少有一位數(shù)字是5的,至少能被3整除的所有整數(shù),并統(tǒng)計個數(shù),具體代碼如下:count=0lst=[]foriinrange(①):ifi%3==0:a=i%10b=i//10%10c=②if③:count+=1lst.append(i)print("這樣的三位數(shù)有:",lst)print("總數(shù)量有:",count)。參考答案:count=0lst=[]foriinrange(100,1000):ifi%3==0:a=i%10b=i//10%10c=i//100ifa==5orb==5orc==5:count+=1lst.append(i)print("這樣的三位數(shù)有:",lst)print("總數(shù)量有:",count)。評分標(biāo)準(zhǔn):(1)100,1000或者100,1000,1;(3分)(2)i//100;(3分)(3)a==5orb==5orc==5。(4分)38.輸入一個正數(shù),以下代碼編程求出它的平方根。請你補(bǔ)全代碼:in_var=float(input("請輸入一個需要開方的正數(shù),可以使用2位小數(shù):\nx="))ifin_var<0:x=-in_varelse:x=in_varlow=0.0high=xs_root=①ifx>0andx<1:high=1.0low=0s_root=②ifx>=0:whileabs(③)>0.0001:ifx>1.0:ifs_root**2<x:low=s_rootelse:high=s_roots_root=④ifx==1.0andx==0.0:s_root=xelse:ifs_root**2<x:low=s_rootelse:high=s_roots_root=⑤ifin_var>=0:print("所求數(shù)的平方根為:s_root=%.1f"%(s_root))。參考答案:in_var=float(input("請輸入一個需要開方的正數(shù),可以使用2位小數(shù):\nx="))ifin_var<0:x=-in_varelse:x=in_varlow=0.0high=

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論