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

下載本文檔

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

文檔簡介

2023年9月青少年軟件編程Python等級考試試卷三級(含答案和解析)分?jǐn)?shù):100題數(shù):38一、單選題(共25題,共50分)1.有一組數(shù)據(jù)存在列表中,things=["桌子","椅子","茶幾","沙發(fā)","西瓜","蘋果","草莓","香蕉"],若想要輸出其中的水果數(shù)據(jù),則下列處理恰當(dāng)?shù)氖牵浚–)A.print(things)B.print(things[:4])C.print(things[4:])D.print(things[5:8])答案解析:本題考查一維數(shù)組中取出部分?jǐn)?shù)據(jù)。things為列表實現(xiàn)的一維數(shù)組,水果部分?jǐn)?shù)據(jù)在列表中位于索引位4號至7號(末位),故可用列表切片取出數(shù)組的水果部分?jǐn)?shù)據(jù)。2.學(xué)期末學(xué)校進(jìn)行了體育測試,其中跳繩項目每人有三次機(jī)會,取最好的成績?yōu)樽詈蟮梅?。小貝、小李和小司三人的成績?shù)據(jù)如下:tscores=[["小貝",132,126,130],["小李",117,120,123],["小司",129,140,137]],那么要得到小貝的第二次成績,下列操作正確的是?(A)A.tscores[0][2]B.tscores[1][1]C.tscores[0[2]]D.tscores[1[1]]答案解析:本題考查二維數(shù)組中數(shù)據(jù)獲取。二維數(shù)組中行和列的數(shù)據(jù)索引都是從0開始,該二維數(shù)組中小貝的第二次成績,位于第一行第三列,故行索引為0,列索引為2,tscores[0],取出第一行,tscores[0][2]可取出第一行第三列數(shù)據(jù)。3.小貝、小李和小司三人三次跳繩的成績數(shù)據(jù)如下:tscores=[["小貝",132,126,130],["小李",117,120,123],["小司",129,140,137]],若要輸出小李同學(xué)的最好成績,則正確的處理方式是?(B)A.max(tscores[1])B.max(tscores[1][1:])C.tscores[1].max()D.tscores[1][1:].max()答案解析:小李同學(xué)的成績位于數(shù)組中第二行,行索引為1,由于每一行數(shù)據(jù)有字符串也有數(shù)據(jù),故不能直接求最大值,觀察選項,可通過對成績部分選項先切片取出,再求最大值,結(jié)合列表的函數(shù)用法可得B為正確選項。4.有如下代碼:gs=['眾鳥高飛盡','孤云獨去閑','相看兩不厭','只有敬亭山']f=open('jts.txt','w')f.write(','.join(gs)+'\n')f.close()有關(guān)于上述代碼,正確的說法是?(D)A.在執(zhí)行代碼前,必須要先新建一個"jts.txt"的文件B.在文件"jts.txt"中,所有相鄰詩句之間將發(fā)生換行C.f.write(','.join(gs)+'\n')也可以用f.write('\n'.join(gs)+',')替換,顯示結(jié)果是相同的D.該段代碼的主要功能是將列表gs中的四句古詩寫入到"jts.txt"文件中,詩句之間以逗號連成一行答案解析:本題考查一維數(shù)據(jù)存儲。若“jts.txt”不存在,則將自動產(chǎn)生一個;否則操作結(jié)果將覆蓋原文件。A錯。由第三行代碼知道,gs列表中元素以','相連接,最后才換行,故B錯;f.write(‘,’.join(gs)+’\n’)的功能是詩句相連后換行,f.write(‘\n’.join(gs)+’,’)的功能是每輸出一句詩進(jìn)行換行,最后一句以','結(jié)尾。結(jié)果并不相同。C錯。5.有關(guān)于簡單文件的讀寫,下列說法正確的是?(A)A.可以用Python內(nèi)置的open()函數(shù)打開文件B.對文件進(jìn)行讀取操作,我們可以用write()函數(shù)C.對文件進(jìn)行寫入操作,我們可以用close()函數(shù)D.關(guān)閉文件可以用read()函數(shù)答案解析:文件打開用open()函數(shù),文件內(nèi)容讀取用read()函數(shù),文件寫入用write()函數(shù),文件關(guān)閉用close()函數(shù)實現(xiàn)。6.運行函數(shù)hex(?)之后,得到結(jié)果是'0xa',請問括號中?號處應(yīng)填?(D)A."9"B.9C."10"D.10答案解析:hex()函數(shù)用于將10進(jìn)制整數(shù)轉(zhuǎn)換成16進(jìn)制。本題中答案為十進(jìn)制數(shù)10,不能加引號。7.十六進(jìn)制數(shù)100,對應(yīng)的十進(jìn)制數(shù)是?(B)A.128B.256C.28D.56答案解析:考查學(xué)生將十六進(jìn)制數(shù)轉(zhuǎn)為十進(jìn)制數(shù)。本質(zhì)上就是int('100',16),答案為256。8.int()函數(shù)可以將非十進(jìn)制數(shù)或數(shù)字字符串轉(zhuǎn)換為十進(jìn)制數(shù),以下關(guān)于int()函數(shù)的使用,正確的是?(B)A.int("0b1010",10)B.int("1010",10)C.int("0o50",10)D.int("80",8)答案解析:本題考查學(xué)生對其它進(jìn)制數(shù)轉(zhuǎn)十進(jìn)制數(shù)的掌握。A、0b與10矛盾;C、0o與10矛盾;D、八進(jìn)制沒有基數(shù)“8”。9.下列4個表達(dá)式中,答案不是整數(shù)6的是?(D)A.abs(-6)B.int(6.88)C.round(5.55)D.min(float(6),9,8,7)答案解析:考查學(xué)生對內(nèi)置數(shù)值處理函數(shù)的理解。abs()是取絕對值,int()默認(rèn)會取整,round()四舍五入,float()會把整數(shù)轉(zhuǎn)為浮點數(shù),min()獲取列表中的最小值,所以,上列4個表達(dá)式,只有選項D的答案是浮點數(shù)6.0,不是整數(shù)610.鍵盤輸入“杭州亞運會即將于2023年9月23日至10月8日舉辦?!保韵麓a的輸出結(jié)果是?(C)try:n=input("請輸入文字:")x=n.count("2")print(x)except:print("程序執(zhí)行錯誤")A.程序執(zhí)行錯誤B.2C.3D.15答案解析:count()方法用于統(tǒng)計字符串里某個字符或子字符串出現(xiàn)的次數(shù)程序是統(tǒng)計輸入一段文字中“2”出現(xiàn)的次數(shù),所以執(zhí)行結(jié)果為3。程序正常運行后,不再執(zhí)行except后的語句。11.初學(xué)者常采用異常處理解決程序中出現(xiàn)的意外情況,下面語句的執(zhí)行結(jié)果是?(B)try:s1='我愛中國's2=2023s=s1+s2print(s)except:print('錯誤')finally:print('程序結(jié)束')A.我愛中國2023程序結(jié)束B.錯誤程序結(jié)束C.我愛中國2023D.錯誤答案解析:s1='我愛中國'是字符串型;s2=2023是整型;s=s1+s2不能直接相加,程序運行會報錯。因此會執(zhí)行except語句,錯誤;無論是否報錯,程序都會執(zhí)行finally,所以最終運行結(jié)果為錯誤,程序結(jié)束。12.列表中有6個數(shù)據(jù),使用冒泡排序算法進(jìn)行從小到大排序,最多需要處理幾遍?(C)A.3B.4C.5D.6答案解析:n個數(shù)據(jù)的冒泡排序,需要進(jìn)行n-1遍排序。13.對一組數(shù)據(jù)[5,2,6,4,8,1,7,3]進(jìn)行排序,使用冒泡排序按從大到小的順序進(jìn)行排列,則第2輪排序過后的結(jié)果是?(B)A.2,4,5,1,6,3,7,8B.6,5,8,4,7,3,2,1C.5,6,4,8,2,7,3,1D.5,6,4,8,7,3,2,1答案解析:A選項最后一個元素是8,是最大的,排除。C選項是第1輪排序的結(jié)果,排除。14.想要找出小于100的所有質(zhì)數(shù),適用的算法是?(B)A.解析算法B.枚舉算法C.對分查找D.選擇排序答案解析:小于100的質(zhì)數(shù)有若干個,想要全部找出來,需要使用一一列舉的方法。15.運行下面的程序,結(jié)果是?(C)h=[-2,-1,0,1,2,3]n=len(h)s=0foriinrange(n):s=s+bool(h[i])print(s)A.0B.1C.5D.6答案解析:考核列表、循環(huán)、累加器、bool()函數(shù)16.關(guān)于Python中abs()函數(shù),描述不正確的是?(A)A.abs()函數(shù)的功能是取一個整數(shù)的絕對值B.abs(0)的運行結(jié)果是0C.abs(3.0)的運行結(jié)果是3.0D.abs(-3)的運行結(jié)果是3答案解析:abs()函數(shù)的功能是取一個數(shù)的絕對值,不一定是整數(shù)。17.print(divmod(29,7))的運行結(jié)果是?(B)A.4,1B.(4,1)C.1,4D.(1,4)答案解析:divmod()函數(shù)的結(jié)果是由商與余數(shù)組成的元組。18.下列程序運行結(jié)果是False的是?(D)A.print(all(['1','2','3']))B.print(all(()))C.print(all(('1','2','3','4','5')))D.print(all(['1','2','3','']))答案解析:在Python中,all()函數(shù)用于檢查列表中的所有元素是否都為真(非空且不為0)。D.all(['1','2','3',''])列表中最后一個元素為空,返回False。19.下列程序運行的結(jié)果是?(A)h=[2,-3,-5,-6,0,-1,4,9]y=list(filter(None,h))print(y)A.[2,-3,-5,-6,-1,4,9]B.(2,-3,-5,-6,-1,4,9)C.[2,4,9]D.(2,4,9)答案解析:在這段代碼中,filter(None,h)會過濾掉列表h中的None值,然后將剩余的元素轉(zhuǎn)換為一個新的列表并賦值給變量y。20.關(guān)于open()函數(shù)的參數(shù),下列描述不正確的是?(B)A.'r'以只讀方式打開文件,如果文件不存在,則會提示錯誤B.'w'以寫入的方式打開文件,如果文件不存在,則會提示錯誤C.'a'打開文件,并將新內(nèi)容寫入到已有內(nèi)容之后D.'r+'以讀、寫方式打開文件答案解析:open()函數(shù)中參數(shù)w以寫入的方式打開文件,如果文件不存在,則會創(chuàng)建一個新文件。21.Python語句print(ascii('A')+ascii('Z'))運行的結(jié)果是?(C)A.'A'+'Z'B.'AZ'C.'A''Z'D."AZ"答案解析:ascii('A')的結(jié)果為字符串'A',即”'A'”;ascii('z')的結(jié)果為字符串'z',即”'z'”;兩個字符串相加的結(jié)果為'A''Z',即”'A''z'”,執(zhí)行print()得:'A''Z'。22.執(zhí)行print('{:.1f}'.format(23.792))返回的結(jié)果是?(C)A.23B.23.0C.23.8D.23.792答案解析:{:.1f}表示保留一位小數(shù)。23.以下表達(dá)式的值為True的是?(B)A.bool([])B.bool("0")C.bool(None)D.bool(range(0))答案解析:bool([]):空列表的布爾值為False。bool("0"):字符串"0"的布爾值為True。bool(None):None的布爾值為False。bool(range(0)):range(0)返回的是一個可迭代對象,其布爾值為False。24.下面程序運行的結(jié)果是?(B)a='hellopython'print(a,end='_')print(a,end="")print(a)A.hellopython_hellopythonhellopythonB.hellopython_hellopythonhellopythonC.hellopython_hellopythonhellopythonD.hellopython_hellopythonhellopython答案解析:在這段代碼中,首先定義了一個字符串變量a,其值為'hellopython'。第一次使用print(a,end='_')打印變量a,并在末尾添加了下劃線_。第二次使用print(a,end='')打印變量a,末尾不添加任何內(nèi)容。最后再次使用print(a)單獨打印變量a。綜合起來,程序運行的結(jié)果是hellopython_hellopythonhellopython。25.小明運行下面的程序,運行結(jié)果正確的是?(C)h=[6,15,1,0,7,9,5]p=sorted(h)print(p)A.(0,1,5,6,7,9,15)B.(15,9,7,6,5,1,0)C.[0,1,5,6,7,9,15]D.[15,9,7,6,5,1,0]答案解析:sorted()函數(shù)返回列表,賦值給p,是一個升序列表。二、判斷題(共10題,共20分)26.在計算機(jī)中,每個二進(jìn)制位都可以表示為0或1兩個值。(對)答案解析:在計算機(jī)中,采用二進(jìn)制進(jìn)行數(shù)據(jù)的存儲和處理。二進(jìn)制是一種基數(shù)為2的數(shù)制,每個二進(jìn)制位(也稱為比特)只能表示0或1兩個值。27.有這樣一個表達(dá)式:ord('a')-ord('A'),這個表達(dá)式運行的結(jié)果是整數(shù)32,請判斷結(jié)果對嗎?(對)答案解析:ord()函數(shù)的返回值為整數(shù),字符'a'與'A'之間的差,為整數(shù)32。28.對文件操作需要先打開文件,打開文件的模式只有'r'和'w',即只讀和只寫。(錯)答案解析:除了'r'和'w'模式,還有以下常見的模式:'a':追加模式,在已有文件末尾添加內(nèi)容。'r+':讀寫模式,既可以讀取又可以寫入。'w+':讀寫模式,如果文件已存在,則清空內(nèi)容再讀寫。此外,還有一些其他模式,如'x'(獨占創(chuàng)建)等。29.有如下函數(shù):withopen("english.txt",'r')asf:list1=f.readlines()print(list1)這段函數(shù)的功能是自動將"english.txt"文件中的內(nèi)容獲取成一個行的列表并輸出。(對)答案解析:readlines()一次讀取整個文件,并自動將文件內(nèi)容獲取成行的列表。30.關(guān)于語句f=open('d:/a.txt','r'),如果文件a.txt不存在,不會報錯。(錯)答案解析:'r'為只讀模式,如果要讀取的文件不存在,會報錯。31.鍵盤輸入整數(shù)8,以下代碼的運行結(jié)果是4.0。(錯)try:n=input('請輸入一個整數(shù):')n=n/2print(n)except:print('程序執(zhí)行錯誤')答案解析:由于題目中缺少把字符串轉(zhuǎn)換為整數(shù)的int(),所以執(zhí)行except語句,程序執(zhí)行錯誤。32.已知字符"0"的ASCII碼為48,字符"A"的ASCII碼為65,下面程序的運行結(jié)果是:65。(錯)c='A'n=48print(ord(c)+chr(n))答案解析:考核ord()、chr()函數(shù),本題整數(shù)與字符串無法相加,運行出錯。命令any(('1','','2','3'))返回的結(jié)果是False。(錯)答案解析:在Python中,any()函數(shù)用于判斷可迭代對象中是否存在任何一個元素為真,如果存在則返回True,否則返回False。34.help()函數(shù)用于查看函數(shù)或模塊用途的詳細(xì)說明,返回對象為幫助信息。(對)答案解析:在Python中,help()函數(shù)用于獲取函數(shù)或模塊的幫助信息。通過調(diào)用help()并提供函數(shù)或模塊的名稱,可以獲取有關(guān)其用途、參數(shù)、返回值等詳細(xì)說明。35.下列程序的運行結(jié)果是11。(錯)a=max(2,4,1,8,9)b=min("3","8","9","2","10")print(a+int(b))答案解析:min()函數(shù)用于比較數(shù)值類型的元素并返回最小值,而不能比較字符串類型。三、編程題(共3題,共30分)36.下面代碼,在字典a中查找身高為137的人,請將代碼中缺失部分補(bǔ)充完整。a={'小趙':136,'小錢':141,'小孫':146,'小李':138,'小周':142,'小吳':134,'小鄭':137,'小王':143}keys=a.keys()b=0#用于判斷查找是否成功forkeyinkeys:value=a[①]if②==137:print('找到身高為137的人是:',key)b=b+1#有找到的人③#退出循環(huán)ifb==0:print('本次查找,未找到有身高為137的同學(xué)。')參考程序:a={'小趙':136,'小錢':141,'小孫':146,'小李':138,'小周':142,'小吳':134,'小鄭':137,'小王':143}keys=a.keys()b=0#用于判斷查找是否成功forkeyinkeys:value=a[key]#利用鍵名獲取鍵值,便于下面比較ifvalue==137:#進(jìn)行值比較print('找到身高為137的人是:',key)b=b+1#查找成功break#退出循環(huán)ifb==0:print('本次查找,未找到有身高為137的同學(xué)。')評分標(biāo)準(zhǔn):(1)key;(3分)(2)value或者int(value)或者a[key]或者int(a[key]);(4分)(3)break。(3分)37.張老師手上有一份學(xué)生成績單(cj.txt),成績單上只有每位學(xué)生的各科成績,而張老師希望能看到各科成績的所有學(xué)生的平均分,以下代碼可以實現(xiàn)平均分的計算,并按示例格式排版,請補(bǔ)充代碼。示例:withopen('/data/cj.txt',①)asf:string=f.read()data=string.split('\n')data.pop(0)lis=[]foriindata:new=i.split('\t')lis.append(new)#將分割得到的列表追加到空列表中,lis為二維lis1=['平均分']foriinrange(1,4):#循環(huán)3次,因為需要計算3個科目的平均分sum_=②average=round(sum_/3)lis1.append(str(average))s="\t".join(lis1)res=string+swithopen('cj1.txt','w')asf:f.write(res)參考程序:withopen('/data/cj.txt','r')asf:string=f.read()data=string.split('\n')data.pop(0)lis=[]foriindata:new=i.split('\t')lis.append(new)#將分割得到的列表追加到空列表中,lis變?yōu)槎Slis1=['平均分']foriinrange(1,4):#循環(huán)3次,因為需要計算3個科目的平均分sum_=int(lis[0][i])+int(lis[1][i])+int(lis[2][i])average=round(sum_/3)lis1.append(str(average))s="\t".join(lis1)res=string+swithopen('cj1.txt','w')asf:f.write(res)評分標(biāo)準(zhǔn):(1)'r';(2分)(2)int(lis[0][i])+int(lis[1][i])+int(lis[2][i])。(2分)(沒有int給1分)38.工廠有一臺檢測設(shè)備用于檢測器件,各個器件在不完全相同時刻送達(dá),且檢測時長各有不同?,F(xiàn)在要按器件的送達(dá)時間(若送達(dá)時間相同則按檢測時長)進(jìn)行排序后再送檢,送達(dá)時間和檢測時間都是按升序排序。已知各個器件原始信息存在列表qj中:qj=[[2,1],[1,3],[0,2],[4,3],[12,4],[10,1],[4,1]],其中器件信息[2,1]表示器件送達(dá)時間是2,檢測時長是1,其他器件信息類推?,F(xiàn)在編寫Python程序?qū)Ω鱾€器件進(jìn)行排序,并重新輸出。排序后的器件列表如下,請你在劃線處完善程序:qj=[[2,1]

溫馨提示

  • 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

提交評論