版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
遼寧省丹東市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.靜態(tài)成員變量稱為類變量,非靜態(tài)成員變量稱為實例變量,下列關(guān)于一個類的靜態(tài)成員的描述中,不正確的是()
A.該類的對象共享其靜態(tài)成員變量的值
B.靜態(tài)成員變量可被該類的所有方法訪問
C.該類的靜態(tài)方法只能訪問該類的靜態(tài)成員變量
D.該類的靜態(tài)數(shù)據(jù)成員變量的值不可修改
2.下面屬于P)rthon文本處理方向的第三方庫的是()。
A.PILB.mayaviC.TVTKD.pdfminer
3.以下程序的輸出結(jié)果是()。a=3.6e一1b=4.2e3print(b—a)
A.4199.64B.7.8e2C.0.6e一4D.4199.064
4.關(guān)于Python文件打開模式,表示錯誤的是()。
A.rtB.nbC.abD.wt
5.在Python中關(guān)于單引號與雙引號的說法中正確的是()
A.Python中字符串初始化只能使用單引號
B.單引號用于短字符串,雙引號用于長字符串
C.單雙引在使用上沒有區(qū)別
D.單引號針對變量,雙引號針對常量
6.不屬于Python數(shù)據(jù)分析及可視化處理第三方庫的是()。
A.seabornB.randomC.mayavi2D.numpy
7.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。A.軟件集成測試計劃B.軟件詳細設(shè)計說明書C.用戶手冊D.軟件需求規(guī)格說明書
8.以下程序的輸出結(jié)果是()。foriinrange(3):print(i,end=‘,’)A.0,1,2B.0,1,2,C.1,2,3D.1,2,3,
9.數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的查詢、插入、修改和刪除,這類功能稱為()。
A.數(shù)據(jù)控制功能B.數(shù)據(jù)定義功能C.數(shù)據(jù)存儲功能D.數(shù)據(jù)操縱功能
10.下面代碼的輸出結(jié)果是()。list=[“1”,”3”,”5”]defapp(x):list.a(chǎn)ppend(x)app(”7”)print(list)
A.[’1’,’3’,’5’]B.[’1’,’3’,’5’,’7’]C.[’7’]D.”1,3,5,7”
11.以下不屬于Python語言保留字的是()。
A.passB.useC.withD.None
12.下面關(guān)于遞歸函數(shù),描述錯誤的是()。
A.遞歸函數(shù)必須有一個明確的結(jié)束條件
B.遞歸函數(shù)就是一個函數(shù)在內(nèi)部調(diào)用自身本身
C.遞歸效率不高,遞歸層次過多會導(dǎo)致棧溢出
D.每進入更深一層的遞歸時,問題規(guī)模相對于前一次遞歸是不變的
13.當在命令行中以pythonmy.pyv1v2形式運行python腳本時,通過fromsysimportargv如何獲得v2的參數(shù)值?
A.argv[0]B.argv[1]C.argv[2]D.argv[3]
14.有三個關(guān)系R、S和T如下:[*9]由關(guān)系R和S通過運算得到關(guān)系T,則所使用的運算為()。
A.笛卡爾積B.交C.并D.自然連接
15.以下不屬于數(shù)據(jù)分析領(lǐng)域的Python第三方庫是()。
A.PandasB.PyQt5C.NumpyD.Seabom
16.下列哪個語句在Python中是非法的?()
A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y
17.以下關(guān)于turtle庫的描述,錯誤的是()。
A.在importturtle之后,可以用turtle.circle()語句畫一個圓圈
B.seth(x)是setheading(x)函數(shù)的別名,其作用是讓畫筆旋轉(zhuǎn)x角度
C.可以用importturtle來導(dǎo)入turtle庫函數(shù)
D.home()函數(shù)用于設(shè)置當前畫筆位置為原點,方向朝上
18.以下程序的輸出結(jié)果是()。list=[[0,1,2],“123.0”,“python”]a=all(list[0])b=list[1].split(“.”)c=ascii(list[2])print(a,b,c)
A.True[‘123’]‘python’
B.False['0']‘1’
C.True[‘123’,‘0’]‘1’
D.False[‘123’,‘0’]‘python’
19.以下語句不會引發(fā)異常的是()。
A.a=b=3+ljB.1+"1"C.3/0D.print"noerror"
20.以下程序的輸出結(jié)果是()。Test_list=list(range(6))Print(6inTest_list)
A.6B.6inTest_listC.TrueD.False
21.以下選項中Python不支持的數(shù)據(jù)類型是()。A.intB.charC.floatD.list
22.下列敘述中錯誤的是()。
A.向量屬于線性結(jié)構(gòu)B.二叉鏈表是二叉樹的存儲結(jié)構(gòu)C.棧和隊列是線性表D.循環(huán)鏈表是循環(huán)隊列的鏈式存儲結(jié)構(gòu)
23.在Python中,包含矩陣運算的第三方庫是()。
A.NumPyB.PyQt5C.wordcloudD.wxPython
24.下列代碼的輸出結(jié)果是()。Is=[[0,l],[5,6],[7,8]]lis=[]foriinrange(len(Is)):lis.append(ls[i][1])print(lis)
A.[l,6,8]B.[0,5,7]C.[0,6,8]D.[0,1]
25.下面不是“+”的用法的是()。
A.字符串連接B.邏輯與C.算術(shù)加法D.單目運算
26.以下程序的輸出結(jié)果是()。foriinrange(1,6): ifi%4==0: continue else: print(i,end=“,”)
A.1,2,3,B.1,2,3,4,C.1,2,3,5,D.1,2,3,5,6
27.以下描述中,錯誤的是()。
A.Python語言通過索引來訪問列表中元素,索引可以是負整數(shù)
B.列表用方括號來定義,繼承了序列類型的所有屬性和方法
C.Python列表是各種類型數(shù)據(jù)的集合,列表中的元素不能夠被修改
D.Python語言的列表類型能夠包含其他的組合數(shù)據(jù)類型
28.以下關(guān)于Python分支結(jié)構(gòu)的描述中,錯誤的是()。
A.Python分支結(jié)構(gòu)使用保留字if、elif和else來實現(xiàn),每個if后面必須有elif或else
B.if-else結(jié)構(gòu)是可以嵌套的
C.if語句會判斷if后面的邏輯表達式,當表達式為真時,執(zhí)行if后續(xù)的語句塊
D.縮進是Python分支語句的語法部分,縮進不正確會影響分支功能
29.下面代碼的輸出結(jié)果是()。f=lambdax,y:xifx<yelseya=f(“aa”,“bb”)b=f(“bb”,“aa”)print(a,b)A.aaaaB.aabbC.bbaaD.bbbb
30.以下程序中,while循環(huán)的循環(huán)次數(shù)是()。i=0whilei<10:ifi<1:print(”Python”)continueifi==5:print(”World!”)breaki+=1
A.10B.5C.4D.死循環(huán),不能確定
二、判斷題(10題)31.Python支持使用字典的“鍵”作為下標來訪問字典中的值。
A.是B.否
32.Python是一種跨平臺、開源、免費的高級動態(tài)編程語言。
A.是B.否
33.對于列表而言,在尾部追加元素比在中間位置插入元素速度更快一些,尤其是對于包含大量元素的列表。
A.是B.否
34.表達式{1,2}*2的值為{1,2,1,2}。
A.是B.否
35.表達式[]==None的值為True。
A.是B.否
36.3+4j是合法Python數(shù)字類型。
A.是B.否
37.全局變量會增加不同函數(shù)之間的隱式耦合度,從而降低代碼可讀性,因此應(yīng)盡量避免過多使用全局變量。
A.是B.否
38.在函數(shù)內(nèi)部,既可以使用global來聲明使用外部全局變量,也可以使用global直接定義全局變量。
A.是B.否
39.在Python3.x中,內(nèi)置函數(shù)input()把用戶的鍵盤輸入一律作為字符串返回。A.是B.否
40.Python集合不支持使用下標訪問其中的元素。
A.是B.否
三、填空題(10題)41.Python使用_________________關(guān)鍵字來定義類。
42.已知字典x={i:str(i+3)foriinrange(3)},那么表達式''.join(x.values())的值為____________。
43.已知x=[3,7,5],那么執(zhí)行語句x.sort(reverse=True)之后,x的值為_________________。
44.已知x=[1,2,3,4,5],那么執(zhí)行語句delx[1:3]之后,x的值為____________。
45.已知x=3,那么執(zhí)行語句x*=6之后,x的值為________________。
46.表達式isinstance('abcdefg',object)的值為_____________。
47.表達式'helloworld,helloweveryone'.replace('hello','hi')的值為________________________。
48.Python中用于表示邏輯與、邏輯或、邏輯非運算的關(guān)鍵字分別是_________、___________、_________。
49.一個數(shù)字5__________(是/不是)合法的Python表達式。
50.表達式list(filter(lambdax:len(x)>3,['a','b','abcd']))的值為___________。
四、操作題(3題)51.考生文件夾下存在一個文件“PY301.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請按照源文件內(nèi)部說明修改代碼,實現(xiàn)以下功能。設(shè)計一個猜字母的程序,程序隨機給出26個小寫字母中的一個,答題者輸入猜測的字母,若輸入的不是26個小寫字母之一,讓用戶重新輸入;若字母在答案之前或之后,程序給出相應(yīng)正確提示;若答錯5次,則答題失敗并退出游戲;若回答正確,程序輸出回答次數(shù)并退出游戲。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準
52.考生文件夾下存在兩個Python源文件“PY30H.py”和“PY301-2.py”,分別對應(yīng)兩個問題,請按照文件內(nèi)說明修改代碼,實現(xiàn)以下功能?!栋谅c偏見》是史上最震撼人心的“世界文學(xué)十部最佳小說之一”。第1章的內(nèi)容由考生文件夾下文件“arrogant,txt”給出。問題1:請編寫程序,統(tǒng)計該篇文章的英文字符數(shù)(不統(tǒng)計換行符),字符與出現(xiàn)次數(shù)之間用冒號(:)分隔。結(jié)果保存在考生文件夾下,命名為“PY301-l.txt”。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準…d={}Is=list(d.items())…fo.write("{}:{}\n".format(_____,_____))問題2:在問題1的前提下,將得到的字符次數(shù)進行降序排列,并將排名前10的常用字符保存在“arrogant-sort,txt”文件中。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準…d={}…Is=list(d.items())Is.sort(key=lambdax:x[1],reverse=True)…fo.write("{}:{}\n".format(_____,_____))
53.考生文件夾下存在一個文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請在該文件中編寫代碼,以實現(xiàn)如下功能。使用Python的異常處理結(jié)構(gòu)編寫對數(shù)計算,要求底數(shù)大于0且不等于1,真數(shù)大于0,且輸入的必須為實數(shù),否則拋出對應(yīng)的異常。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準try:a=eval(input(‘請輸入底數(shù):’))b=eval(input(‘請輸入真數(shù):’))c=_____exceptValueError:…exceptZeroDivisionError:print(‘底數(shù)不能為1’)exceptNameError:Prints(‘輸入必須為實數(shù)’)else:print(C)
參考答案
1.D
2.Dmayavi和TVTK是數(shù)據(jù)可視化方向的第三方庫,PIL是圖像處理方面的第三方庫。本題選擇D選項。
3.A程序中b=4200,a=0.36,b—a=4199.64。本題選擇A選項。
4.BPython中open()函數(shù)提供了7種基本的文件打開模式:r、w、x、a、b、t、+。其中,r、w、x、a可以和b、t、+組合使用。故表示錯誤的是B項。
5.C
6.B屬于Python數(shù)據(jù)分析及可視化的第三方數(shù)據(jù)庫的有:numpy、scipy、pandas、matplotlib、TVTK、mayavi(也稱mayavi2)等。random庫是Python語言用于產(chǎn)生各種分布的偽隨機數(shù)序列的庫。本題選擇B選項。
7.D需求分析階段的工作可以概括為:需求獲取、需求分析、編寫需求規(guī)格說明書、需求評審四個方面。所以選擇D。
8.Brange()函數(shù)與for循環(huán)結(jié)合使用,一般可以創(chuàng)建一個整數(shù)列表,且range(start,stop[,step])包含3個參數(shù),代表列表的開始、結(jié)束以及步長,但其中不包含stop參數(shù)的范圍,即區(qū)間為左閉右開。print()函數(shù)的end參數(shù)用來設(shè)置輸出格式,默認為換行。該題輸出數(shù)字之間使用逗號分隔。本題選擇B選項。
9.D數(shù)據(jù)定義功能:負責數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;數(shù)據(jù)操縱功能:負責數(shù)據(jù)的操縱,包括查詢與增、刪、改等操作;數(shù)據(jù)控制功能:負責數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。本題選D選項。
10.Bappend()是向列表元素的結(jié)尾增加元素。
11.BPython總共有35個保留字,分別是:and,as,assett,async,await,break,class,eontinue,def,del,elif,else,except,F(xiàn)alse,fihally,for,from,global,if,impor.t,in,is,lambda,None,nonlocal,not,or,pass,raise,return,True,try,whiIe,with,yield。
12.DA選項正確,遞歸函數(shù)必須要有一個明確的結(jié)束條件作為遞歸的出口;B選項正是遞歸函數(shù)的含義,正確;C選項正確,在計算機中,函數(shù)調(diào)用是通過棧這種數(shù)據(jù)結(jié)構(gòu)實現(xiàn)的,每當進入一個函數(shù)調(diào)用,棧就會加一層棧幀,每當函數(shù)返回,棧就會減一層棧幀,由于棧的大小不是無限的,所以,遞歸調(diào)用的次數(shù)過多,會導(dǎo)致棧溢出;D選項,每當進入更深一層的遞歸時,問題規(guī)模顯然會相對前一次遞歸減小。
13.C
14.D自然連接是一種特殊的等值連接,它要求兩個關(guān)系中進行比較的分量必須是相同的屬性,并且在結(jié)果中把重復(fù)的屬性列去掉,所以根據(jù)T關(guān)系中的有序組可知R與S進行的是自然連接操作。
15.BPyQt5是用戶圖形化界面方向的第三方庫;Pandas、Numpy、Seaborn、Scipy都是數(shù)據(jù)分析方向的第三方庫。
16.B賦值運算的一般形式:變量=表達式,左邊只能是變量。A選項是連續(xù)賦值,C選項是序列賦值,D選項可以寫為x=x+y。本題選擇B選項。
17.Dturtle庫的home()函數(shù)用于設(shè)置當前畫筆位置為原點,朝向東。本題選擇D選項。
18.Dall(x)函數(shù),當組合類型變量x中所有元素為真時返回True,否則返回False。元素除了0、None、False外都算True。所以a的值為False;b中split()是字符串分隔方法,返回分隔后的值應(yīng)為[‘123’,‘0’];c中ascii()的參數(shù)是字符串‘python’,所以返回‘python’。本題選擇D選項。
19.A不同類型之間不能相互運算;除數(shù)不能為0;Print'noerror'語句是Pythcm2.X的語法,不適用Python3.\nX。本題選擇A選項。
20.DTest_llst是列表類型,6inTest_llst表示如果6是列表Test_llst的元素,則返回True,否則返回False。本題選擇D選項。
21.BPython不支持char類型,只支持數(shù)字類型和字符串類型。其中數(shù)字類型包括整數(shù)、浮點數(shù)和復(fù)數(shù)。
22.D循環(huán)鏈表是線性表的一種鏈式存儲結(jié)構(gòu),循環(huán)隊列是隊列的一種順序存儲結(jié)構(gòu)。因此D選項敘述錯誤。
23.ANumPy是Python的一種開源數(shù)值計算擴展第三方庫,用于處理數(shù)據(jù)類型相同的多維數(shù)組,簡稱“數(shù)組”。NrnnPy可以用來存儲和處理大型矩陣,其提供了許多髙級的數(shù)組編程工具,如矩陣運算、矢量處理、N維數(shù)據(jù)變換等。本題選擇A選項。
24.Aleii()方法獲得列表Is的長度,mnge()方法起到循環(huán)次數(shù)的作用,append()方法在列表lis最后增加元素。列表Is存儲的元素是列表,訪問時需要使用索引嵌套。本題選擇A選項。
25.B“+”號的運算包括字符串連接、算術(shù)加法和單目運算。
26.Cfor循環(huán)依次將1~5賦給i,i從1、2、3、4、5依次變化,當i%4==0時,結(jié)束本次循環(huán)進入下一循環(huán),反之輸出i的值。故輸出結(jié)果為:1,2,3,5,。本題選擇C選項。
27.C列表用中括號([])表示,由于列表屬于序列類型,故繼承了序列類型的所有屬性和方法,B項正確。索引是列表的基本操作,用于獲得列表中的一個元素,該操作沿用序列類型的索引方式,即正向遞增序號或反向遞減序號,使用中括號作為索引操作符,索引號不得超過列表的元素范圍,否則將產(chǎn)生IndexError錯誤。A項正確。列表可以進行元素增加、刪除、替換、查找等操作,列表沒有長度限制,元素類型可以不同,能夠包含其他的組合數(shù)據(jù)類型,故D項正確、C項錯誤。
28.APython分支結(jié)構(gòu)使用保留字if、elif和else來實現(xiàn),每個if后面不一定要有elif或else,A選項錯誤;if-else結(jié)構(gòu)是可以嵌套的,B選項正確;if語句會判斷if后面的邏輯表達式,當表達式為真時,執(zhí)行if后續(xù)的語句塊,C選項正確;縮進是Python分支語句的語法部分,縮進不正確會影響分支功能,D選項正確。本題選擇A選項。
29.Alambda關(guān)鍵字用來定義匿名函數(shù)。格式為<函數(shù)名>=lambda<參數(shù)列表>:<表達式〉。本題中用來比較字符串大小,因為aa>bb,所以輸出均為aa。本題選擇A選項。
30.Dwhile循環(huán)的判斷條件為真時,進入循環(huán)體,為假時,直接執(zhí)行while同級的代碼。初始值為i=0,進入循環(huán)體之后,因為i<1,執(zhí)行continue語句跳出本次循環(huán),進入下一循環(huán)。i的值始終為0,故程序為死循環(huán)。
31.Y
32.Y
33.Y
34.N
35.N
36.Y
37.Y
38.Y
39.Y
40.Y
41.class
42.'345'
43.[7,5,3]
44.[1,4,5]
45.18
46.True
47.'hiworld,hiweveryone'
48.and、or、not
49.是
50.['abcd']
51.importletter_list=[‘a(chǎn)’,‘b’,'c','d’,‘e’,'f’,’g’,‘h’,‘i’,‘j’,‘k’,‘l’,’m’,‘n’,‘o’,‘p’,’q’,‘r’,‘s’,’t’,‘u’,‘v’,’w’,‘x’,‘y’,‘z’]letter=letter一list[random.randint(0,25)]count=0whileTrue:Letter_input=input(‘請輸入26個小寫英文字母中的任一個:’)Count+=1Ifletter_inputnotinletter_list:Print(‘請重新輸入字母’)Else:Ifcount>5Print(‘猜測超過5次,答題失敗’)BreakElse:Ifletter_input==letter:Print(‘恭喜你答對了,總共猜了{}次’.format(count))BreakElifletter_input>letter:Print(‘你輸入的字母排在該字母之后’)Elifletter_inputPrint(‘你輸入的字母排在該字母之前’)Else:Print(‘未知錯誤’)隨機抽取26個小寫字母,需要使用Python的random庫中的函數(shù)。mndint(\r\na,b)函數(shù)生成一個區(qū)間為[a,b]的整數(shù),用來隨機抽取列表中的字母。根據(jù)題目要求總體分為兩個方向:①輸入的字符不是小寫字母中的任一個字符,則輸出“請重新輸入字母”;②若輸入的字符在列表中,則判斷輸入的次數(shù)是否大于5,大于5則輸出“猜測超過5次,答題失敗”并退出循環(huán),在輸入次數(shù)之內(nèi),對輸入的字符與隨機抽取的字符進行比較,即大于、小于及等于,不同的比較范圍對應(yīng)不同的輸出。
52.考生文件夾下存在兩個Python源文件“PY301.py”和“PY301-2.py”,分別對應(yīng)兩個問題,請按照文件內(nèi)說明修改代碼,實現(xiàn)以下功能?!栋谅c偏見》是史上最震撼人心的“世界文學(xué)十部最佳小說之一”。第1章的內(nèi)容由考生文件夾下文件“arrogant,txt”給出。問題1:請編寫程序,統(tǒng)計該篇文章的英文字符數(shù)(不統(tǒng)計換行符),字符與出現(xiàn)次數(shù)之間用冒號(:)分隔。結(jié)果保存在考生文件夾下,命名為“PY301-l.txt”。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準…d={}Is=list(d.items())…fo.write("{}:{}\\n".format(_____,_____))問題2:在問題1的前提下,將得到的字符次數(shù)進行降序排列,并將排名前10的常用字符保存在“arrogant-sort,txt”文件中。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準…d={}…Is=list(d.items())Is.sort(key=lambdax:x[1],reverse=True)…fo.write("{}:{}\\n".format(_____,_____))試題答案:(1)Fi=open(“arrogant.txt,”r”)Fo=open(“PY301-1.txt”,”w”Txt=fi.read()d={}Forsintxt:D[s]=d.get(s,0)+1Deld[‘\\n’]Is=list(d.items())Foriinrange(len(is)):fo.write(“{}:{}\\n”.format(ls[i][0],is[i][1])Fi.close()Fo.close()(2)Fi=open(“arrogant.txt,”r”)Fo=open(“arrogant-sort.txt”,”w”)Txt=fi.read()d={}Forsintxt:D[s]=d.get(s,0)+1Deld[‘\\n’]Is=list(d.items())Is.sort(key=lambdax:x[1],reverse=True)Foriinrange(10):fo.write(“{}:{}\\n”.fcrmat(is[i][0],is[i][1])Fi.close()Fo.close()(1)首先使用open()函數(shù)打開文件“arrogant,\r\ntxt”,把文件的內(nèi)容通過read()方法保存到變量txt中;然后用for循環(huán)遍歷txt中的每個英文字符,將該字符作為字典d中的鍵,將該鍵所對應(yīng)的值設(shè)置為1,在后面循環(huán)中只要遍歷的字符與該鍵相同,就將該鍵對應(yīng)的值加1。這樣,字典中的鍵值對對應(yīng)著英文字符和其出現(xiàn)的次數(shù)。由于題目要求不統(tǒng)計換行符,因此需要使用del刪除換行符對應(yīng)的鍵值對。Is=list(d.items())表示將字典類型變成列表類型,字典中的每個鍵值對對應(yīng)列表中的一個元組。每個元組中的第一個元素ls[i]\r\n[0]表示英文字符,第二個元素is[i][1]表示字符出現(xiàn)的次數(shù)。通過for循環(huán)遍歷按照格式規(guī)則將兩個對應(yīng)的元素寫入文件“PY301-1.\r\ntxt”。(2)\r\n問題2在問題1的基礎(chǔ)上增加了排序,排序的規(guī)則是按照字符出現(xiàn)的次數(shù)降序排序,因此排序后列表中前10個元素(元組)就是排名前10的字符。通過for循環(huán)遍歷按照格式規(guī)則將這10個元素寫入文件“\r\narrogant-sort,tx”中。
53.?Importmathtry:a=eval(input('請輸入底數(shù):”))b=eval(input(‘請輸入真數(shù):’))c=math.log(b,a)exceptValueError:ifa<=0andb>0:Print(‘真數(shù)和底數(shù)都不能小于等于0’)exceptZeroDivisionError:print(’底數(shù)不能為1’)exceptNameError:print(輸入必須為實數(shù)’)else:print(c)ax=/V(a>0,a≠1),那么指數(shù)x叫作以a為底N的對數(shù),記作x\r\n=logaN其中a叫作對數(shù)的底數(shù),叫作真數(shù)。要使用對數(shù),需先導(dǎo)入math庫,math.log(x[,base])返回x的自然對數(shù),x>0。使用異常處理機制時,根據(jù)不同的錯誤類型,輸出不同的信息內(nèi)容,在值錯誤類型下,使用if判斷語句將有可能錯誤的信息進行處理。遼寧省丹東市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.靜態(tài)成員變量稱為類變量,非靜態(tài)成員變量稱為實例變量,下列關(guān)于一個類的靜態(tài)成員的描述中,不正確的是()
A.該類的對象共享其靜態(tài)成員變量的值
B.靜態(tài)成員變量可被該類的所有方法訪問
C.該類的靜態(tài)方法只能訪問該類的靜態(tài)成員變量
D.該類的靜態(tài)數(shù)據(jù)成員變量的值不可修改
2.下面屬于P)rthon文本處理方向的第三方庫的是()。
A.PILB.mayaviC.TVTKD.pdfminer
3.以下程序的輸出結(jié)果是()。a=3.6e一1b=4.2e3print(b—a)
A.4199.64B.7.8e2C.0.6e一4D.4199.064
4.關(guān)于Python文件打開模式,表示錯誤的是()。
A.rtB.nbC.abD.wt
5.在Python中關(guān)于單引號與雙引號的說法中正確的是()
A.Python中字符串初始化只能使用單引號
B.單引號用于短字符串,雙引號用于長字符串
C.單雙引在使用上沒有區(qū)別
D.單引號針對變量,雙引號針對常量
6.不屬于Python數(shù)據(jù)分析及可視化處理第三方庫的是()。
A.seabornB.randomC.mayavi2D.numpy
7.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。A.軟件集成測試計劃B.軟件詳細設(shè)計說明書C.用戶手冊D.軟件需求規(guī)格說明書
8.以下程序的輸出結(jié)果是()。foriinrange(3):print(i,end=‘,’)A.0,1,2B.0,1,2,C.1,2,3D.1,2,3,
9.數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的查詢、插入、修改和刪除,這類功能稱為()。
A.數(shù)據(jù)控制功能B.數(shù)據(jù)定義功能C.數(shù)據(jù)存儲功能D.數(shù)據(jù)操縱功能
10.下面代碼的輸出結(jié)果是()。list=[“1”,”3”,”5”]defapp(x):list.a(chǎn)ppend(x)app(”7”)print(list)
A.[’1’,’3’,’5’]B.[’1’,’3’,’5’,’7’]C.[’7’]D.”1,3,5,7”
11.以下不屬于Python語言保留字的是()。
A.passB.useC.withD.None
12.下面關(guān)于遞歸函數(shù),描述錯誤的是()。
A.遞歸函數(shù)必須有一個明確的結(jié)束條件
B.遞歸函數(shù)就是一個函數(shù)在內(nèi)部調(diào)用自身本身
C.遞歸效率不高,遞歸層次過多會導(dǎo)致棧溢出
D.每進入更深一層的遞歸時,問題規(guī)模相對于前一次遞歸是不變的
13.當在命令行中以pythonmy.pyv1v2形式運行python腳本時,通過fromsysimportargv如何獲得v2的參數(shù)值?
A.argv[0]B.argv[1]C.argv[2]D.argv[3]
14.有三個關(guān)系R、S和T如下:[*9]由關(guān)系R和S通過運算得到關(guān)系T,則所使用的運算為()。
A.笛卡爾積B.交C.并D.自然連接
15.以下不屬于數(shù)據(jù)分析領(lǐng)域的Python第三方庫是()。
A.PandasB.PyQt5C.NumpyD.Seabom
16.下列哪個語句在Python中是非法的?()
A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y
17.以下關(guān)于turtle庫的描述,錯誤的是()。
A.在importturtle之后,可以用turtle.circle()語句畫一個圓圈
B.seth(x)是setheading(x)函數(shù)的別名,其作用是讓畫筆旋轉(zhuǎn)x角度
C.可以用importturtle來導(dǎo)入turtle庫函數(shù)
D.home()函數(shù)用于設(shè)置當前畫筆位置為原點,方向朝上
18.以下程序的輸出結(jié)果是()。list=[[0,1,2],“123.0”,“python”]a=all(list[0])b=list[1].split(“.”)c=ascii(list[2])print(a,b,c)
A.True[‘123’]‘python’
B.False['0']‘1’
C.True[‘123’,‘0’]‘1’
D.False[‘123’,‘0’]‘python’
19.以下語句不會引發(fā)異常的是()。
A.a=b=3+ljB.1+"1"C.3/0D.print"noerror"
20.以下程序的輸出結(jié)果是()。Test_list=list(range(6))Print(6inTest_list)
A.6B.6inTest_listC.TrueD.False
21.以下選項中Python不支持的數(shù)據(jù)類型是()。A.intB.charC.floatD.list
22.下列敘述中錯誤的是()。
A.向量屬于線性結(jié)構(gòu)B.二叉鏈表是二叉樹的存儲結(jié)構(gòu)C.棧和隊列是線性表D.循環(huán)鏈表是循環(huán)隊列的鏈式存儲結(jié)構(gòu)
23.在Python中,包含矩陣運算的第三方庫是()。
A.NumPyB.PyQt5C.wordcloudD.wxPython
24.下列代碼的輸出結(jié)果是()。Is=[[0,l],[5,6],[7,8]]lis=[]foriinrange(len(Is)):lis.append(ls[i][1])print(lis)
A.[l,6,8]B.[0,5,7]C.[0,6,8]D.[0,1]
25.下面不是“+”的用法的是()。
A.字符串連接B.邏輯與C.算術(shù)加法D.單目運算
26.以下程序的輸出結(jié)果是()。foriinrange(1,6): ifi%4==0: continue else: print(i,end=“,”)
A.1,2,3,B.1,2,3,4,C.1,2,3,5,D.1,2,3,5,6
27.以下描述中,錯誤的是()。
A.Python語言通過索引來訪問列表中元素,索引可以是負整數(shù)
B.列表用方括號來定義,繼承了序列類型的所有屬性和方法
C.Python列表是各種類型數(shù)據(jù)的集合,列表中的元素不能夠被修改
D.Python語言的列表類型能夠包含其他的組合數(shù)據(jù)類型
28.以下關(guān)于Python分支結(jié)構(gòu)的描述中,錯誤的是()。
A.Python分支結(jié)構(gòu)使用保留字if、elif和else來實現(xiàn),每個if后面必須有elif或else
B.if-else結(jié)構(gòu)是可以嵌套的
C.if語句會判斷if后面的邏輯表達式,當表達式為真時,執(zhí)行if后續(xù)的語句塊
D.縮進是Python分支語句的語法部分,縮進不正確會影響分支功能
29.下面代碼的輸出結(jié)果是()。f=lambdax,y:xifx<yelseya=f(“aa”,“bb”)b=f(“bb”,“aa”)print(a,b)A.aaaaB.aabbC.bbaaD.bbbb
30.以下程序中,while循環(huán)的循環(huán)次數(shù)是()。i=0whilei<10:ifi<1:print(”Python”)continueifi==5:print(”World!”)breaki+=1
A.10B.5C.4D.死循環(huán),不能確定
二、判斷題(10題)31.Python支持使用字典的“鍵”作為下標來訪問字典中的值。
A.是B.否
32.Python是一種跨平臺、開源、免費的高級動態(tài)編程語言。
A.是B.否
33.對于列表而言,在尾部追加元素比在中間位置插入元素速度更快一些,尤其是對于包含大量元素的列表。
A.是B.否
34.表達式{1,2}*2的值為{1,2,1,2}。
A.是B.否
35.表達式[]==None的值為True。
A.是B.否
36.3+4j是合法Python數(shù)字類型。
A.是B.否
37.全局變量會增加不同函數(shù)之間的隱式耦合度,從而降低代碼可讀性,因此應(yīng)盡量避免過多使用全局變量。
A.是B.否
38.在函數(shù)內(nèi)部,既可以使用global來聲明使用外部全局變量,也可以使用global直接定義全局變量。
A.是B.否
39.在Python3.x中,內(nèi)置函數(shù)input()把用戶的鍵盤輸入一律作為字符串返回。A.是B.否
40.Python集合不支持使用下標訪問其中的元素。
A.是B.否
三、填空題(10題)41.Python使用_________________關(guān)鍵字來定義類。
42.已知字典x={i:str(i+3)foriinrange(3)},那么表達式''.join(x.values())的值為____________。
43.已知x=[3,7,5],那么執(zhí)行語句x.sort(reverse=True)之后,x的值為_________________。
44.已知x=[1,2,3,4,5],那么執(zhí)行語句delx[1:3]之后,x的值為____________。
45.已知x=3,那么執(zhí)行語句x*=6之后,x的值為________________。
46.表達式isinstance('abcdefg',object)的值為_____________。
47.表達式'helloworld,helloweveryone'.replace('hello','hi')的值為________________________。
48.Python中用于表示邏輯與、邏輯或、邏輯非運算的關(guān)鍵字分別是_________、___________、_________。
49.一個數(shù)字5__________(是/不是)合法的Python表達式。
50.表達式list(filter(lambdax:len(x)>3,['a','b','abcd']))的值為___________。
四、操作題(3題)51.考生文件夾下存在一個文件“PY301.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請按照源文件內(nèi)部說明修改代碼,實現(xiàn)以下功能。設(shè)計一個猜字母的程序,程序隨機給出26個小寫字母中的一個,答題者輸入猜測的字母,若輸入的不是26個小寫字母之一,讓用戶重新輸入;若字母在答案之前或之后,程序給出相應(yīng)正確提示;若答錯5次,則答題失敗并退出游戲;若回答正確,程序輸出回答次數(shù)并退出游戲。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準
52.考生文件夾下存在兩個Python源文件“PY30H.py”和“PY301-2.py”,分別對應(yīng)兩個問題,請按照文件內(nèi)說明修改代碼,實現(xiàn)以下功能?!栋谅c偏見》是史上最震撼人心的“世界文學(xué)十部最佳小說之一”。第1章的內(nèi)容由考生文件夾下文件“arrogant,txt”給出。問題1:請編寫程序,統(tǒng)計該篇文章的英文字符數(shù)(不統(tǒng)計換行符),字符與出現(xiàn)次數(shù)之間用冒號(:)分隔。結(jié)果保存在考生文件夾下,命名為“PY301-l.txt”。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準…d={}Is=list(d.items())…fo.write("{}:{}\n".format(_____,_____))問題2:在問題1的前提下,將得到的字符次數(shù)進行降序排列,并將排名前10的常用字符保存在“arrogant-sort,txt”文件中。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準…d={}…Is=list(d.items())Is.sort(key=lambdax:x[1],reverse=True)…fo.write("{}:{}\n".format(_____,_____))
53.考生文件夾下存在一個文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請在該文件中編寫代碼,以實現(xiàn)如下功能。使用Python的異常處理結(jié)構(gòu)編寫對數(shù)計算,要求底數(shù)大于0且不等于1,真數(shù)大于0,且輸入的必須為實數(shù),否則拋出對應(yīng)的異常。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準try:a=eval(input(‘請輸入底數(shù):’))b=eval(input(‘請輸入真數(shù):’))c=_____exceptValueError:…exceptZeroDivisionError:print(‘底數(shù)不能為1’)exceptNameError:Prints(‘輸入必須為實數(shù)’)else:print(C)
參考答案
1.D
2.Dmayavi和TVTK是數(shù)據(jù)可視化方向的第三方庫,PIL是圖像處理方面的第三方庫。本題選擇D選項。
3.A程序中b=4200,a=0.36,b—a=4199.64。本題選擇A選項。
4.BPython中open()函數(shù)提供了7種基本的文件打開模式:r、w、x、a、b、t、+。其中,r、w、x、a可以和b、t、+組合使用。故表示錯誤的是B項。
5.C
6.B屬于Python數(shù)據(jù)分析及可視化的第三方數(shù)據(jù)庫的有:numpy、scipy、pandas、matplotlib、TVTK、mayavi(也稱mayavi2)等。random庫是Python語言用于產(chǎn)生各種分布的偽隨機數(shù)序列的庫。本題選擇B選項。
7.D需求分析階段的工作可以概括為:需求獲取、需求分析、編寫需求規(guī)格說明書、需求評審四個方面。所以選擇D。
8.Brange()函數(shù)與for循環(huán)結(jié)合使用,一般可以創(chuàng)建一個整數(shù)列表,且range(start,stop[,step])包含3個參數(shù),代表列表的開始、結(jié)束以及步長,但其中不包含stop參數(shù)的范圍,即區(qū)間為左閉右開。print()函數(shù)的end參數(shù)用來設(shè)置輸出格式,默認為換行。該題輸出數(shù)字之間使用逗號分隔。本題選擇B選項。
9.D數(shù)據(jù)定義功能:負責數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;數(shù)據(jù)操縱功能:負責數(shù)據(jù)的操縱,包括查詢與增、刪、改等操作;數(shù)據(jù)控制功能:負責數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。本題選D選項。
10.Bappend()是向列表元素的結(jié)尾增加元素。
11.BPython總共有35個保留字,分別是:and,as,assett,async,await,break,class,eontinue,def,del,elif,else,except,F(xiàn)alse,fihally,for,from,global,if,impor.t,in,is,lambda,None,nonlocal,not,or,pass,raise,return,True,try,whiIe,with,yield。
12.DA選項正確,遞歸函數(shù)必須要有一個明確的結(jié)束條件作為遞歸的出口;B選項正是遞歸函數(shù)的含義,正確;C選項正確,在計算機中,函數(shù)調(diào)用是通過棧這種數(shù)據(jù)結(jié)構(gòu)實現(xiàn)的,每當進入一個函數(shù)調(diào)用,棧就會加一層棧幀,每當函數(shù)返回,棧就會減一層棧幀,由于棧的大小不是無限的,所以,遞歸調(diào)用的次數(shù)過多,會導(dǎo)致棧溢出;D選項,每當進入更深一層的遞歸時,問題規(guī)模顯然會相對前一次遞歸減小。
13.C
14.D自然連接是一種特殊的等值連接,它要求兩個關(guān)系中進行比較的分量必須是相同的屬性,并且在結(jié)果中把重復(fù)的屬性列去掉,所以根據(jù)T關(guān)系中的有序組可知R與S進行的是自然連接操作。
15.BPyQt5是用戶圖形化界面方向的第三方庫;Pandas、Numpy、Seaborn、Scipy都是數(shù)據(jù)分析方向的第三方庫。
16.B賦值運算的一般形式:變量=表達式,左邊只能是變量。A選項是連續(xù)賦值,C選項是序列賦值,D選項可以寫為x=x+y。本題選擇B選項。
17.Dturtle庫的home()函數(shù)用于設(shè)置當前畫筆位置為原點,朝向東。本題選擇D選項。
18.Dall(x)函數(shù),當組合類型變量x中所有元素為真時返回True,否則返回False。元素除了0、None、False外都算True。所以a的值為False;b中split()是字符串分隔方法,返回分隔后的值應(yīng)為[‘123’,‘0’];c中ascii()的參數(shù)是字符串‘python’,所以返回‘python’。本題選擇D選項。
19.A不同類型之間不能相互運算;除數(shù)不能為0;Print'noerror'語句是Pythcm2.X的語法,不適用Python3.\nX。本題選擇A選項。
20.DTest_llst是列表類型,6inTest_llst表示如果6是列表Test_llst的元素,則返回True,否則返回False。本題選擇D選項。
21.BPython不支持char類型,只支持數(shù)字類型和字符串類型。其中數(shù)字類型包括整數(shù)、浮點數(shù)和復(fù)數(shù)。
22.D循環(huán)鏈表是線性表的一種鏈式存儲結(jié)構(gòu),循環(huán)隊列是隊列的一種順序存儲結(jié)構(gòu)。因此D選項敘述錯誤。
23.ANumPy是Python的一種開源數(shù)值計算擴展第三方庫,用于處理數(shù)據(jù)類型相同的多維數(shù)組,簡稱“數(shù)組”。NrnnPy可以用來存儲和處理大型矩陣,其提供了許多髙級的數(shù)組編程工具,如矩陣運算、矢量處理、N維數(shù)據(jù)變換等。本題選擇A選項。
24.Aleii()方法獲得列表Is的長度,mnge()方法起到循環(huán)次數(shù)的作用,append()方法在列表lis最后增加元素。列表Is存儲的元素是列表,訪問時需要使用索引嵌套。本題選擇A選項。
25.B“+”號的運算包括字符串連接、算術(shù)加法和單目運算。
26.Cfor循環(huán)依次將1~5賦給i,i從1、2、3、4、5依次變化,當i%4==0時,結(jié)束本次循環(huán)進入下一循環(huán),反之輸出i的值。故輸出結(jié)果為:1,2,3,5,。本題選擇C選項。
27.C列表用中括號([])表示,由于列表屬于序列類型,故繼承了序列類型的所有屬性和方法,B項正確。索引是列表的基本操作,用于獲得列表中的一個元素,該操作沿用序列類型的索引方式,即正向遞增序號或反向遞減序號,使用中括號作為索引操作符,索引號不得超過列表的元素范圍,否則將產(chǎn)生IndexError錯誤。A項正確。列表可以進行元素增加、刪除、替換、查找等操作,列表沒有長度限制,元素類型可以不同,能夠包含其他的組合數(shù)據(jù)類型,故D項正確、C項錯誤。
28.APython分支結(jié)構(gòu)使用保留字if、elif和else來實現(xiàn),每個if后面不一定要有elif或else,A選項錯誤;if-else結(jié)構(gòu)是可以嵌套的,B選項正確;if語句會判斷if后面的邏輯表達式,當表達式為真時,執(zhí)行if后續(xù)的語句塊,C選項正確;縮進是Python分支語句的語法部分,縮進不正確會影響分支功能,D選項正確。本題選擇A選項。
29.Alambda關(guān)鍵字用來定義匿名函數(shù)。格式為<函數(shù)名>=lambda<參數(shù)列表>:<表達式〉。本題中用來比較字符串大小,因為aa>bb,所以輸出均為aa。本題選擇A選項。
30.Dwhile循環(huán)的判斷條件為真時,進入循環(huán)體,為假時,直接執(zhí)行while同級的代碼。初始值為i=0,進入循環(huán)體之后,因為i<1,執(zhí)行continue語句跳出本次循環(huán),進入下一循環(huán)。i的值始終為0,故程序為死循環(huán)。
31.Y
32.Y
33.Y
34.N
35.N
36.Y
37.Y
38.Y
39.Y
40.Y
41.class
42.'345'
43.[7,5,3]
44.[1,4,5]
45.18
46.True
47.'hiworld,hiweveryone'
48.and、or、not
49.是
50.['abcd']
51.importletter_list=[‘a(chǎn)’,‘b’,'c','d’,‘e’,'f’,’g’,‘h’,‘i’,‘j’,‘k’,‘l’,’m’,‘n’,‘o’,‘p’,’q’,‘r’,‘s’,’t’,‘u’,‘v’,’w’,‘x’,‘y’,‘z’]letter=letter一list[random.randint(0,25)]count=0whileTrue:Letter_input=input(‘請輸入26個小寫英文字母中的任一個:’)Count+=1Ifletter_inputnotinletter_list:Print(‘請重新輸入字母’)Else:Ifcount>5Print(‘猜測超過5次,答題失敗’)BreakElse:Ifletter_input==letter:Print(‘恭喜你答對了,總共猜了{}次’.format(count))BreakElifletter_input>letter:Print(‘你輸入的字母排在該字母之后’)Elifletter_inputPrint(‘你輸入的字母排在該字母之前’)Else:Print(‘未知錯誤’)隨機抽取26個小寫字母,需要使用Python的random庫中的函數(shù)。mndint(\r\na,b)函數(shù)生成一個區(qū)間為[a,b]的整數(shù),用來隨機抽取列表中的字母。根據(jù)題目要求總體分為兩個方向:①輸入的字符不是小寫字母中的任一個字符,則輸出“請重新輸入字母”;②若輸入的字符在列表中,則判斷輸入的次數(shù)是否大于5,大于5則輸出“猜測超過5次,答題失敗”并退出循環(huán),在輸入次數(shù)之內(nèi),對輸入的字符與隨機抽取的字符進行比較,即大于、小于及等于,不同的比較范圍對應(yīng)不同的輸出。
52.考生文件夾下存在兩個Python源文件“PY301.py”和“PY301-2.py”,分別對應(yīng)兩個問題,請按照文件內(nèi)說明修改代碼,實現(xiàn)以下功能?!栋谅c偏見》是史上最震撼人心的“世界文學(xué)十部最佳小說之一”。第1章的內(nèi)容由考生文件夾下文件“arrogant,txt”給出。問題1:請編寫程序,統(tǒng)計該篇文章的英文字符數(shù)(不統(tǒng)計換行符),字符與出現(xiàn)次數(shù)之間用冒號(:)分隔。結(jié)果保存在考生文件夾下,命名為“PY301-l.txt”。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準…d={}Is=list(d.items())…fo.write("{}:{}\\n".format(_____,_____))問題2:在問題1的前提下,將得到的字符次數(shù)進行降序排列,并將排名前10的常用字符保存在“arrogant-sort,txt”文件中。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準…d={}…Is=list(d.items())Is.sort(key=lambdax:x[1],reverse=True)…fo.write("{}:{}\\n".format(_____,_____))試題答案:(1)Fi=open(“arrogant.txt,”r”)Fo=open(“PY301-1.txt”,”w”Txt=fi.read()d={}Forsintxt:D[s]=d.get(s,0)+1Deld[‘\\n’]Is=list(d.items())Foriinrange(len(is)):fo.write(“{}:{}\\n”.format(ls[i][0],is[i][1])Fi.close()Fo.close()(2)Fi=open(“arrogant.txt,”r”)Fo=open(“arrogant-sort.txt”,”w”)Txt=fi.read()d={}Forsintxt:D[s]=d.get(s,0)+1Deld[‘\\n’]Is=list(d.items())Is.sort(key=lambdax:x[1],reverse=True)Foriinrange(10):fo.write(“{}:{}\\n”.fcrmat(is[i][0],is[i][1])Fi.close()Fo.close()(1)首先使用open()函數(shù)打開文件“arrogant,\r\ntxt”,把文件的內(nèi)容通過read()方法保存到變量txt中;然后用for循環(huán)遍歷txt中的每個英文字符,將該字符作為字典d中的鍵,將該鍵所對應(yīng)的值設(shè)置為1,在后面循環(huán)中只要遍歷的字符與該鍵相同,就將該鍵對應(yīng)的值加1。這樣,字典中的鍵值對對應(yīng)著英文字符和其出現(xiàn)的次數(shù)。由于題目要求不統(tǒng)計換行符,因此需要使用del刪除換行符對應(yīng)的鍵值對。Is=list(d.items())表示將字典類型變成列表類型,字典中的每個鍵值對對應(yīng)列表中的一個元組。每個元組中的第一個元素ls[i]\r\n[0]表示英文字符,第二個元素is[i][1]表示字符出現(xiàn)的次數(shù)。通過for循環(huán)遍歷按照格式規(guī)則將兩個對應(yīng)的元素寫入文件“PY301-1.\r\ntxt”。(2)\r\n問題2在問題1的基礎(chǔ)上增加了排序,排序的規(guī)則是按照字符出現(xiàn)的次數(shù)降序排序,因此排序后列表中前10個元素(元組)就是排名前10的字符。通過for循環(huán)遍歷按照格式規(guī)則將這10個元素寫入文件“\r\narrogant-sort,tx”中。
53.?Importmathtry:a=eval(input('請輸入底數(shù):”))b=eval(input(‘請輸入真數(shù):’))c=math.log(b,a)exceptValueError:ifa<=0andb>0:Print(‘真數(shù)和底數(shù)都不能小于等于0’)exceptZeroDivisionError:print(’底數(shù)不能為1’)exceptNameError:print(輸入必須為實數(shù)’)else:print(c)ax=/V(a>0,a≠1),那么指數(shù)x叫作以a為底N的對數(shù),記作x\r\n=logaN其中a叫作對數(shù)的底數(shù),叫作真數(shù)。要使用對數(shù),需先導(dǎo)入math庫,math.log(x[,base])返回x的自然對數(shù),x>0。使用異常處理機制時,根據(jù)不同的錯誤類型,輸出不同的信息內(nèi)容,在值錯誤類型下,使用if判斷語句將有可能錯誤的信息進行處理。遼寧省丹東市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.靜態(tài)成員變量稱為類變量,非靜態(tài)成員變量稱為實例變量,下列關(guān)于一個類的靜態(tài)成員的描述中,不正確的是()
A.該類的對象共享其靜態(tài)成員變量的值
B.靜態(tài)成員變量可被該類的所有方法訪問
C.該類的靜態(tài)方法只能訪問該類的靜態(tài)成員變量
D.該類的靜態(tài)數(shù)據(jù)成員變量的值不可修改
2.下面屬于P)rthon文本處理方向的第三方庫的是()。
A.PILB.mayaviC.TVTKD.pdfminer
3.以下程序的輸出結(jié)果是()。a=3.6e一1b=4.2e3print(b—a)
A.4199.64B.7.8e2C.0.6e一4D.4199.064
4.關(guān)于Python文件打開模式,表示錯誤的是()。
A.rtB.nbC.abD.wt
5.在Python中關(guān)于單引號與雙引號的說法中正確的是()
A.Python中字符串初始化只能使用單引號
B.單引號用于短字符串,雙引號用于長字符串
C.單雙引在使用上沒有區(qū)別
D.單引號針對變量,雙引號針對常量
6.不屬于Python數(shù)據(jù)分析及可視化處理第三方庫的是()。
A.seabornB.randomC.mayavi2D.numpy
7.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。A.軟件集成測試計劃B.軟件詳細設(shè)計說明書C.用戶手冊D.軟件需求規(guī)格說明書
8.以下程序的輸出結(jié)果是()。foriinrange(3):print(i,end=‘,’)A.0,1,2B.0,1,2,C.1,2,3D.1,2,3,
9.數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的查詢、插入、修改和刪除,這類功能稱為()。
A.數(shù)據(jù)控制功能B.數(shù)據(jù)定義功能C.數(shù)據(jù)存儲功能D.數(shù)據(jù)操縱功能
10.下面代碼的輸出結(jié)果是()。list=[“1”,”3”,”5”]defapp(x):list.a(chǎn)ppend(x)app(”7”)print(list)
A.[’1’,’3’,’5’]B.[’1’,’3’,’5’,’7’]C.[’7’]D.”1,3,5,7”
11.以下不屬于Python語言保留字的是()。
A.passB.useC.withD.None
12.下面關(guān)于遞歸函數(shù),描述錯誤的是()。
A.遞歸函數(shù)必須有一個明確的結(jié)束條件
B.遞歸函數(shù)就是一個函數(shù)在內(nèi)部調(diào)用自身本身
C.遞歸效率不高,遞歸層次過多會導(dǎo)致棧溢出
D.每進入更深一層的遞歸時,問題規(guī)模相對于前一次遞歸是不變的
13.當在命令行中以pythonmy.pyv1v2形式運行python腳本時,通過fromsysimportargv如何獲得v2的參數(shù)值?
A.argv[0]B.argv[1]C.argv[2]D.argv[3]
14.有三個關(guān)系R、S和T如下:[*9]由關(guān)系R和S通過運算得到關(guān)系T,則所使用的運算為()。
A.笛卡爾積B.交C.并D.自然連接
15.以下不屬于數(shù)據(jù)分析領(lǐng)域的Python第三方庫是()。
A.PandasB.PyQt5C.NumpyD.Seabom
16.下列哪個語句在Python中是非法的?()
A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y
17.以下關(guān)于turtle庫的描述,錯誤的是()。
A.在importturtle之后,可以用turtle.circle()語句畫一個圓圈
B.seth(x)是setheading(x)函數(shù)的別名,其作用是讓畫筆旋轉(zhuǎn)x角度
C.可以用importturtle來導(dǎo)入turtle庫函數(shù)
D.home()函數(shù)用于設(shè)置當前畫筆位置為原點,方向朝上
18.以下程序的輸出結(jié)果是()。list=[[0,1,2],“123.0”,“python”]a=all(list[0])b=list[1].split(“.”)c=ascii(list[2])print(a,b,c)
A.True[‘123’]‘python’
B.False['0']‘1’
C.True[‘123’,‘0’]‘1’
D.False[‘123’,‘0’]‘python’
19.以下語句不會引發(fā)異常的是()。
A.a=b=3+ljB.1+"1"C.3/0D.print"noerror"
20.以下程序的輸出結(jié)果是()。Test_list=list(range(6))Print(6inTest_list)
A.6B.6inTest_listC.TrueD.False
21.以下選項中Python不支持的數(shù)據(jù)類型是()。A.intB.charC.floatD.list
22.下列敘述中錯誤的是()。
A.向量屬于線性結(jié)構(gòu)B.二叉鏈表是二叉樹的存儲結(jié)構(gòu)C.棧和隊列是線性表D.循環(huán)鏈表是循環(huán)隊列的鏈式存儲結(jié)構(gòu)
23.在Python中,包含矩陣運算的第三方庫是()。
A.NumPyB.PyQt5C.wordcloudD.wxPython
24.下列代碼的輸出結(jié)果是()。Is=[[0,l],[5,6],[7,8]]lis=[]foriinrange(len(Is)):lis.append(ls[i][1])print(lis)
A.[l,6,8]B.[0,5,7]C.[0,6,8]D.[0,1]
25.下面不是“+”的用法的是()。
A.字符串連接B.邏輯與C.算術(shù)加法D.單目運算
26.以下程序的輸出結(jié)果是()。foriinrange(1,6): ifi%4==0: continue else: print(i,end=“,”)
A.1,2,3,B.1,2,3,4,C.1,2,3,5,D.1,2,3,5,6
27.以下描述中,錯誤的是()。
A.Python語言通過索引來訪問列表中元素,索引可以是負整數(shù)
B.列表用方括號來定義,繼承了序列類型的所有屬性和方法
C.Python列表是各種類型數(shù)據(jù)的集合,列表中的元素不能夠被修改
D.Python語言的列表類型能夠包含其他的組合數(shù)據(jù)類型
28.以下關(guān)于Python分支結(jié)構(gòu)的描述中,錯誤的是()。
A.Python分支結(jié)構(gòu)使用保留字if、elif和else來實現(xiàn),每個if后面必須有elif或else
B.if-else結(jié)構(gòu)是可以嵌套的
C.if語句會判斷if后面的邏輯表達式,當表達式為真時,執(zhí)行if后續(xù)的語句塊
D.縮進是Python分支語句的語法部分,縮進不正確會影響分支功能
29.下面代碼的輸出結(jié)果是()。f=lambdax,y:xifx<yelseya=f(“aa”,“bb”)b=f(“bb”,“aa”)print(a,b)A.aaaaB.aabbC.bbaaD.bbbb
30.以下程序中,while循環(huán)的循環(huán)次數(shù)是()。i=0whilei<10:ifi<1:print(”Python”)continueifi==5:print(”World!”)breaki+=1
A.10B.5C.4D.死循環(huán),不能確定
二、判斷題(10題)31.Python支持使用字典的“鍵”作為下標來訪問字典中的值。
A.是B.否
32.Python是一種跨平臺、開源、免費的高級動態(tài)編程語言。
A.是B.否
33.對于列表而言,在尾部追加元素比在中間位置插入元素速度更快一些,尤其是對于包含大量元素的列表。
A.是B.否
34.表達式{1,2}*2的值為{1,2,1,2}。
A.是B.否
35.表達式[]==None的值為True。
A.是B.否
36.3+4j是合法Python數(shù)字類型。
A.是B.否
37.全局變量會增加不同函數(shù)之間的隱式耦合度,從而降低代碼可讀性,因此應(yīng)盡量避免過多使用全局變量。
A.是B.否
38.在函數(shù)內(nèi)部,既可以使用global來聲明使用外部全局變量,也可以使用global直接定義全局變量。
A.是B.否
39.在Python3.x中,內(nèi)置函數(shù)input()把用戶的鍵盤輸入一律作為字符串返回。A.是B.否
40.Python集合不支持使用下標訪問其中的元素。
A.是B.否
三、填空題(10題)41.Python使用_________________關(guān)鍵字來定義類。
42.已知字典x={i:str(i+3)foriinrange(3)},那么表達式''.join(x.values())的值為____________。
43.已知x=[3,7,5],那么執(zhí)行語句x.sort(reverse=True)之后,x的值為_________________。
44.已知x=[1,2,3,4,5],那么執(zhí)行語句delx[1:3]之后,x的值為____________。
45.已知x=3,那么執(zhí)行語句x*=6之后,x的值為________________。
46.表達式isinstance('abcdefg',object)的值為_____________。
47.表達式'helloworld,helloweveryone'.replace('hello','hi')的值為________________________。
48.Python中用于表示邏輯與、邏輯或、邏輯非運算的關(guān)鍵字分別是_________、___________、_________。
49.一個數(shù)字5__________(是/不是)合法的Python表達式。
50.表達式list(filter(lambdax:len(x)>3,['a','b','abcd']))的值為___________。
四、操作題(3題)51.考生文件夾下存在一個文件“PY301.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請按照源文件內(nèi)部說明修改代碼,實現(xiàn)以下功能。設(shè)計一個猜字母的程序,程序隨機給出26個小寫字母中的一個,答題者輸入猜測的字母,若輸入的不是26個小寫字母之一,讓用戶重新輸入;若字母在答案之前或之后,程序給出相應(yīng)正確提示;若答錯5次,則答題失敗并退出游戲;若回答正確,程序輸出回答次數(shù)并退出游戲。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準
52.考生文件夾下存在兩個Python源文件“PY30H.py”和“PY301-2.py”,分別對應(yīng)兩個問題,請按照文件內(nèi)說明修改代碼,實現(xiàn)以下功能?!栋谅c偏見》是史上最震撼人心的“世界文學(xué)十部
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京體育大學(xué)《臨床檢驗基礎(chǔ)B》2023-2024學(xué)年第一學(xué)期期末試卷
- 轉(zhuǎn)讓茶樓協(xié)議合同范本
- 2025年度航空航天零部件加工與檢測服務(wù)合同范本
- 二零二五年度互聯(lián)網(wǎng)平臺股份質(zhì)押風(fēng)險控制合同3篇
- 房地產(chǎn)中介服務(wù)合同買方范本
- 健康管理項目方案
- 2025版舊路加鋪工程交通組織與疏導(dǎo)服務(wù)合同3篇
- 2025版房屋買賣合同及裝修拆除責任約定2篇
- 二零二五年在線教育平臺股份收購與教育資源整合合同3篇
- 育人課程設(shè)計分析題
- 《工程圖學(xué)基礎(chǔ)教程(第4版)》 課件 第7章 零件圖
- 王二小的故事【拼音版】
- 生產(chǎn)工藝過程說明書
- 遼寧省營口市鲅魚圈區(qū)2023-2024學(xué)年數(shù)學(xué)四年級第一學(xué)期期末復(fù)習(xí)檢測試題含答案
- 中小學(xué)鐵路安全知識主題教育課件
- 工程施工安全交底
- 院內(nèi)按病種分值付費(DIP)專題培訓(xùn)
- 2023-2024學(xué)年遼寧省調(diào)兵山市小學(xué)數(shù)學(xué)五年級上冊期末高分通關(guān)試題
- 地方公務(wù)員考試:2022西藏真題及答案
- 電化學(xué)培優(yōu)專題
- GB/T 631-2007化學(xué)試劑氨水
評論
0/150
提交評論