




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
四川省眉山市全國計算機等級考試Python語言程序設計學校:________班級:________姓名:________考號:________
一、單選題(30題)1.以下代碼的輸出結果是()。a=10.99print(complex(a))
A.0.99B.10.99i+iC.10.99D.(10.99+0j)
2.不屬于Python開發用戶界面的第三方庫的是()。
A.PyGObjectB.PyQtC.timeD.PyGTK
3.以下代碼的輸出結果是()。defHello(famlyName,age):ifage>50:print(”您好!”+famlyName+”奶奶”)elifage>40:print(”您好!”+famlyName+”阿姨”)elifage>30:print(”您好!”+famlyName+”姐姐”)else:print(”您好!”+”小”+famlyName)Hello(age=43,famlyName=”趙”)
A.您好!趙奶奶B.您好!趙阿姨C.您好!趙姐姐D.函數調用出錯
4.執行以下代碼的結果是()A.1B.2C.5D.8
5.數據庫設計中反映用戶對數據要求的模式是()。
A.內模式B.概念模式C.外模式D.設計模式
6.在Python語言中,不屬于組合數據類型的是()。
A.浮點數類型B.列表類型C.字典類型D.字符串類型
7.下列哪種情況不會導致Python對象的引用計數增加()
A.對象被創建B.被作為參數傳遞給函數C.成為容器對象的元素D.該對象無法訪問時
8.以下不屬于Python的pip工具命令的選項是()。
A.showB.installC.一VD.download
9.以下關于語言類型的描述中,正確的是()。
A.靜態語言采用解釋方式執行,腳本語言采用編譯方式執行
B.C語言是靜態編譯語言,Python語言是腳本語言
C.編譯是將目標代碼轉換成源代碼的過程
D.解釋是將源代碼一次性轉換成目標代碼同時逐條運行目標代碼的過程
10.商品銷售的售貨單和商品之間的聯系是()。
A.多對多B.一對多C.多對一D.一對一
11.在Python語言中,使用for..in..方式形成的循環不能遍歷的類型是()。
A.列表B.復數C.字符串D.字典
12.下面代碼的輸出結果是()。foriin“PYTHON":forkinrange(2):print(i,end=“”)ifi=='H':break
A.PPYYTTHHOONNB.PPYYTT00NNC.PPYYTTH00NND.PPYYTTH
13.以下關于分支和循環結構的描述中,正確的是()。
A.在循環中,continue語句的作用是跳出當前循環
B.在循環中,break語句的作用是結束該語句所在的循環
C.帶有else子句的循環語句,如果是因為執行了break語句而退出的話,則會執行else子句中的代碼
D.在Python中,分支結構和循環結構必須帶有else子句
14.以下關于文件的描述中,錯誤的是()。
A.文件是存儲在外存上的一組數據序列,可以包含任何數據內容
B.可以使用open()打開文件,用Close()關閉文件
C.使用read()可以從文件中讀入全部內容
D.使用readlines()可以從文件中讀入一行內容
15.以下程序的意義是()。>>>car=‘BWM’>>>id(car)
A.查看變量所占的位數B.轉換成布爾值C.查看變量在內存中的地址D.把變量中的元素隨機排列
16.執行以下程序,導致輸出”輸入有誤”的輸入選項是()。try:ls=eval(input())*2print(ls)except:print(’輸入有誤’)
A.’aa’B.’12’C.aaD.12
17.想查看BIFlen的文檔信息,輸入以下命令()
A.helplenB.help--lenC.lenhelpD.help(len)
18.軟件詳細設計產生的圖如下:
該圖是()。
A.N-S圖B.PADC.程序流程圖D.E-R圖
19.下面代碼的輸出結果是()。n=2deff(a):n=bool(a一2)returnnb=f(2)print(n,b)
A.20B.0TrueC.2FalseD.0False
20.以下程序的輸出結果是()。d={}foriinrange(26): d[chr(i+ord(“A”))]=chr((i+13)%26+ord(“A”))forcin“Python”: print(d.get(c,c),end=“”)
A.PlgubaB.CabuglC.PythonD.Cython
21.下面關于遞歸函數,描述錯誤的是()。
A.遞歸函數必須有一個明確的結束條件
B.遞歸函數就是一個函數在內部調用自身本身
C.遞歸效率不高,遞歸層次過多會導致棧溢出
D.每進入更深一層的遞歸時,問題規模相對于前一次遞歸是不變的
22.以下關于Python函數的描述中,錯誤的是()。
A.Python程序的main函數可以改變為其他名稱
B.如果Python程序包含一個函數main(),這個函數與其他函數地位相同
C.Python程序可以不包含main函數
D.Python程序需要包含一個主函數且只能包含一個主函數
23.為以下程序填空,使得輸出結果是{40:’yuwen’,20:’yingyu’,30:’shuxu’}的選項是()。tb={’yingyu’:20,’shuxue’:30,’yuwen’:40}
stb={}foritintb.items():
print(it)print(stb)A.stb[it[1]]=it[0]
B.stb[it[1]]=stb[it[0]]
C.stb[it[1]]=tb[it[1]]
D.D.stb[il[1]]=tb[it[0]]
24.執行以下代碼的結果是?A.20B.24C.30D.33
25.以下程序被調用后,能夠正確執行的是()。deff(x,y=1,z=2):pass
A.f(x=1,2)B.f(x=1,y=2,z=3)C.f(1,x=2,z=3)D.f(1,y=2,3)
26.以下關于Python全局變量和局部變量的描述中,錯誤的是()。
A.當函數退出時,局部變量依然存在,下次函數調用可以繼續使用
B.全局變量一般指定義在函數之外的變量
C.使用global保留字聲明后,變量可以作為全局變量使用
D.局部變量在函數內部創建和使用,函數退出后變量被釋放
27.以下變量名中,符合Python變量命名規則的是()。
A.33_keywordB.key@word33_C.nonlocalD._33keyword
28.以下程序的輸出結果是()。forcin’PythonNCRE’:ifc==’N’:breakprint?
A.無輸出B.PythonC.PythoD.PythonCRE
29.下面代碼中Dog這個類中的init方法共包含幾個形參?()ClassDog():def_______init________(self,name,age):self.name=nameSelf.age=age
A.0個B.1個C.2個D.3個
30.以下程序的輸出結果是()。deffun(x): try: returnx*4 except: returnxprint(fun(“5”))
A.20B.5555C.5D.9
二、判斷題(10題)31.無法刪除集合中指定位置的元素,只能刪除特定值的元素。
A.是B.否
32.無法配置IIS來支持Python程序的運行。
A.是B.否
33.在Python中可以使用if作為變量名。
A.是B.否
34.在編寫應用程序時,應合理控制線程數量,線程并不是越多越好。
A.是B.否
35.Python2.x和Python3.x中input()函數的返回值都是字符串。
A.是B.否
36.運算符“-”可以用于集合的差集運算。
A.是B.否
37.在函數內部沒有任何方法可以影響實參的值。
A.是B.否
38.二進制文件不能使用記事本程序打開。
A.是B.否
39.元組是不可變的,不支持列表對象的inset()、remove()等方法,也不支持del命令刪除其中的元素,但可以使用del命令刪除整個元組對象。
A.是B.否
40.已知seq為長度大于10的列表,并且已導入random模塊,那么[random.choice(seq)foriinrange(10)]和random.sample(seq,10)等價。
A.是B.否
三、填空題(10題)41.已知字典x={i:str(i+3)foriinrange(3)},那么表達式''.join(x.values())的值為____________。
42.表達式':'.join('1,2,3,4,5'.split(','))的值為__________________。
43.表達式3notin[1,2,3]的值為__________。
44.表達式list(map(lambdax:len(x),['a','bb','ccc']))的值為__________。
45.查看變量類型的Python內置函數是________________。
46.表達式type({3:3})的值為__________。
47.已知x,y=map(int,['1','2']),那么表達式x+y的值為_______。
48.假設有Python程序文件abc.py,其中只有一條語句print(__name__),那么直接運行該程序時得到的結果為_____________。
49.已知x=[1,2,3,4,5],那么執行語句delx[1:3]之后,x的值為____________。
50.已知x=[3,5,7],那么表達式x[10:]的值為____________。
四、操作題(3題)51.考生文件夾下存在3個Python源文件,分別對應3個問題;1個文本文件,作為本題目輸入數據,請按照源文件內部說明修改代碼,實現以下功能:
《賣火柴的小女孩》是丹麥童話故事作家安徒生的一篇童話故事,發表于1846年。主要講了一個賣火柴的小女孩在富人闔家歡樂、舉杯共慶的大年夜凍死在街頭的故事。這里給出《賣火柴的小女孩》的一個網絡版本文件,文件名為“小女孩.txt”。問題1:在PY301—1.py文件中修改代碼,對“小女孩.txt”文件進行字符頻次統計,輸出頻次最高的中文字符(不包含標點符號)及其頻次,字符與頻次之間采用英文冒號”:”分隔,將輸出結果保存在考生文件夾下,命名為"PY301—1.txt"。示例格式如下:的:83
試題程序:#以下代碼為提示框架
#請在…處使用一行或多行代碼替換
#請在________處使用一行代碼替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準
fo=open(”PY301—1.txt”,”w”)
d={}
fo.write(”{}:{}”.format(__________))
fo.close()問題2:在PY301—2.py文件中修改代碼,對“小女孩.txt”文件進行字符頻次統計,按照頻次由高到低,輸出前10個頻次最高的字符,不包含回車符,字符之間無間隔,連續輸出,將輸出結果保存在考生文件夾下,命名為“PY301—2.txt”。示例格式如下:,的一…(后略,共10個字符)
試題程序:
#以下代碼為提示框架
#請在…處使用一行或多行代碼替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準
fo=open(”PY301一2.txt”,“w”)d={}ls=list(d.items())
ls.sort(key=lambdax:x[1],reverse=True)#此行可以按照詞頻由高到低排序
問題3:在PY301一3.py文件中修改代碼,對“小女孩.txt”文件進行字符頻次統計,將所有字符按照頻次從高到低排序,字符包括中文、標點、英文等符號,但不包含空格和回車。將排序后的字符及頻次輸出到考生文件夾下,文件名為“小女孩一頻次排序.txt”。字符與頻次之間采用英文冒號”:”分隔,各字符之間采用英文逗號”,”分隔,參考CSV格式,最后無逗號,文件內部示例格式如下:
著:30,那:29,火:29
試題程序:
#以下代碼為提示框架
#請在…處使用一行或多行代碼替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準
d={}
ls=list(d.items())
ls.sort(key=lambdax:x[1],reverse=True)}}#此行可以按照詞頻由高到低排序
52.考生文件夾下存在一個文件“PY102.py”,請寫代碼替換橫線,不修改其他代碼,實現以下功能。使用jieba庫,把題目給出的文本進行分詞,并將分詞后的結果輸出。試題程序:#請在_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼_____(1)_____s="一件事情沒有做過,就沒有資格對此事發表看法"Is=_____(2)____print(Is)
53.考生文件夾下存在一個文件“PY201.Py”,請寫代碼替換橫線,不修改其他代碼,實現以下功能。使用turtle庫的turtle.circle()函數、turtle.seth()函數及turtle.left()函數繪制一個四瓣花圖形,效果如下所示。
試題程序:#請在_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼importturtleforiinrange(_____(1)_____):turtle.seth(_____(2)_____)turtle.circle(50,90)turtle.seth(_____(3)_____)turtle.circle(50,90)turtle.(4)
參考答案
1.Da=10.99,說明實部為10.99,虛部為0,故complex(a)返回復數10.99+0j。
2.CPyQt(QT開發庫)、PyGObject及PyGTK(GTK\n+庫)均是Python開發用戶界面的第三方庫。而time庫是Python提供的處理時間標準庫。本題選擇C選項。
3.B將實參age=43,famlyName=”趙”分別賦給形參age和famlyName,之后進入多分支結構進行判斷,因為40<age=43<50,執行第一個elif后面的語句,用”+”進行字符串連接,故輸出“您好!趙阿姨”。本題選擇B選項。
4.C
5.C數據庫系統的三級模式是概念模式、外模式和內模式。概念模式是數據庫系統中全局數據邏輯結構的描述,是全體用戶公共數據視圖。外模式也稱子模式或用戶模式,它是用戶的數據視圖,給出了每個用戶的局部數據描述,所以選擇C。內模式又稱物理模式,它給出了數據庫物理存儲結構與物理存取方法。
6.APython中組合數據類型包括元組、列表、字典和集合等。
7.D
8.Cpip工具常用的命令有安裝(install)、下載(download)、卸載(uninstall)、列表(1ist)、查看(show)、查找(search)。一V屬于pyinstaller命令的常用參數,不屬于命令。
9.B高級語言根據計算機執行機制的不同可分為兩類:靜態語言和動態語言。靜態語言采用編譯方式執行,腳本語言采用解釋方式執行。例如,C語言是靜態語言,Python是腳本語言。編譯是將源代碼轉換成目標代碼的過程。解釋是將源代碼逐條轉換成目標代碼同時逐條運行目標代碼的過程。本題選B選項。
10.A一張售貨單可以有多種商品的記錄,一種商品也可以出現在多張售貨單上。因此售貨單和商品之間的聯系是多對多。
11.B在Python語言中,使用for..in..方式形成的循環能遍歷的類型有字符串、文件、range()函數或組合數據類型,不能遍歷復數。
12.C外層循環用來遍歷字符串PYTHON,內層循環用來控制輸出每個字符的次數。當i==’H’時,break結束內層循環,故輸出結果中只有一個’H’,其他字符均為兩個。本題選擇C選項。
13.Bcontinue語句用于中斷本次循環的執行,繼續執行下一輪循環的條件,而不是跳出當前循環;Python中的for、while循環都有一個可選的else子句,如果用break語句終止循環,那么else語句將不會執行。
14.D文件是存儲在外存上的一組數據序列,可以包含任何數據內容。A選項正確。可以使用open()打開文件,close()關閉文件,B選項正確。在Python中,文件的讀取方法(f代表文件變量)如下。f.read():從文件中讀人全部內容。f.readline():從文件中讀入一行內容。f.readlineS():從文件中讀入所有行,以每行內容為元素形成一個列表。f.seek()改變當前文件操作指針的位置。C選項正確。本題選擇D選項。
15.Cid(x)是Python中的內置函數,用來查看變量在內存中的地址。本題選擇C選項。
16.C無論用戶輸入的是字符還是數字,input()函數統一按照字符串類型輸出,當輸入aa時,以字符串類型’aa’返回;然后eval()函數處理字符串’aa’,去掉其兩側的引號,將其解釋為一個變量,由于之前沒有定義過該變量,因此解釋器報錯,輸出”輸入有誤”。
17.D
18.CN-S圖提出了用方框圖來代替傳統的程序流程圖,所以A選項不對。問題分析圖(Prob-lemAnalysisDiagram,\nPAD)\n是繼承程序流程圖和方框圖之后提出的又一種主要用于描述軟件詳細設計的圖形,所以B選項不對。E-R圖是數據庫中的用于表示E-R模型的圖示工具,所以D選項不對。根據圖中所示的表示方法可知,是進行軟件詳細設計時使用的程序流程圖。本題選擇C選項。
19.C這段代碼是全局變量和局部變量以及Python內置函數bool()的一個結合。在函數內部的局部變量名和函數外部全局變量名相同時,調用函數時,總是先找到函數內部的局部變量名,所以當a為2時,經過布爾型轉換之后的a一2,即b為False,而在函數外部只能訪問全局變量名,所以n仍為2,C項正確。
20.Dord()函數是把字符轉換成對應的ASCII值,chr()函數是ord()函數的逆運算,即把ASCII值轉換成對應的字符輸出,所以ord(“A”)為65。第一個for循環的作用是生成鍵值對存儲在字典變量d中。例如,當i=0,d[A]=N;i=1,d[B]=0……—直到i=13,d[N]=A,后面的鍵和值與前面的是互換位置的,如i=14,d[0]=B;i=15,d[P]=C……依次循環賦值,直到i=25時結束for循環。第二個for循環的作用是輸出字典的值,get(key,default=None)函數有兩個參數:第一個參數是字典的鍵;第二個參數是默認值,作用是返回字典中key對應的值,如果key不存在,則返回默認值,如d={“A”:“N”,“0”:“B”,“Z”:“M”},d.get(“A”,“C”)返回的是N。當c=“P”時,在字典中查找是否存在鍵為“P”的值,遍歷后發現存在這樣的值,所以返回C。for循環繼續遍歷剩下的字符,在字典中找不到對應的鍵,則返回默認值,所以結果返回為Cython。本題選擇D選項。
21.DA選項正確,遞歸函數必須要有一個明確的結束條件作為遞歸的出口;B選項正是遞歸函數的含義,正確;C選項正確,在計算機中,函數調用是通過棧這種數據結構實現的,每當進入一個函數調用,棧就會加一層棧幀,每當函數返回,棧就會減一層棧幀,由于棧的大小不是無限的,所以,遞歸調用的次數過多,會導致棧溢出;D選項,每當進入更深一層的遞歸時,問題規模顯然會相對前一次遞歸減小。
22.DPython是一種腳本解釋語言,與C/C++和Java有很大的區別,沒有主函數的說法。當運行單個Python文件時,如文件名為a.py,則a的屬性__name_==‘_main_’,并不是首先執行所謂的main函數。Python整個程序自頂向下順序執行。本題選D選項。
23.A分析題目及程序代碼可知,題意是將字典中的鍵值互換。tb.items()以列表形式(并非直接的列表,若要返回列表值還需調用list函數)返回可遍歷的(鍵,值)元組數組。因此,for循環中it每次遍歷得到的是一個元組,依次為(’yingyu’,20)、(’shuxue’,30)、(’yuwen’,40),然后將元組中序號為0的元素和序號為1的元素互換位置,實現字典中鍵值的互換,應填入stb[it[1]]=it[0]。
24.D
25.B函數的參數在定義時可以指定默認值,當函數被調用時,如果沒有傳人對應的參數值,則使用函數定義時的默認值替代。本題在定義函數時,y=1,z=2就是指定的默認值。在Python中,函數調用時,參數傳遞的主要方式有位置傳遞和關鍵字傳遞兩種。位置傳遞是根據函數定義的參數位置來傳遞參數;關鍵字傳遞是根據每個參數的名字傳遞參數,該方式不用區分參數順序位置,名字對了就行。關鍵字傳遞可以和位置傳遞混用,但混用時位置參數要出現在關鍵字參數之前。A項,第一個參數為關鍵字傳遞,第二個參數為位置傳遞,混用順序不對;D項,第二個參數為關鍵字傳遞,第三個參數為位置傳遞,混用順序不對;C項,第一個參數已經使用位置傳遞(將1傳遞給x),第二個參數又使用關鍵字傳遞將2傳遞給x,會出現異常報錯。故答案為B項。
26.A根據程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量指在函數內部定義的變量,僅在函數內部有效,且作用域也在函數內部,當函數退出時變量將不再存在。全局變量一般指在函數之外定義的變量,在程序執行全過程有效。全部變量在函數內部使用時,需要提前使用保留字global聲明,語法形式:global<全局變量>。使用global對全局變量聲明時,該變量要與外部全局變量同名。
27.DPython采用大寫字母、小寫字母、數字、下劃線和漢字等字符及其組合進行命名,但名字的首字符不能是數字,標識符中間不能出現空格,長度沒有限制。變量名不能與保留字相同。本題選擇D選項。
28.A本題中,break語句出現在print語句之前,當if的條件為True時,執行break語句,跳出for循環,不再執行循環體中break后面的語句,故無輸出。
29.D_init_()方法是一個特殊的方法,每當根據類創建新實例時,Python會自動運行該方法。該方法的開頭和結尾各有兩個下劃線,這是一種約定,旨在避免Python的默認方法和普通方法發生命名沖突。self,name,age都是init方法的形參,所以共3個。
30.Bfun(“5”)是將字符“5”賦給形參x,由于‘5’是字符類型,不是數字類型,不能進行數值運算,因此“x*4”是把字符“5”連續復制4次輸出。本題選擇B選項。
31.Y
32.N
33.N
34.Y
35.N
36.Y
37.N
38.N
39.Y
40.N
41.'345'
42.'1:2:3:4:5'
43.False
44.[1,2,3]
45.type()
46.dict
47.3
48.__main__
49.[1,4,5]
50.[]
51.(1)fi=open("小女孩.txt","r")\r\nfo=open(”PY301—1.txt”,”w”)\r\ntxt=fi.read()\r\nd={}\r\nexclude=",。!?、()【】<>《》=:+-*-“”…"\r\nforwordintxt:\r\n
ifwordinexclude:\r\n
continue\r\n
else:\r\n
d[word]=d.get(word,0)+1\r\nls=list(d.items())\r\nls.sort(key=lambdax:x[1],reverse=True)\r\n
fo.write(”{}:{}”format(ls[0][0],ls[0][1]))\r\n
fo.close()\r\n
(2)fi=open("小女孩.txt","r")\r\n
fo=open(”PY301—2.txt”,”w”)\r\n
txt=fi.read()\r\n
d={}\r\n
forwordintxt;\r\n
d[word]=d.get(word,0)+1\r\ndeld["\\n"]\r\n
ls=list(d.items())\r\n
ls.sort(key=lambdax:x[1],reverse=True)#此行可以按照詞頻由高到低排序\r\n
foriinrange(10);\r\n
fo.write(ls[i][0])\r\n
fi.close()\r\n
fo.close()
(3)fi=open("小女孩.txt","r")\r\nfo=open(小女孩-頻次排序。txt","w")\r\ntxt=fi.read()\r\nd={}\r\nforwordintxt\r\nd[word]=d.get(word,0)+1\r\ndeld[""]\r\ndeld["\\n"]\r\nls=list(d.items())\r\nls.sort(key=lambdax:x[1],reverse=True)#此行可以按照詞頻由高到低排序\r\nforiinrange(len(ls)):\r\nls[i]="{}:{}".format(ls[i][0],ls[i][1])\r\nfo.write(",".join(ls))\r\nfi.close()\r\nfo.close()(1)首先使用open()函數打開文件“小女孩.txt”,把文件的內容通過read()方法保存到變量txt中;定義一個字符串變量exclude用來存放標點符號。然后用for循環遍歷txt中的每個字符(word),并使用if條件進行判斷,若該字符在變量exclude中,說明該字符為標點符號,跳出該循環;否則將該字符作為字典d中的一個鍵,該鍵所對應的值置為1,在后面循環中只要遍歷的字符與該鍵相同,就將該鍵對應的值加1。\r\n
ls=list(d.items())表示將字典類型變成列表類型,字典中的每個鍵值對對應列表中的一個元組。隨后,對列表ls中的元組進行排序,用到sort()方法,參數“key=lambda.x:x[1]”中lambda是一個隱函數,是固定寫法,不能寫成別的單詞;x表示列表中的一個元素,在這里表示一個元組,x只是臨時起的一個名字,也可以使用任意的名字;x[1]表示以元組中第二個元素排序。sort()方法的第二參數表示是按哪種方式排序,若為“reverse=True”表示按降序排序;若該參數缺省或“reverse=False”,表示按升序排序。\r\n
排序后,列表ls中第一個元組中即為頻次最高的中文字符和頻次,ls[0][0]表示該字符,ls[0][1]表示其頻次,將這兩個元素通過“:”連接寫入文件“PY301—1.txt”中。\r\n
(2)問題2和問題1的區別在于統計的字符包含標點符號,因此不需要設置字符串變量exclude和使用if條件語句進行判斷;題目要求不包含回車符,因此需要使用del刪除字典d中鍵為”\n”的元素。最后要無間隔輸出前10個頻次最高的字符,需要對排序好的列表ls進行for循環遍歷,找到前10個元組的第一個元素,并將其直接寫入到文件“PY301—2.txt”中。\r\n
(3)問題3和問題2的區別在于統計的字符中不能包含空格,因此需要使用del刪除字典d中鍵為空格的元素。最后要將所有字符和其頻次輸出,需要對排序好的列表ls進行for循環遍歷,遍歷列表中的每個元組,并將元組中的兩個元素通過“:”連接,再用逗號分隔每個字符寫入到文件“小女孩一頻次排序.txt”中。
52.Importjiebas="—件事情沒有做過,就沒有資格對此事發表看法"Is=jieba.lcut(s)print(Is)jieba庫是Python的第三方中文分詞庫,使用前需要用import關鍵字將其導入,因此第1空應填importjieba。jieba分詞庫支持3種模式:精確模式、全模式及搜索引擎模式,其中精確模式lcut()是最為常用的,它返回的結果是列表類型,分詞準確,不產生冗余,因此第2空應填jieba.\r\nlcut(s)。
53.importturtleforiinrange(4):turtle.seth(90*(i+1))turtle,circle(50,90)turtle.seth(-90+i*90)turtle,
circle(50,90)turtle.hideturtle()該題考查的是用Python標準庫turtle庫繪制四瓣花。因為需要繪制4個花瓣,所以循環執行4次,第1空填4。然后利用cirde()函數繪制圓弧的特點,每旋轉90度繪制四分之一個圓弧,且題目中用seth()函數表示旋轉角度,此函數依據絕對角度旋轉,因此第2空填90\r\n*(i+1),第3空填-90+i*90。最后隱藏畫筆箭頭,第4空應填hideturtle()。四川省眉山市全國計算機等級考試Python語言程序設計學校:________班級:________姓名:________考號:________
一、單選題(30題)1.以下代碼的輸出結果是()。a=10.99print(complex(a))
A.0.99B.10.99i+iC.10.99D.(10.99+0j)
2.不屬于Python開發用戶界面的第三方庫的是()。
A.PyGObjectB.PyQtC.timeD.PyGTK
3.以下代碼的輸出結果是()。defHello(famlyName,age):ifage>50:print(”您好!”+famlyName+”奶奶”)elifage>40:print(”您好!”+famlyName+”阿姨”)elifage>30:print(”您好!”+famlyName+”姐姐”)else:print(”您好!”+”小”+famlyName)Hello(age=43,famlyName=”趙”)
A.您好!趙奶奶B.您好!趙阿姨C.您好!趙姐姐D.函數調用出錯
4.執行以下代碼的結果是()A.1B.2C.5D.8
5.數據庫設計中反映用戶對數據要求的模式是()。
A.內模式B.概念模式C.外模式D.設計模式
6.在Python語言中,不屬于組合數據類型的是()。
A.浮點數類型B.列表類型C.字典類型D.字符串類型
7.下列哪種情況不會導致Python對象的引用計數增加()
A.對象被創建B.被作為參數傳遞給函數C.成為容器對象的元素D.該對象無法訪問時
8.以下不屬于Python的pip工具命令的選項是()。
A.showB.installC.一VD.download
9.以下關于語言類型的描述中,正確的是()。
A.靜態語言采用解釋方式執行,腳本語言采用編譯方式執行
B.C語言是靜態編譯語言,Python語言是腳本語言
C.編譯是將目標代碼轉換成源代碼的過程
D.解釋是將源代碼一次性轉換成目標代碼同時逐條運行目標代碼的過程
10.商品銷售的售貨單和商品之間的聯系是()。
A.多對多B.一對多C.多對一D.一對一
11.在Python語言中,使用for..in..方式形成的循環不能遍歷的類型是()。
A.列表B.復數C.字符串D.字典
12.下面代碼的輸出結果是()。foriin“PYTHON":forkinrange(2):print(i,end=“”)ifi=='H':break
A.PPYYTTHHOONNB.PPYYTT00NNC.PPYYTTH00NND.PPYYTTH
13.以下關于分支和循環結構的描述中,正確的是()。
A.在循環中,continue語句的作用是跳出當前循環
B.在循環中,break語句的作用是結束該語句所在的循環
C.帶有else子句的循環語句,如果是因為執行了break語句而退出的話,則會執行else子句中的代碼
D.在Python中,分支結構和循環結構必須帶有else子句
14.以下關于文件的描述中,錯誤的是()。
A.文件是存儲在外存上的一組數據序列,可以包含任何數據內容
B.可以使用open()打開文件,用Close()關閉文件
C.使用read()可以從文件中讀入全部內容
D.使用readlines()可以從文件中讀入一行內容
15.以下程序的意義是()。>>>car=‘BWM’>>>id(car)
A.查看變量所占的位數B.轉換成布爾值C.查看變量在內存中的地址D.把變量中的元素隨機排列
16.執行以下程序,導致輸出”輸入有誤”的輸入選項是()。try:ls=eval(input())*2print(ls)except:print(’輸入有誤’)
A.’aa’B.’12’C.aaD.12
17.想查看BIFlen的文檔信息,輸入以下命令()
A.helplenB.help--lenC.lenhelpD.help(len)
18.軟件詳細設計產生的圖如下:
該圖是()。
A.N-S圖B.PADC.程序流程圖D.E-R圖
19.下面代碼的輸出結果是()。n=2deff(a):n=bool(a一2)returnnb=f(2)print(n,b)
A.20B.0TrueC.2FalseD.0False
20.以下程序的輸出結果是()。d={}foriinrange(26): d[chr(i+ord(“A”))]=chr((i+13)%26+ord(“A”))forcin“Python”: print(d.get(c,c),end=“”)
A.PlgubaB.CabuglC.PythonD.Cython
21.下面關于遞歸函數,描述錯誤的是()。
A.遞歸函數必須有一個明確的結束條件
B.遞歸函數就是一個函數在內部調用自身本身
C.遞歸效率不高,遞歸層次過多會導致棧溢出
D.每進入更深一層的遞歸時,問題規模相對于前一次遞歸是不變的
22.以下關于Python函數的描述中,錯誤的是()。
A.Python程序的main函數可以改變為其他名稱
B.如果Python程序包含一個函數main(),這個函數與其他函數地位相同
C.Python程序可以不包含main函數
D.Python程序需要包含一個主函數且只能包含一個主函數
23.為以下程序填空,使得輸出結果是{40:’yuwen’,20:’yingyu’,30:’shuxu’}的選項是()。tb={’yingyu’:20,’shuxue’:30,’yuwen’:40}
stb={}foritintb.items():
print(it)print(stb)A.stb[it[1]]=it[0]
B.stb[it[1]]=stb[it[0]]
C.stb[it[1]]=tb[it[1]]
D.D.stb[il[1]]=tb[it[0]]
24.執行以下代碼的結果是?A.20B.24C.30D.33
25.以下程序被調用后,能夠正確執行的是()。deff(x,y=1,z=2):pass
A.f(x=1,2)B.f(x=1,y=2,z=3)C.f(1,x=2,z=3)D.f(1,y=2,3)
26.以下關于Python全局變量和局部變量的描述中,錯誤的是()。
A.當函數退出時,局部變量依然存在,下次函數調用可以繼續使用
B.全局變量一般指定義在函數之外的變量
C.使用global保留字聲明后,變量可以作為全局變量使用
D.局部變量在函數內部創建和使用,函數退出后變量被釋放
27.以下變量名中,符合Python變量命名規則的是()。
A.33_keywordB.key@word33_C.nonlocalD._33keyword
28.以下程序的輸出結果是()。forcin’PythonNCRE’:ifc==’N’:breakprint?
A.無輸出B.PythonC.PythoD.PythonCRE
29.下面代碼中Dog這個類中的init方法共包含幾個形參?()ClassDog():def_______init________(self,name,age):self.name=nameSelf.age=age
A.0個B.1個C.2個D.3個
30.以下程序的輸出結果是()。deffun(x): try: returnx*4 except: returnxprint(fun(“5”))
A.20B.5555C.5D.9
二、判斷題(10題)31.無法刪除集合中指定位置的元素,只能刪除特定值的元素。
A.是B.否
32.無法配置IIS來支持Python程序的運行。
A.是B.否
33.在Python中可以使用if作為變量名。
A.是B.否
34.在編寫應用程序時,應合理控制線程數量,線程并不是越多越好。
A.是B.否
35.Python2.x和Python3.x中input()函數的返回值都是字符串。
A.是B.否
36.運算符“-”可以用于集合的差集運算。
A.是B.否
37.在函數內部沒有任何方法可以影響實參的值。
A.是B.否
38.二進制文件不能使用記事本程序打開。
A.是B.否
39.元組是不可變的,不支持列表對象的inset()、remove()等方法,也不支持del命令刪除其中的元素,但可以使用del命令刪除整個元組對象。
A.是B.否
40.已知seq為長度大于10的列表,并且已導入random模塊,那么[random.choice(seq)foriinrange(10)]和random.sample(seq,10)等價。
A.是B.否
三、填空題(10題)41.已知字典x={i:str(i+3)foriinrange(3)},那么表達式''.join(x.values())的值為____________。
42.表達式':'.join('1,2,3,4,5'.split(','))的值為__________________。
43.表達式3notin[1,2,3]的值為__________。
44.表達式list(map(lambdax:len(x),['a','bb','ccc']))的值為__________。
45.查看變量類型的Python內置函數是________________。
46.表達式type({3:3})的值為__________。
47.已知x,y=map(int,['1','2']),那么表達式x+y的值為_______。
48.假設有Python程序文件abc.py,其中只有一條語句print(__name__),那么直接運行該程序時得到的結果為_____________。
49.已知x=[1,2,3,4,5],那么執行語句delx[1:3]之后,x的值為____________。
50.已知x=[3,5,7],那么表達式x[10:]的值為____________。
四、操作題(3題)51.考生文件夾下存在3個Python源文件,分別對應3個問題;1個文本文件,作為本題目輸入數據,請按照源文件內部說明修改代碼,實現以下功能:
《賣火柴的小女孩》是丹麥童話故事作家安徒生的一篇童話故事,發表于1846年。主要講了一個賣火柴的小女孩在富人闔家歡樂、舉杯共慶的大年夜凍死在街頭的故事。這里給出《賣火柴的小女孩》的一個網絡版本文件,文件名為“小女孩.txt”。問題1:在PY301—1.py文件中修改代碼,對“小女孩.txt”文件進行字符頻次統計,輸出頻次最高的中文字符(不包含標點符號)及其頻次,字符與頻次之間采用英文冒號”:”分隔,將輸出結果保存在考生文件夾下,命名為"PY301—1.txt"。示例格式如下:的:83
試題程序:#以下代碼為提示框架
#請在…處使用一行或多行代碼替換
#請在________處使用一行代碼替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準
fo=open(”PY301—1.txt”,”w”)
d={}
fo.write(”{}:{}”.format(__________))
fo.close()問題2:在PY301—2.py文件中修改代碼,對“小女孩.txt”文件進行字符頻次統計,按照頻次由高到低,輸出前10個頻次最高的字符,不包含回車符,字符之間無間隔,連續輸出,將輸出結果保存在考生文件夾下,命名為“PY301—2.txt”。示例格式如下:,的一…(后略,共10個字符)
試題程序:
#以下代碼為提示框架
#請在…處使用一行或多行代碼替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準
fo=open(”PY301一2.txt”,“w”)d={}ls=list(d.items())
ls.sort(key=lambdax:x[1],reverse=True)#此行可以按照詞頻由高到低排序
問題3:在PY301一3.py文件中修改代碼,對“小女孩.txt”文件進行字符頻次統計,將所有字符按照頻次從高到低排序,字符包括中文、標點、英文等符號,但不包含空格和回車。將排序后的字符及頻次輸出到考生文件夾下,文件名為“小女孩一頻次排序.txt”。字符與頻次之間采用英文冒號”:”分隔,各字符之間采用英文逗號”,”分隔,參考CSV格式,最后無逗號,文件內部示例格式如下:
著:30,那:29,火:29
試題程序:
#以下代碼為提示框架
#請在…處使用一行或多行代碼替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準
d={}
ls=list(d.items())
ls.sort(key=lambdax:x[1],reverse=True)}}#此行可以按照詞頻由高到低排序
52.考生文件夾下存在一個文件“PY102.py”,請寫代碼替換橫線,不修改其他代碼,實現以下功能。使用jieba庫,把題目給出的文本進行分詞,并將分詞后的結果輸出。試題程序:#請在_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼_____(1)_____s="一件事情沒有做過,就沒有資格對此事發表看法"Is=_____(2)____print(Is)
53.考生文件夾下存在一個文件“PY201.Py”,請寫代碼替換橫線,不修改其他代碼,實現以下功能。使用turtle庫的turtle.circle()函數、turtle.seth()函數及turtle.left()函數繪制一個四瓣花圖形,效果如下所示。
試題程序:#請在_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼importturtleforiinrange(_____(1)_____):turtle.seth(_____(2)_____)turtle.circle(50,90)turtle.seth(_____(3)_____)turtle.circle(50,90)turtle.(4)
參考答案
1.Da=10.99,說明實部為10.99,虛部為0,故complex(a)返回復數10.99+0j。
2.CPyQt(QT開發庫)、PyGObject及PyGTK(GTK\n+庫)均是Python開發用戶界面的第三方庫。而time庫是Python提供的處理時間標準庫。本題選擇C選項。
3.B將實參age=43,famlyName=”趙”分別賦給形參age和famlyName,之后進入多分支結構進行判斷,因為40<age=43<50,執行第一個elif后面的語句,用”+”進行字符串連接,故輸出“您好!趙阿姨”。本題選擇B選項。
4.C
5.C數據庫系統的三級模式是概念模式、外模式和內模式。概念模式是數據庫系統中全局數據邏輯結構的描述,是全體用戶公共數據視圖。外模式也稱子模式或用戶模式,它是用戶的數據視圖,給出了每個用戶的局部數據描述,所以選擇C。內模式又稱物理模式,它給出了數據庫物理存儲結構與物理存取方法。
6.APython中組合數據類型包括元組、列表、字典和集合等。
7.D
8.Cpip工具常用的命令有安裝(install)、下載(download)、卸載(uninstall)、列表(1ist)、查看(show)、查找(search)。一V屬于pyinstaller命令的常用參數,不屬于命令。
9.B高級語言根據計算機執行機制的不同可分為兩類:靜態語言和動態語言。靜態語言采用編譯方式執行,腳本語言采用解釋方式執行。例如,C語言是靜態語言,Python是腳本語言。編譯是將源代碼轉換成目標代碼的過程。解釋是將源代碼逐條轉換成目標代碼同時逐條運行目標代碼的過程。本題選B選項。
10.A一張售貨單可以有多種商品的記錄,一種商品也可以出現在多張售貨單上。因此售貨單和商品之間的聯系是多對多。
11.B在Python語言中,使用for..in..方式形成的循環能遍歷的類型有字符串、文件、range()函數或組合數據類型,不能遍歷復數。
12.C外層循環用來遍歷字符串PYTHON,內層循環用來控制輸出每個字符的次數。當i==’H’時,break結束內層循環,故輸出結果中只有一個’H’,其他字符均為兩個。本題選擇C選項。
13.Bcontinue語句用于中斷本次循環的執行,繼續執行下一輪循環的條件,而不是跳出當前循環;Python中的for、while循環都有一個可選的else子句,如果用break語句終止循環,那么else語句將不會執行。
14.D文件是存儲在外存上的一組數據序列,可以包含任何數據內容。A選項正確。可以使用open()打開文件,close()關閉文件,B選項正確。在Python中,文件的讀取方法(f代表文件變量)如下。f.read():從文件中讀人全部內容。f.readline():從文件中讀入一行內容。f.readlineS():從文件中讀入所有行,以每行內容為元素形成一個列表。f.seek()改變當前文件操作指針的位置。C選項正確。本題選擇D選項。
15.Cid(x)是Python中的內置函數,用來查看變量在內存中的地址。本題選擇C選項。
16.C無論用戶輸入的是字符還是數字,input()函數統一按照字符串類型輸出,當輸入aa時,以字符串類型’aa’返回;然后eval()函數處理字符串’aa’,去掉其兩側的引號,將其解釋為一個變量,由于之前沒有定義過該變量,因此解釋器報錯,輸出”輸入有誤”。
17.D
18.CN-S圖提出了用方框圖來代替傳統的程序流程圖,所以A選項不對。問題分析圖(Prob-lemAnalysisDiagram,\nPAD)\n是繼承程序流程圖和方框圖之后提出的又一種主要用于描述軟件詳細設計的圖形,所以B選項不對。E-R圖是數據庫中的用于表示E-R模型的圖示工具,所以D選項不對。根據圖中所示的表示方法可知,是進行軟件詳細設計時使用的程序流程圖。本題選擇C選項。
19.C這段代碼是全局變量和局部變量以及Python內置函數bool()的一個結合。在函數內部的局部變量名和函數外部全局變量名相同時,調用函數時,總是先找到函數內部的局部變量名,所以當a為2時,經過布爾型轉換之后的a一2,即b為False,而在函數外部只能訪問全局變量名,所以n仍為2,C項正確。
20.Dord()函數是把字符轉換成對應的ASCII值,chr()函數是ord()函數的逆運算,即把ASCII值轉換成對應的字符輸出,所以ord(“A”)為65。第一個for循環的作用是生成鍵值對存儲在字典變量d中。例如,當i=0,d[A]=N;i=1,d[B]=0……—直到i=13,d[N]=A,后面的鍵和值與前面的是互換位置的,如i=14,d[0]=B;i=15,d[P]=C……依次循環賦值,直到i=25時結束for循環。第二個for循環的作用是輸出字典的值,get(key,default=None)函數有兩個參數:第一個參數是字典的鍵;第二個參數是默認值,作用是返回字典中key對應的值,如果key不存在,則返回默認值,如d={“A”:“N”,“0”:“B”,“Z”:“M”},d.get(“A”,“C”)返回的是N。當c=“P”時,在字典中查找是否存在鍵為“P”的值,遍歷后發現存在這樣的值,所以返回C。for循環繼續遍歷剩下的字符,在字典中找不到對應的鍵,則返回默認值,所以結果返回為Cython。本題選擇D選項。
21.DA選項正確,遞歸函數必須要有一個明確的結束條件作為遞歸的出口;B選項正是遞歸函數的含義,正確;C選項正確,在計算機中,函數調用是通過棧這種數據結構實現的,每當進入一個函數調用,棧就會加一層棧幀,每當函數返回,棧就會減一層棧幀,由于棧的大小不是無限的,所以,遞歸調用的次數過多,會導致棧溢出;D選項,每當進入更深一層的遞歸時,問題規模顯然會相對前一次遞歸減小。
22.DPython是一種腳本解釋語言,與C/C++和Java有很大的區別,沒有主函數的說法。當運行單個Python文件時,如文件名為a.py,則a的屬性__name_==‘_main_’,并不是首先執行所謂的main函數。Python整個程序自頂向下順序執行。本題選D選項。
23.A分析題目及程序代碼可知,題意是將字典中的鍵值互換。tb.items()以列表形式(并非直接的列表,若要返回列表值還需調用list函數)返回可遍歷的(鍵,值)元組數組。因此,for循環中it每次遍歷得到的是一個元組,依次為(’yingyu’,20)、(’shuxue’,30)、(’yuwen’,40),然后將元組中序號為0的元素和序號為1的元素互換位置,實現字典中鍵值的互換,應填入stb[it[1]]=it[0]。
24.D
25.B函數的參數在定義時可以指定默認值,當函數被調用時,如果沒有傳人對應的參數值,則使用函數定義時的默認值替代。本題在定義函數時,y=1,z=2就是指定的默認值。在Python中,函數調用時,參數傳遞的主要方式有位置傳遞和關鍵字傳遞兩種。位置傳遞是根據函數定義的參數位置來傳遞參數;關鍵字傳遞是根據每個參數的名字傳遞參數,該方式不用區分參數順序位置,名字對了就行。關鍵字傳遞可以和位置傳遞混用,但混用時位置參數要出現在關鍵字參數之前。A項,第一個參數為關鍵字傳遞,第二個參數為位置傳遞,混用順序不對;D項,第二個參數為關鍵字傳遞,第三個參數為位置傳遞,混用順序不對;C項,第一個參數已經使用位置傳遞(將1傳遞給x),第二個參數又使用關鍵字傳遞將2傳遞給x,會出現異常報錯。故答案為B項。
26.A根據程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量指在函數內部定義的變量,僅在函數內部有效,且作用域也在函數內部,當函數退出時變量將不再存在。全局變量一般指在函數之外定義的變量,在程序執行全過程有效。全部變量在函數內部使用時,需要提前使用保留字global聲明,語法形式:global<全局變量>。使用global對全局變量聲明時,該變量要與外部全局變量同名。
27.DPython采用大寫字母、小寫字母、數字、下劃線和漢字等字符及其組合進行命名,但名字的首字符不能是數字,標識符中間不能出現空格,長度沒有限制。變量名不能與保留字相同。本題選擇D選項。
28.A本題中,break語句出現在print語句之前,當if的條件為True時,執行break語句,跳出for循環,不再執行循環體中break后面的語句,故無輸出。
29.D_init_()方法是一個特殊的方法,每當根據類創建新實例時,Python會自動運行該方法。該方法的開頭和結尾各有兩個下劃線,這是一種約定,旨在避免Python的默認方法和普通方法發生命名沖突。self,name,age都是init方法的形參,所以共3個。
30.Bfun(“5”)是將字符“5”賦給形參x,由于‘5’是字符類型,不是數字類型,不能進行數值運算,因此“x*4”是把字符“5”連續復制4次輸出。本題選擇B選項。
31.Y
32.N
33.N
34.Y
35.N
36.Y
37.N
38.N
39.Y
40.N
41.'345'
42.'1:2:3:4:5'
43.False
44.[1,2,3]
45.type()
46.dict
47.3
48.__main__
49.[1,4,5]
50.[]
51.(1)fi=open("小女孩.txt","r")\r\nfo=open(”PY301—1.txt”,”w”)\r\ntxt=fi.read()\r\nd={}\r\nexclude=",。!?、()【】<>《》=:+-*-“”…"\r\nforwordintxt:\r\n
ifwordinexclude:\r\n
continue\r\n
else:\r\n
d[word]=d.get(word,0)+1\r\nls=list(d.items())\r\nls.sort(key=lambdax:x[1],reverse=True)\r\n
fo.write(”{}:{}”format(ls[0][0],ls[0][1]))\r\n
fo.close()\r\n
(2)fi=open("小女孩.txt","r")\r\n
fo=open(”PY301—2.txt”,”w”)\r\n
txt=fi.read()\r\n
d={}\r\n
forwordintxt;\r\n
d[word]=d.get(word,0)+1\r\ndeld["\\n"]\r\n
ls=list(d.items())\r\n
ls.sort(key=lambdax:x[1],reverse=True)#此行可以按照詞頻由高到低排序\r\n
foriinrange(10);\r\n
fo.write(ls[i][0])\r\n
fi.close()\r\n
fo.close()
(3)fi=open("小女孩.txt","r")\r\nfo=open(小女孩-頻次排序。txt","w")\r\ntxt=fi.read()\r\nd={}\r\nforwordintxt\r\nd[word]=d.get(word,0)+1\r\ndeld[""]\r\ndeld["\\n"]\r\nls=list(d.items())\r\nls.sort(key=lambdax:x[1],reverse=True)#此行可以按照詞頻由高到低排序\r\nforiinrange(len(ls)):\r\nls[i]="{}:{}".format(ls[i][0],ls[i][1])\r\nfo.write(",".join(ls))\r\nfi.close()\r\nfo.close()(1)首先使用open()函數打開文件“小女孩.txt”,把文件的內容通過read()方法保存到變量txt中;定義一個字符串變量exclude用來存放標點符號。然后用for循環遍歷txt中的每個字符(word),并使用if條件進行判斷,若該字符在變量exclude中,說明該字符為標點符號,跳出該循環;否則將該字符作為字典d中的一個鍵,該鍵所對應的值置為1,在后面循環中只要遍歷的字符與該鍵相同,就將該鍵對應的值加1。\r\n
ls=list(d.items())表示將字典類型變成列表類型,字典中的每個鍵值對對應列表中的一個元組。隨后,對列表ls中的元組進行排序,用到sort()方法,參數“key=lambda.x:x[1]”中lambda是一個隱函數,是固定寫法,不能寫成別的單詞;x表示列表中的一個元素,在這里表示一個元組,x只是臨時起的一個名字,也可以使用任意的名字;x[1]表示以元組中第二個元素排序。sort()方法的第二參數表示是按哪種方式排序,若為“reverse=True”表示按降序排序;若該參數缺省或“reverse=False”,表示按升序排序。\r\n
排序后,列表ls中第一個元組中即為頻次最高的中文字符和頻次,ls[0][0]表示該字符,ls[0][1]表示其頻次,將這兩個元素通過“:”連接寫入文件“PY301—1.txt”中。\r\n
(2)問題2和問題1的區別在于統計的字符包含標點符號,因此不需要設置字符串變量exclude和使用if條件語句進行判斷;題目要求不包含回車符,因此需要使用del刪除字典d中鍵為”\n”的元素。最后要無間隔輸出前10個頻次最高的字符,需要對排序好的列表ls進行for循環遍歷,找到前10個元組的第一個元素,并將其直接寫入到文件“PY301—2.txt”中。\r\n
(3)問題3和問題2的區別在于統計的字符中不能包含空格,因此需要使用del刪除字典d中鍵為空格的元素。最后要將所有字符和其頻次輸出,需要對排序好的列表ls進行for循環遍歷,遍歷列表中的每個元組,并將元組中的兩個元素通過“:”連接,再用逗號分隔每個字符寫入到文件“小女孩一頻次排序.txt”中。
52.Importjiebas="—件事情沒有做過,就沒有資格對此事發表看法"Is=jieba.lcut(s)print(Is)jieba庫是Python的第三方中文分詞庫,使用前需要用import關鍵字將其導入,因此第1空應填importjieba。jieba分詞庫支持3種模式:精確模式、全模式及搜索引擎模式,其中精確模式lcut()是最為常用的,它返回的結果是列表類型,分詞準確,不產生冗余,因此第2空應填jieba.\r\nlcut(s)。
53.importturtleforiinrange(4):turtle.seth(90*(i+1))turtle,circle(50,90)turtle.seth(-90+i*90)turtle,
circle(50,90)turtle.hideturtle()該題考查的是用Python標準庫turtle庫繪制四瓣花。因為需要繪制4個花瓣,所以循環執行4次,第1空填4。然后利用cirde()函數繪制圓弧的特點,每旋轉90度繪制四分之一個圓弧,且題目中用seth()函數表示旋轉角度,此函數依據絕對角度旋轉,因此第2空填90\r\n*(i+1),第3空填-90+i*90。最后隱藏畫筆箭頭,第4空應填hideturtle()。四川省眉山市全國計算機等級考試Python語言程序設計學校:________班級:________姓名:________考號:________
一、單選題(30題)1.以下代碼的輸出結果是()。a=10.99print(complex(a))
A.0.99B.10.99i+iC.10.99D.(10.99+0j)
2.不屬于Python開發用戶界面的第三方庫的是()。
A.PyGObjectB.PyQtC.timeD.PyGTK
3.以下代碼的輸出結果是()。defHello(famlyName,age):ifage>50:print(”您好!”+famlyName+”奶奶”)elifage>40:print(”您好!”+famlyName+”阿姨”)elifage>30:print(”您好!”+famlyName+”姐姐”)else:print(”您好!”+”小”+famlyName)Hello(age=43,famlyName=”趙”)
A.您好!趙奶奶B.您好!趙阿姨C.您好!趙姐姐D.函數調用出錯
4.執行以下代碼的結果是()A.1B.2C.5D.8
5.數據庫設計中反映用戶對數據要求的模式是()。
A.內模式B.概念模式C.外模式D.設計模式
6.在Python語言中,不屬于組合數據類型的是()。
A.浮點數類型B.列表類型C.字典類型D.字符串類型
7.下列哪種情況不會導致Python對象的引用計數增加()
A.對象被創建B.被作為參數傳遞給函數C.成為容器對象的元素D.該對象無法訪問時
8.以下不屬于Python的pip工具命令的選項是()。
A.showB.installC.一VD.download
9.以下關于語言類型的描述中,正確的是()。
A.靜態語言采用解釋方式執行,腳本語言采用編譯方式執行
B.C語言是靜態編譯語言,Python語言是腳本語言
C.編譯是將目標代碼轉換成源代碼的過程
D.解釋是將源代碼一次性轉換成目標代碼同時逐條運行目標代碼的過程
10.商品銷售的售貨單和商品之間的聯系是()。
A.多對多B.一對多C.多對一D.一對一
11.在Python語言中,使用for..in..方式形成的循環不能遍歷的類型是()。
A.列表B.復數C.字符串D.字典
12.下面代碼的輸出結果是()。foriin“PYTHON":forkinrange(2):print(i,end=“”)ifi=='H':break
A.PPYYTTHHOONNB.PPYYTT00NNC.PPYYTTH00NND.PPYYTTH
13.以下關于分支和循環結構的描述中,正確的是()。
A.在循環中,continue語句的作用是跳出當前循環
B.在循環中,break語句的作用是結束該語句所在的循環
C.帶有else子句的循環語句,如果是因為執行了break語句而退出的話,則會執行else子句中的代碼
D.在Python中,分支結構和循環結構必須帶有else子句
14.以下關于文件的描述中,錯誤的是()。
A.文件是存儲在外存上的一組數據序列,可以包含任何數據內容
B.可以使用open()打開文件,用Close()關閉文件
C.使用read()可以從文件中讀入全部內容
D.使用readlines()可以從文件中讀入一行內容
15.以下程序的意義是()。>>>car=‘BWM’>>>id(car)
A.查看變量所占的位數B.轉換成布爾值C.查看變量在內存中的地址D.把變量中的元素隨機排列
16.執行以下程序,導致輸出”輸入有誤”的輸入選項是()。try:ls=eval(input())*2print(ls)except:print(’輸入有誤’)
A.’aa’B.’12’C.aaD.12
17.想查看BIFlen的文檔信息,輸入以下命令()
A.helplenB.help--lenC.lenhelpD.help(len)
18.軟件詳細設計產生的圖如下:
該圖是()。
A.N-S圖B.PADC.程序流程圖D.E-R圖
19.下面代碼的輸出結果是()。n=2deff(a):n=bool(a一2)returnnb=f(2)print(n,b)
A.20B.0TrueC.2FalseD.0False
20.以下程序的輸出結果是()。d={}foriinrange(26): d[chr(i+ord(“A”))]=chr((i+13)%26+ord(“A”))forcin“Python”: print(d.get(c,c),end=“”)
A.PlgubaB.Cab
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大數據技術專業教學標準(高等職業教育專科)2025修訂
- 老年保健與管理專業教學標準(高等職業教育專科)2025修訂
- 2025年中國林業經濟行業發展前景預測及投資戰略研究報告
- 中國燃氣空調行業市場深度評估及投資戰略規劃報告
- 中國中藥保健品行業發展監測及投資戰略規劃研究報告
- 2024年中國銅藍礦行業市場調查建議報告
- 中國碳化硅陶瓷異型梁行業發展監測及投資前景展望報告
- 2020-2025年中國蜂膠行業市場前景預測及投資戰略研究報告
- 汽車后板簧托板總成項目投資可行性研究分析報告(2024-2030版)
- 2025年中國阻垢器行業市場運行現狀及投資戰略研究報告
- 2025年陜西、山西、青海、寧夏高考政治試卷真題(含答案解析)
- 期末試卷(五)(含答案含聽力原文無聽力音頻)-2024-2025學年人教PEP版英語(新教材)三年級下冊
- 3.21 明清時期的科技與文化 課件 2024-2025學年統編版七年級歷史下冊
- 養老護理員四級考試題庫及答案
- 辦公室內控管理制度
- 2024-2025 學年八年級英語下學期期末模擬卷 (蘇州專用)原卷
- 2025年大學生創業培訓考試試卷及答案
- 安徽省宿州市碭山縣2023-2024學年八年級下學期期末數學試題
- 湖南2024生地會考試卷及答案
- 廣東省深圳市2024年中考英語真題(含答案)
- 奇瑞入職在線測評題庫
評論
0/150
提交評論