全國計算機等級考試二級Python真題及解析(12)_第1頁
全國計算機等級考試二級Python真題及解析(12)_第2頁
全國計算機等級考試二級Python真題及解析(12)_第3頁
全國計算機等級考試二級Python真題及解析(12)_第4頁
全國計算機等級考試二級Python真題及解析(12)_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、全國計算機等級考試二級Python 真題及解析(12)一、選擇題1. 以下關于程序設計語言的描述,錯誤的選項是:A Python 語言是一種腳本編程語言B 匯編語言是直接操作計算機硬件的編程語言C 程序設計語言經(jīng)歷了機器語言、匯編語言、腳本語言三個階段D 編譯和解釋的區(qū)別是一次性翻譯程序還是每次執(zhí)行時都要翻譯程序正確答案:C2. 表達式1001 = 0x3e7 的結(jié)果是:A falseB FalseC trueD True正確答案:B3. 以下選項,不是Python 保留字的選項是:A delB passC notD string正確答案:D4. 表達式 eval('500/10

2、9;) 的結(jié)果是:A 500/10 B 500/10C 50D 50.0正確答案:D5. 15. 表達式 type(eval('45') 的結(jié)果是:A <class 'float'>B <class 'str'>C NoneD <class 'int'>正確答案:D6. 表達式 divmod(20,3) 的結(jié)果是:A 6, 2B6C2D (6, 2)正確答案:D7. 以下關于字符串類型的操作的描述,錯誤的是:A str.replace(x,y) 方法把字符串str 中所有的x 子串都替換成yB

3、想把一個字符串str 所有的字符都大寫,用str.upper()C 想獲取字符串str 的長度,用字符串處理函數(shù)str.len()D 設 x = aa ,則執(zhí)行 x*3 的結(jié)果是 aaaaaa 正確答案:C8. 設 str = 'python' ,想把字符串的第一個字母大寫,其他字母還是小寫,正確的選項是:A print(str0.upper()+str1:)B print(str1.upper()+str-1:1)C print(str0.upper()+str1:-1)D print(str1.upper()+str2:)正確答案:A9. 以下選項,不屬于程序流程圖基本元素

4、的是:A 循環(huán)框B 連接點C 判斷框D 起始框正確答案:A10. 以下關于循環(huán)結(jié)構(gòu)的描述,錯誤的是:A 遍歷循環(huán)使用for < 循環(huán)變量> in < 循環(huán)結(jié)構(gòu)>語句,其中循環(huán)結(jié)構(gòu)不能是文件B 使用 range() 函數(shù)可以指定for 循環(huán)的次數(shù)C for i in range(5) 表示循環(huán)5 次, i 的值是從0 到 4D 用字符串做循環(huán)結(jié)構(gòu)的時候,循環(huán)的次數(shù)是字符串的長度正確答案:A11. 執(zhí)行以下程序,輸入” 93python22 ,”輸出結(jié)果是:w = input( 請輸入數(shù)字和字母構(gòu)成的字符串: )for x in w:if '0'<=

5、x <= '9':continueelse:w.replace(x,'')print(w)A python9322B pythonC 93python22D 9322正確答案:C12. 執(zhí)行以下程序,輸入 la,輸出結(jié)果是:la = 'python'try:s = eval(input(' 請輸入整數(shù):')ls = s*2print(ls)except:print(' 請輸入整數(shù)')A laB 請輸入整數(shù)C pythonpythonD python正確答案:C13. 執(zhí)行以下程序,輸入qp,輸出結(jié)果是:k =

6、 0while True:s = input(' 請輸入 q 退出: ')if s = 'q':k += 1continueelse:k += 2breakprint(k)A2B 請輸入 q 退出:C3D1正確答案:A14. 以下程序的輸出結(jié)果是:s = 0def fun(num):try:s += numreturn sexcept:return 0return 5print(fun(2)A0B2C UnboundLocalErrorD5正確答案:A15. 以下關于函數(shù)的描述,錯誤的是:A 函數(shù)是一種功能抽象B 使用函數(shù)的目的只是為了增加代碼復用C 函數(shù)名可以

7、是任何有效的Python 標識符D 使用函數(shù)后,代碼的維護難度降低了正確答案:B16. 以下程序的輸出結(jié)果是:def test( b = 2, a = 4):global zz += a * breturn zz = 10print(z, test()A 18 NoneB 10 18C UnboundLocalErrorD18 18正確答案:B17. 以下程序的輸出結(jié)果是:def hub(ss, x = 2.0,y = 4.0):ss += x *y ss = 10print(ss, hub(ss, 3)A 22.0 NoneB 10 NoneC 22 NoneD 10.0 22.0 正確答案

8、:B18. 以下表達式,正確定義了一個集合數(shù)據(jù)對象的是:Ax = 200,flg,20.3Bx = ( 200,flg,20.3)Cx = 200,flg,20.3 Dx = flg : 20.3 正確答案:A19.以下程序的輸出結(jié)果是:ss = list(set("jzzszyj") ss.sort()print(ss) A'z','j', 's', 'y' B'j', 's', 'y', 'z'C'j', 'z'

9、, 'z', 's', 'z', 'y', 'j' D'j', 'j', 's', 'y', 'z', 'z', 'z' 正確答案:B20. 以下程序的輸出結(jié)果是:ss = set("htslbht") sorted(ss)for i in ss:print(i,end = '')AhtslbhtB hlbstCtsblhDhhlstt正確答案:B21. 已知 id(l

10、s1) = 4404896968 ,以下程序的輸出結(jié)果是:ls1 = 1,2,3,4,5ls2 = ls1ls3 = ls1.copy()print(id(ls2),id(ls3)A4404896968 4404896904B4404896904 4404896968C4404896968 4404896968D4404896904 4404896904正確答案:A22. 以下程序的輸出結(jié)果是:ls =list('shandong':200, 'hebei':300, 'beijing':400)print(ls)A'300',&

11、#39;200','400'B'shandong', 'hebei', 'beijing'C300,200,400D'shandong', 'hebei', 'beijing'正確答案:B23. 以下關于文件的描述,錯誤的是:A 二進制文件和文本文件的操作步驟都是 “打開-操作-關閉”B open() 打開文件之后,文件的內(nèi)容并沒有在內(nèi)存中C open() 只能打開一個已經(jīng)存在的文件D文件讀寫之后,要調(diào)用close()才能確保文件被保存在磁盤中了正確答案:C24. 以下程序輸

12、出到文件text.csv 里的結(jié)果是:fo = open("text.csv",'w')x = 90,87,93z = for y in x:z.append(str(y)fo.write(",".join(z)fo.close()A 90,87,93B 90,87,93C 90,87,93 D 90,87,93 正確答案:B25. 以下程序的輸出結(jié)果是:img1 = 12,34,56,78img2 = 1,2,3,4,5def displ():print(img1)def modi():img1 = img2modi()displ()A

13、( 1,2,3,4,5)B12, 34, 56, 78C(12, 34, 56, 78)D1,2,3,4,5正確答案:B26. 以下關于數(shù)據(jù)維度的描述,錯誤的是:A 采用列表表示一維數(shù)據(jù),不同數(shù)據(jù)類型的元素是可以的BJSON 格式可以表示比二維數(shù)據(jù)還復雜的高維數(shù)據(jù)C 二維數(shù)據(jù)可以看成是一維數(shù)據(jù)的組合形式D 字典不可以表示二維以上的高維數(shù)據(jù)正確答案:D27. 以下不屬于Python 的 pip 工具命令的選項是:A showB installC downloadD get正確答案:D28. 用 Pyinstall 工具把 Python 源文件打包成一個獨立的可執(zhí)行文件,使用 的參數(shù)是:A -DB

14、 -LC -iD -F正確答案:D29. 以下不是程序輸出結(jié)果的選項是:import random as rls1 = 12,34,56,78r.shuffle(ls1)print(ls1)A 12, 78, 56, 34B 56, 12, 78, 34C 12, 34, 56, 78D 12, 78, 34, 56正確答案:C30. 以下關于turtle 庫的描述,正確的是:A 在 import turtle 之后就可以用circle() 語句,來畫一個圓圈B 要用 from turtle import turtle 來導入所有的庫函數(shù)C home() 函數(shù)設置當前畫筆位置到原點,朝向東D

15、seth(x) 是 setheading(x) 函數(shù)的別名,讓畫筆向前移動x正確答案:C31. 一些重要的程序語言(如C 語言和 Pascal 語言)允許過程的遞歸調(diào)用。而實現(xiàn)遞歸調(diào)用中的存儲分配通常用A棧B堆C 鏈表D 數(shù)組正確答案:A32. 下列敘述中正確的是A 一個算法的空間復雜度大,則其時間復雜度必定小B 一個算法的空間復雜度大,則其時間復雜度也必定大C 算法的時間復雜度與空間復雜度沒有直接關系D 一個算法的時間復雜度大,則其空間復雜度必定小正確答案:C33. 為了提高測試的效率,應該A 隨機選取測試數(shù)據(jù)B 在完成編碼以后制定軟件的測試計劃C 取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)D 集中對

16、付那些錯誤群集的程序正確答案:D34. 軟件開發(fā)離不開系統(tǒng)環(huán)境資源的支持,其中必要的測試數(shù)據(jù)屬于A 輔助資源B 硬件資源C 通信資源D 支持軟件正確答案:A35. 完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導出測試用例的測試方法是A 錯誤推測法B 白箱測試法C 黑箱測試法D 安裝測試法正確答案:C36. 在數(shù)據(jù)管理技術(shù)發(fā)展過程中,文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的主要區(qū)別是數(shù)據(jù)庫系統(tǒng)具有A 特定的數(shù)據(jù)模型B 數(shù)據(jù)無冗余C 專門的數(shù)據(jù)管理軟件D 數(shù)據(jù)可共享正確答案:A37. 下列有關數(shù)據(jù)庫的描述,正確的是A 數(shù)據(jù)庫是一個關系B 數(shù)據(jù)庫是一個DBF 文件C 數(shù)據(jù)庫是一個結(jié)構(gòu)化的數(shù)據(jù)集合D 數(shù)據(jù)庫是

17、一組文件正確答案:C38. 相對于數(shù)據(jù)庫系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關聯(lián)差、數(shù)據(jù)不一致性A 可重用性差29B 冗余性C 非持久性D 安全性差正確答案:B39. 軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成A 定義、開發(fā)、運行維護B 設計階段、編程階段、測試階段C 總體設計、詳細設計、編程調(diào)試D 需求分析、功能定義、系統(tǒng)設計正確答案:A40. 下列不屬于結(jié)構(gòu)化分析的常用工具的是A 判定樹B 數(shù)據(jù)字典C 數(shù)據(jù)流圖DPAD 圖正確答案:C二、操作題101描述參照代碼模板完善代碼,實現(xiàn)下述功能。從鍵盤輸入一個整數(shù)和一個字符,以逗號隔開,在屏幕上顯示輸出一條信示例1 :輸入:請輸入 1 個整數(shù)和1

18、 個符號,逗號隔開:10,輸出:10示例2 :請輸入1個整數(shù)和1個符號,逗號隔開:8,#ffff ffff ff ffff ff c """""""" ''''F ' ' TT7 , K ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Jff ff ff ff ff ff ff ff輸入輸出示例輸入輸出示例 110,10 習題講解答案:#在 處填寫一行代碼ls= input().split(',') (1

19、)print(ls0.center(eval(ls0)*2+len(ls0),ls1) ( 2)講解:1 .理解input的結(jié)果是返回一個字符串2 . split是字符串的方法,能夠以逗號把字符串分割成列表,但列表的元 素都是字符串3 .用ls0和ls1分別取得輸入的數(shù)字和后面的符號4 .題目要求用一行表達式來解決這個問題,所以增加了難度5 .此時要想起來用字符串的操作方法center,問題就迎刃而解了,這個方法str.center(x,y)會用字符串str構(gòu)造一個新的字符串,新的字符串長度是x,兩邊填充y。此處的x是數(shù)字,y是字符6 .要記得ls0里的10是一個字符串,所以要記得用eval把

20、它變成數(shù)字,乘2,加上10自己的長度,就得到了所需的x; y就是ls1里的字符7 .這道題關鍵是深入理解,并靈活運用center102描述參照代碼模板完善代碼,實現(xiàn)下述功能輸入一個正整數(shù)n,自動生成n個1-100范圍內(nèi)的隨機浮點數(shù),計算輸出每 個隨機數(shù),并顯示平均值。輸入格式輸入一個正整數(shù)n輸出格式輸出n個1-100范圍內(nèi)的隨機浮點數(shù),并顯示平均值輸入輸出示例輸入輸出示例 1427.33768213880839725.46985725132108486.765202597047353.6817383527287464the average is: 35.81362008497639習題講解答案

21、:import randomrandom.seed()n=eval(input()sum=0for i in range(n):random.uniform(1,100)sum+=f1print(f1)print( 'the average is: ' ,sum/n)講解:1 .要使用 random 隨機庫,所以要 import random2 .題目限制了程序框架,所以主要考核uniform (),題目并不難3 .要能讀懂程序,最后就知道求平均數(shù),是用 sum/n103描述參照代碼模板完善代碼,實現(xiàn)下述功能。輸入一個字符串,檢查并統(tǒng)計字符串中包含的英文單引號的對數(shù)。如果沒有找

22、到單引號,就在屏幕上顯示 “沒有單引號”;每統(tǒng)計到2個單引號,就算 一對,如果找到2對單引號,就顯示“找到了 2對單引號”;如果找到3個單 引號,就顯示“有1對配對單引號,存在沒有配對的單引號 ”。示例如下:輸入:dfd'dfa'fd'輸出:有1對配對單引號,存在沒有配對的單引號輸入格式輸入一個字符串輸出格式檢查并統(tǒng)計字符串中包含的英文單引號的對數(shù)。如果沒有找到單引號,就在屏幕上顯示“沒有單引號”;每統(tǒng)計到2個單引號,就算一對,如果找到2對 單引號,就顯示“找到了 2對單引號”;如果找到3個單引號,就顯示 “有1對 配對單引號,存在沒有配對的單引號 ”。輸入輸出不例輸入

23、輸出示例1dfd'dfa'fd'有1對配對單引號,存在沒有 配對的單引號習題講解 答案:st = input()pair = 0count = 0for s in st:if s = "'":pair += 1if pair % 2 = 0:count += 1if pair = 0:pro = " 沒有單引號"elif pair % 2 = 0:pro = " 有 對單引號".format(count)else:pro = "有 對配對單引號,存在沒有配對的單引號".format(

24、count)print(pro)講解:多分支結(jié)構(gòu),分支語句的嵌套利用對 2 求模運算,來判斷單引號是否配對利用pro 變量來記錄不同情況下的輸出內(nèi)容,最后只用一個print 來輸出顯示利用字符串的format 操作,把合成要輸出的變量和提示字符串201描述參照代碼模板完善代碼,實現(xiàn)下述功能,不得修改其它代碼。使用 turtle 庫的 turtle.fd() 函數(shù)和 turtle.seth() 函數(shù)繪制嵌套六角形,六角形邊長從 1 像素開始,第一條邊從0 度方向開始,邊長按照3 個像素遞增,效果如下圖所示。輸出格式print('ok')即可得分本題暫不支持自動評閱,檢查繪制圖形無

25、誤后, 習題講解答案:#在 處填寫一行代碼#不允許修改其他代碼import turtleedge = 6d = 0k = 1for j in range(10):for i in range(edge):turtle.fd(k (1)d += 360/edge 或 60 ( 2) turtle.seth(d)k += 3 (3)turtle.done()講解:1 .二重循環(huán),第一道循環(huán)控制畫的圈數(shù),內(nèi)循環(huán)控制六邊形的邊數(shù)2 .六邊形,所以每次畫筆旋轉(zhuǎn)的角度是360/edge ,或者直接寫60也可以3 . k用來控制不斷增加的邊長,根據(jù)題目給的增量是 3202描述參照代碼模板完善代碼,實現(xiàn)下述功

26、能。實現(xiàn)下面的功能:有一個文件data.txt內(nèi)容如下:'sid':'50T,7 月':9000,'8 月':9500,'9 月':9200'sid':'502','7 月':8000,'8 月':8500,'9 月':8200'sid':'503','7 月':7000,'8 月':7500,'9 月':7200將文件的數(shù)據(jù)內(nèi)容提取出來,計算每個人的平均工資,將其轉(zhuǎn)化為字

27、典salary,按照key的遞增序在屏幕上顯示輸出score的內(nèi)容,內(nèi)容示例如下:501:9500, 9000, 9200, 9233502:8500, 8000, 8200, 8233503:7500, 7000, 7200, 7233輸入格式有一個文件data.txt內(nèi)容如下:'sid':'501','7 月':9000,'8 月':9500,'9 月':9200'sid':'502','7 月':8000,'8 月':8500,'9 月&

28、#39;:8200'sid':'503','7 月':7000,'8 月':7500,'9 月':7200輸出格式按照key的遞增序在屏幕上顯示輸出score的內(nèi)容,內(nèi)容示例如下:501:9500, 9000, 9200, 9233502:8500, 8000, 8200, 8233503:7500, 7000, 7200, 7233輸入輸出不例輸入輸出示例1讀文件 data.txt501:9500, 9000, 9200, 9233502:8500, 8000, 8200, 8233503:7500, 7000,

29、 7200, 7233附件序號名稱 程序內(nèi)使用說明1data.txt習題講解salarys = fi = open("data.txt",'r',encoding='utf-8')for l in fi:# print(l)stud = eval(l)sv = stud.items()v = k = ''for it in sv:if it0 ='sid':k = it1else:v.append(it1)else:v.append(sum(v)/len(v)salarysk = vfi.close()# pr

30、int(scores)so = list(salarys.items()so.sort(key = lambda x:x0,reverse = False)for l in so:print(':'.format(l0,l1)講解:1. 有讀文件,寫入字典,取出到列表,排序,顯示輸出2.先從文件中按行讀取數(shù)據(jù),通過 eval ()變換成字典,然后通過items ()獲取 每個字典的鍵值對構(gòu)成的列表3. 每個字典項的鍵值對有四個元組,對四個元組做遍歷循環(huán),構(gòu)造所需要的新字典salarys4. 新字典的鍵是it0 為 sid 對應的 it1 ;而值則是其他it0 對應的it1 ,要

31、將這些it1 通過 append ()拼成一個新的列表v,5. 一組字典項處理完成之后,要用對v 的求和函數(shù)和求長度函數(shù)返回的值,計算平均分,并且也append 到 v 列表里6. 最后把 k 和 v 加到 salarys 里,生成新的字典7. 對新的字典提取items 構(gòu)成列表,對列表按照鍵sid 的升序排序,并輸出顯示。301描述參照代碼模板完善代碼,實現(xiàn)下述功能,可以修改其它代碼。附件文件question.txt 中有若干道Python 選擇題目,第1 行的第 1 個數(shù)據(jù)為題號,后續(xù)的4 行是 4 個選項,接下來是第二道題。示例內(nèi)容如下:1. 以下關于字典類型的描述,錯誤的是:A. 字典

32、類型中的數(shù)據(jù)可以進行分片和合并操作B. 字典類型是一種無序的對象集合,通過鍵來存取C. 字典類型可以在原來的變量上增加或縮短D. 字典類型可以包含列表和其他數(shù)據(jù)類型,支持嵌套的字典24. 以下屬于Python 圖像處理第三方庫的是:A. PIL B. mayavi C. TVTK D. pygame讀取其中的內(nèi)容,提取題干和四個選項的內(nèi)容,利用jieba 分詞并統(tǒng)計出現(xiàn)頻率最高的3 個詞,其中要刪除以下的常用字和符號的, ::可以是和中或一個以下 “”了其時產(chǎn)生 DBC(第一個字符是空格)作為該題目的主題標簽,顯示輸出在屏幕上。示例如下:輸出格式統(tǒng)計每道題由現(xiàn)頻率最高的3個詞,顯示輸由在屏幕上

33、。示例如下:第1題的主題是:字典:6類型:5對象:1第24題的主題是:庫:1Python:1屬于:1輸入輸出不例輸出輸入示例1無第1題的主題是:字典:6類型:5對象:1第24題的主題是:庫:1Python:1屬于:1附件序號名稱程序內(nèi)使用說明1question.txt習題講解答案:import jiebadef qtopic(con):conls = jieba.lcut(con)dict = for word in conls:dictword = dict.get(word,0) + 1dictls = list(dict.items()dictls.sort(key=lambda x:

34、x1, reverse=True)k = 0DBC':for it in dictls:if it0 in ' 的,::可以是和中或一個以下“”了其時產(chǎn)生continueelse:if k = 3:breakelse:print(':'.format(it0, it1)k += 1fi = open("question.txt", 'r')con = ''num1 = 0flag = 0for l in fi:l = l.replace('n', '').strip().spli

35、t('.')# print(l)try:ft = eval(l0)except:passelse:flag += 1num2 = num1num1 = ft if flag > 1:print('第題的主題是:.format(num2)qtopic(con)con = ''con += l1print('第題的主題是:.format(numl)qtopic(con)fi.close()講解:1. 要用 jieba 分詞, import jieba2. 打開 data.txt 看到,不止一道題目和選項,所以要考慮用函數(shù)來實現(xiàn)分析一道題目的功能

36、,然后在主程序里調(diào)用函數(shù),實現(xiàn)分析多道題目的功能3. 打開-讀文件-關閉文件的操作,就不解釋了,屬于基本功4. 用 for 循環(huán)按行處理文件,然后用replace 替換掉回車,strip 去掉首尾空格,用 split 把每行切分成兩部分,用 來.分割5. 題目要求輸出 “第 1 題的主題是: ”這樣的提示語,所以,需要提取出每道題的題號,是數(shù)字,而每個選項是字母ABCD ,這就需要考慮區(qū)分不同的行首情況;6. 為了提高效率,利用try-except 語句來區(qū)分行首是數(shù)字還是字母。7. 每行的列表的l0 就是首字符,所以把ft = eval(l0) 放在 try 下面,就可以區(qū)分出來數(shù)字和字母了8. 巧妙利用try 后面的 except 和 else 結(jié)構(gòu)是這道題的關鍵。except 情況下,不用額外做動作,只是直接pass 就可以,直接執(zhí)行try 結(jié)構(gòu)后續(xù)的con += l1 ,用字符串加法,加到con 里面去;9. 沒有異常的情況,可以用else 結(jié)構(gòu)來處理,這塊代碼就是把題號提取出來顯示提示在屏幕上,然后分析選項內(nèi)容;10. 此時遇到新問題

溫馨提示

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

評論

0/150

提交評論