山西省長治市全國計算機等級考試Python語言程序設(shè)計_第1頁
山西省長治市全國計算機等級考試Python語言程序設(shè)計_第2頁
山西省長治市全國計算機等級考試Python語言程序設(shè)計_第3頁
山西省長治市全國計算機等級考試Python語言程序設(shè)計_第4頁
山西省長治市全國計算機等級考試Python語言程序設(shè)計_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

山西省長治市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.以下程序的輸出結(jié)果是()。deffun(x): returnx**2+6fun(8)

A.14B.16C.無輸出D.70

2.第三方庫Beauifulsoup4的功能是()。

A.解析和處理HTML和XMLB.支持web應(yīng)用程序框架C.支持webservices框架D.處理http請求

3.Is=[2,”apple”,[42,”yellow”,”misd”],1.2],表達式Is[2][-1][2]的結(jié)果是()。

A.mB.iC.sD.d

4.以下程序的輸出結(jié)果是()。n=2deff(a): n=bool(a-2) returnnb=f(2)print(n,b)

A.20B.0TrueC.2FalseD.0False

5.以下程序中,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),不能確定

6.以下代碼的輸出結(jié)果是()。a=10.99print(complex(a))

A.0.99B.10.99i+iC.10.99D.(10.99+0j)

7.以下關(guān)于Python的描述中,正確的是()。A.函數(shù)中return語句只能放在函數(shù)定義的最后面

B.定義函數(shù)需要使用保留字def

C.函數(shù)最主要的作用是復(fù)用代碼

D.Python函數(shù)不可以定義在分支或循環(huán)語句的內(nèi)部

8.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。

A.可行性分析報告B.軟件需求規(guī)格說明書C.概要設(shè)計說明書D.集成測試計劃

9.下列說法正確的是()。

A.set()可以將任何類型轉(zhuǎn)換為集合類型

B.remove()方法刪除集合中的元素,不管元素存不存在都不報錯

C.集合中的元素不可重復(fù),元素類型只能是不可變數(shù)據(jù)類型

D.集合元素是有序的

10.在Python中,可以作為源文件擴展名的是()。

A.pdfB.docxC.pngD.py

11.設(shè)棧與隊列初始狀態(tài)為空。首先A,B,C,D,E依次入棧,再F,G,H,I,J依次入隊;然后依次出隊至隊空,再依次出棧至???。則輸出序列為()。

A.E,D,C,B,A,F(xiàn),G,H,I,j

B.E,D,C,B,A,J,I,H,G,F(xiàn)

C.F,G,H,I,J,A,B,C,D,E,

D.F,G,H,I,J,E,D,C,B,A

12.time庫的time.time()函數(shù)的作用是()。

A.以數(shù)字形式返回當(dāng)前系統(tǒng)時間

B.以字符串形式返回當(dāng)前系統(tǒng)時間

C.以struct_time形式返回當(dāng)前系統(tǒng)時間

D.根據(jù)format格式定義返回當(dāng)前系統(tǒng)時間

13.表達式3**2*4//6%7的計算結(jié)果是()。

A.3B.5C.4D.6

14.以下屬于Python中Web開發(fā)框架第三方庫的是()。

A.DjangoB.TinyDBC.audiolazyD.Pattem

15.以下關(guān)于Python字符編碼的描述中,正確的是()。

A.Python字符編碼使用ASCII值存儲

B.chr(x)和ord(x)函數(shù)用于在單字符和Unicode值之間進行轉(zhuǎn)換

C.print(chr('a’))輸出97

D.print(ord(65))輸出A

16.表格類型數(shù)據(jù)的組織維度最可能是()。

A.多維數(shù)據(jù)B.一維數(shù)據(jù)C.二維數(shù)據(jù)D.高維數(shù)據(jù)

17.以下程序Dog類中的__init__()方法共包含幾個形參()。ClassDog(): def__init__(self,name,age) =name self.age=age

A.0個B.1個C.2個D.3個

18.下面程序輸出的結(jié)果是()。sl,s2=”Mom”,””Dad"Print(“{}loves{}format(s2,si))

A.DadlovesMomB.MomlovesDadC.sllovess2D.s2lovess1

19.下面關(guān)于Python中函數(shù)的說法錯誤的是()。

A.函數(shù)的一個優(yōu)點是方便修改,更易擴展

B.函數(shù)名是可以使用保留字的

C.函數(shù)名必須以下劃線、中文或字母開頭

D.函數(shù)名區(qū)分大小寫

20.以下保留字不用于異常處理邏輯的是()。

A.finallyB.elseC.tryD.if

21.以下關(guān)于數(shù)據(jù)組織的描述中,錯誤的是()。

A.—維數(shù)據(jù)采用線性方式組織,可以用Python集合或列表類型表示

B.列表類型僅用于表示一維和二維數(shù)據(jù)

C.二維數(shù)據(jù)采用表格方式組織,可以用Python列表類型表示

D.更高維數(shù)據(jù)組織由鍵值對類型的數(shù)據(jù)構(gòu)成,可以用Python字典類型表示

22.以下程序的輸出結(jié)果是()。foriin“Goaheadbravely!”: ifi==“b”: break else: print(i,end=“”)

A.Goaheadravely!B.bravely!C.Goaheadbravely!D.Goahead

23.表達式divmod(40,3)的結(jié)果是()。

A.13,1B.(13,1)C.13D.1

24.以下代碼的輸出結(jié)果是()。a=5.2b=2.5print(a//b)

A.2.08B.2.1C.2D.2.0

25.以下代碼的輸出結(jié)果是()。print(0.1+0.2==0.3)

A.-1B.TrueC.FalseD.0

26.正則表達式中的特殊字符,匹配字母,數(shù)字,下劃線()

A.\dB.\DC.\wD.\s

27.數(shù)據(jù)庫設(shè)計中反映用戶對數(shù)據(jù)要求的模式是()。

A.內(nèi)模式B.概念模式C.外模式D.設(shè)計模式

28.下列敘述中正確的是()。

A.順序存儲結(jié)構(gòu)的存儲一定是連續(xù)的,鏈式存儲結(jié)構(gòu)的存儲空間不一定是連續(xù)的

B.順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈式存儲結(jié)構(gòu)只針對非線性結(jié)構(gòu)

C.順序存儲結(jié)構(gòu)能存儲有序表,鏈式存儲結(jié)構(gòu)不能存儲有序表

D.鏈式存儲結(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間

29.以下關(guān)于Python函數(shù)的描述中,正確的是()。

A.函數(shù)eval()可以用于數(shù)值表達式求值,例如eval(”2*3+1”)

B.Python中,def和return是函數(shù)必須使用的保留字

C.Python函數(shù)定義中沒有對參數(shù)指定類型,這說明參數(shù)在函數(shù)中可以當(dāng)作任意類型使用

D.一個函數(shù)中只允許有一條return語句

30.下面代碼中Dog這個類中的init方法共包含幾個形參?()ClassDog():def_______init________(self,name,age):self.name=nameSelf.a(chǎn)ge=age

A.0個B.1個C.2個D.3個

二、判斷題(10題)31.安裝Python擴展庫時只能使用pip工具在線安裝,如果安裝不成功就沒有別的辦法了。

A.是B.否

32.文件對象是可以迭代的。

A.是B.否

33.不同作用域中的同名變量之間互相不影響,也就是說,在不同的作用域內(nèi)可以定義同名的變量。

A.是B.否

34.用來安裝Python擴展庫的pip命令應(yīng)該在命令提示符環(huán)境下運行,如果安裝了多個版本的Python,最好切換至相應(yīng)版本的Python安裝目錄下運行。

A.是B.否

35.Python標(biāo)準庫os中的方法isfile()可以用來測試給定的路徑是否為文件。

A.是B.否

36.調(diào)用函數(shù)時,在實參前面加一個型號*表示序列解包。

A.是B.否

37.在同一個作用域內(nèi),局部變量會隱藏同名的全局變量。

A.是B.否

38.Python集合不支持使用下標(biāo)訪問其中的元素。

A.是B.否

39.不同版本的Python不能安裝到同一臺計算機上。

A.是B.否

40.Python變量名區(qū)分大小寫,所以student和Student不是同一個變量。

A.是B.否

三、填空題(10題)41.在Python中關(guān)鍵字__________表示空類型。

42.Python標(biāo)準庫os中用來列出指定文件夾中的文件和子文件夾列表的方式是____________。

43.Python標(biāo)準庫__________對Socket進行了二次封裝,支持Socket接口的訪問,大幅度簡化了網(wǎng)絡(luò)程序的開發(fā)。

44.表達式list(filter(lambdax:x%2==0,range(10)))的值為__________________________。

45.語句sorted([1,2,3],reverse=True)==reversed([1,2,3])執(zhí)行結(jié)果為_________。

46.表達式re.search(r'\w*?(?P\b\w+\b)\s+(?P=f)\w*?','Beautifulisisbetterthanugly.').group(0)的值為___________。

47.查看變量類型的Python內(nèi)置函數(shù)是________________。

48.已知x='a234b123c',并且re模塊已導(dǎo)入,則表達式re.split('\d+',x)的值為_________________。

49.已知x=[1,2,3,2,3],執(zhí)行語句x.remove(2)之后,x的值為____________。

50.表達式'C:\\windows\\notepad.exe'.endswith('.exe')的值為________。

四、操作題(3題)51.考生文件夾下存在一個文件“PY201.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請在該文件中編寫代碼,以實現(xiàn)如下功能。使用turtle庫的fd()函數(shù)和right()函數(shù)繪制一個邊長為100像素的正六邊形,再用circle()函數(shù)繪制半徑為60像素的紅色圓內(nèi)接正六邊形,效果如下所示。

試題程序:#以下代碼為提示框架#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準fromturtleimport*pensize(5)foriinrange(6):fd(_____(1)_____)right

(_____(2)_____)color("red")circle(60,_____(3)_____)

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.考生文件夾下存在一個文件“PY102.Py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。用鍵盤輸入一段文本,保存在一個字符串變量s中,分別用Python內(nèi)置函數(shù)和jieba庫中已有函數(shù)計算字符串s的中文字符個數(shù)和中文詞語個數(shù)。注意:中文字符包含中文標(biāo)點符號。示例格式如下。

鍵盤輸入:科技是第一生產(chǎn)力屏幕輸出:中文字符數(shù)為8,中文詞語數(shù)為4。

試題程序:#請在程序的處使用一行代碼或表達式替換

#注意:請不要修改其他已給出代碼importjiebas=input("請輸入一個字符串")n=_____(1)_____m=_____(2)_____print("中文字符數(shù)為{},中文詞語數(shù)為{}format(n,m))

參考答案

1.C向函數(shù)傳入實參8,函數(shù)的作用是返回x**2+6的結(jié)果。該函數(shù)是沒有輸出的,要想將返回值輸出,需要調(diào)用print()函數(shù)輸出結(jié)果。本題選擇C選項。

2.ABeautifulsoup4-用于解析和處理HTML和XML。它的最大優(yōu)點是能根據(jù)HTML和XML語法建立解析樹,進而高效解析其中的內(nèi)容。

3.C列表索引正向遞增索引從0開始,反向遞減索引從-1開始,ls[2][-1]\n[2]指的是列表中下標(biāo)為2的元素中的下標(biāo)為-1元素中的下標(biāo)為2的元素,輸出結(jié)果是s。本題選擇C選項。

4.C這段代碼是全局變量、局部變量以及Python內(nèi)置函數(shù)bool()的一個結(jié)合。當(dāng)函數(shù)內(nèi)部的局部變量名和函數(shù)外部全局變量名相同,調(diào)用函數(shù)時,總是先找到函數(shù)內(nèi)部的局部變量名,所以當(dāng)a為2時,經(jīng)過布爾型轉(zhuǎn)換之后的a-2,即b為False,而在函數(shù)外部只能訪問全局變量名,所以n仍為2。本題選擇C選項。

5.Dwhile循環(huán)的判斷條件為真時,進入循環(huán)體,為假時,直接執(zhí)行while同級的代碼。初始值為i=0,進入循環(huán)體之后,因為i<1,執(zhí)行continue語句跳出本次循環(huán),進入下一循環(huán)。i的值始終為0,故程序為死循環(huán)。

6.Da=10.99,說明實部為10.99,虛部為0,故complex(a)返回復(fù)數(shù)10.99+0j。

7.B函數(shù)定義:函數(shù)是指一組語句的集合,這些語句通過一個名字(函數(shù)名)封裝起來,要想執(zhí)行這個函數(shù),只需要調(diào)用其函數(shù)名即可。函數(shù)主要的作用是提高應(yīng)用的模塊性和代碼的重復(fù)利用率。C選項錯誤。return語句用來結(jié)束函數(shù)并將程序返回到函數(shù)被調(diào)用的位置繼續(xù)執(zhí)行。return語句可以出現(xiàn)在函數(shù)中的任何部分,可以同時將0個、1個或多個函數(shù)運算結(jié)果返回給函數(shù)被調(diào)用處的變量。A選項錯誤。在Python中,函數(shù)可以定義在分支或循環(huán)語句的內(nèi)部,D選項錯誤。Python通過關(guān)鍵字def定義函數(shù),語法格式如下:def<函數(shù)名>(<非可選參數(shù)列表>,<可選參數(shù)>=<默認值>):〈函數(shù)體>return<返回值列表>可選參數(shù)一般都放置在非可選參數(shù)的后面。本題選擇B選項。

8.BA項錯誤,可行性分析階段產(chǎn)生可行性分析報告。C項錯誤,概要設(shè)計說明書是總體設(shè)計階段產(chǎn)生的文檔。D項錯誤,集成測試計劃是在概要設(shè)計階段編寫的文檔。B項正確,需求規(guī)格說明書是后續(xù)工作如設(shè)計、編碼等需要的重要參考文檔。

9.Cset()函數(shù)將其他組合數(shù)據(jù)類型變成集合類型;remove()刪除集合中指定的元素,不存在則產(chǎn)生KeyError異常;集合元素是無序的,集合的輸出順序與定義順序可以不一致。

10.DPython源文件的擴展為py。本題選擇D選項。

11.D棧稱為“后進先出”表或“先進后出”的線性表;隊列稱為“先進先出”或“后進后出”的線性表。F,G,H,I,J依次人隊,則依次出隊順序為F,G,H,I,J;A,B,c,D,E依次人棧,則依次出棧順序為E,D,C,B,A。故輸出順序為F,G,H,I,J,E,D,c,B,A。本題選D選項。

12.Atime.time()返回的是當(dāng)前時間的時間戳,是一個浮點數(shù),以秒為單位。本題選擇A選項。

13.D先計算冪,3**2=9,9*4=36,36//6=6,6%7=6。//是整除運算,%是求余運算。本題選D選項。

14.AB項是一個微型的面向文檔的數(shù)據(jù)庫,C項是Python的數(shù)字信號處理包,D項是Python的網(wǎng)絡(luò)信息挖掘模塊。

15.B在Python中,字符編碼以Unicode值存儲。chr(x)和ord(x)函數(shù)用于在單字符和Unicode值之間進行轉(zhuǎn)換。chr(x)函數(shù)返回Unicode值對應(yīng)的字符,ord(x)函數(shù)返回單字符x對應(yīng)的Unicode值,如chr(1010)返回’c’,ord(”和”)返回21644。因此,選項C、D錯誤。本題選擇B選項。

16.C一維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織;二維數(shù)據(jù),也稱表格數(shù)據(jù),由關(guān)聯(lián)關(guān)系數(shù)據(jù)構(gòu)成,采用二維表格方式組織;高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構(gòu)成,采用對象方式組織。故答案為C項。

17.D__init__()方法是一個特殊的方法,每當(dāng)根據(jù)類創(chuàng)建新實例時,Python就會自動運行該方法。該方法的開頭和結(jié)尾各有兩個下劃線,這是一種約定,旨在避免Python的默認方法和普通方法發(fā)生命名沖突。self、name、age都是__init__()方法的形參,所以共3個。本題選擇D選項。

18.APython使用format()格式化方法,語法格式為<模板字符串>.format(\n<逗號分隔的參數(shù)>),其中模板字符串是一個由字符串和槽組成的字符串,用來控制字符串和變量的顯示效果。槽用花括號({})表示,對應(yīng)fcmnat()方法中逗號分隔的參數(shù)。如果模板字符串有多個槽,且槽內(nèi)沒有指定序號,則按照槽出現(xiàn)的順序分別對應(yīng)format()方法中的不同參數(shù)。參數(shù)根據(jù)出現(xiàn)先后存在一個默認序號。本題選擇A選項。

19.B函數(shù)名不可以使用Python中的保留字,所以選B項。

20.D用于異常處理邏輯的保留字有try、except、else、finally。if用于程序的分支結(jié)構(gòu)。本題選擇D選項。

21.A一維數(shù)據(jù)采用線性方式組織,在Python中主要采用列表形式表示,集合不屬于線性結(jié)構(gòu)。在Python中,列表類型僅用于表示一維和二維數(shù)據(jù)。二維數(shù)據(jù)采用二維表格方式組織,在Python中可以采用二維列表形式表示。高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構(gòu)成,采用對象方式組織,在Python中可以采用字典類型表示。本題選擇A選項。

22.Dfor循環(huán)遍歷字符串,當(dāng)變量i賦值為b時,break跳出本層循環(huán),即后面的字符不再遍歷;當(dāng)值不為b時就將其輸出。最終結(jié)果為Goahead。本題選擇D選項。

23.Bdivmod(x,y)函數(shù)用來計算x和y的除余結(jié)果,返回兩個值,分別是:x與y的整數(shù)除,即x//y,以及x與y的余數(shù),即x%y。返回的兩個值組成了一個元組類型,即小括號包含的兩個元素(x//y,x%y)。40//3=13,40%3=1,故答案為B項。

24.D“//”返回兩個數(shù)的整數(shù)商,且返回的類型滿足以下關(guān)系:①整數(shù)和浮點數(shù)混合運算,輸出結(jié)果是浮點數(shù);②整數(shù)之間運算,結(jié)果為整數(shù)。因此,5.2//2.5=2.0。

25.C在Python中,0.1+0.2=0.30000000000000004。原因是:對于十進制,它只能表示以進制數(shù)的質(zhì)因子為分母的分數(shù)。10的質(zhì)因子有2和5,因此1/2、1/4、1/5、1/8及1/10都可以精確表示;相反,1/3、1/6及1/7都是循環(huán)小數(shù),因為它們的分母使用了質(zhì)因子3或者7。二進制中,只有一個質(zhì)因子,即2,因此只能精確表示分母質(zhì)因子是2的分數(shù)。二進制中,1/2、1/4及1/8都可以被精確表示,但1/5或者1/10就變成了循環(huán)小數(shù)。所以,在十進制中能夠精確表示的0.1與0.2(1/10與1/5),到了計算機所使用的二進制中就變成了循環(huán)小數(shù)。當(dāng)對這些循環(huán)小數(shù)進行數(shù)學(xué)運算并將二進制數(shù)據(jù)轉(zhuǎn)換成人類易讀的十進制數(shù)據(jù)時,會對小數(shù)尾部進行截斷處理。在不同的編程語言中,運行0.1+0.2會輸出不同的結(jié)果。本題選擇C選項。

26.C

27.C數(shù)據(jù)庫系統(tǒng)的三級模式是概念模式、外模式和內(nèi)模式。概念模式是數(shù)據(jù)庫系統(tǒng)中全局數(shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶公共數(shù)據(jù)視圖。外模式也稱子模式或用戶模式,它是用戶的數(shù)據(jù)視圖,給出了每個用戶的局部數(shù)據(jù)描述,所以選擇C。內(nèi)模式又稱物理模式,它給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法。

28.A鏈式存儲結(jié)構(gòu)既可以針對線性結(jié)構(gòu)也可以針對非線性結(jié)構(gòu),所以選項B,C錯誤。鏈式存儲結(jié)構(gòu)中每個結(jié)點都由數(shù)據(jù)域與指針域兩部分組成,增加了存儲空間,所以D選項錯誤。本題選擇A選項。

29.A在Python語言中,return語句用來結(jié)束函數(shù)并將程序返回到函數(shù)被調(diào)用的位置繼續(xù)執(zhí)行。return語句可以出現(xiàn)在函數(shù)中的任何部分,可以同時將0個、1個或多個函數(shù)運算結(jié)果返回給函數(shù)被調(diào)用處的變量。函數(shù)可以沒有return,此時函數(shù)并不返回值。B、D兩項錯誤。Python函數(shù)定義中沒有對參數(shù)指定類型,則函數(shù)內(nèi)的默認參數(shù)是對函數(shù)的默認參數(shù)屬性_defaults_的引用,C項錯誤。\neval()函數(shù)將去掉字符串最外側(cè)的引號,并按照Python語句方式執(zhí)行去掉引號后的字符內(nèi)容,使用方式:<變量>=eval(<字符串>),其中變量用來保存對字符串內(nèi)容進行Python運算的結(jié)果,故函數(shù)eval()可以用于數(shù)值表達式求值,如eval(”2*3+1”)=7。

30.D_init_()方法是一個特殊的方法,每當(dāng)根據(jù)類創(chuàng)建新實例時,Python會自動運行該方法。該方法的開頭和結(jié)尾各有兩個下劃線,這是一種約定,旨在避免Python的默認方法和普通方法發(fā)生命名沖突。self,name,age都是init方法的形參,所以共3個。

31.N

32.Y

33.Y

34.Y

35.Y

36.Y

37.Y

38.Y

39.N

40.Y

41.None

42.listdir()

43.socket

44.[0,2,4,6,8]

45.False

46.'isis'

47.type()

48.['a','b','c']

49.[1,3,2,3]

50.True

51.fromturtleimport*pensize(5)foriinrange(6):fd(100)right(60)color(“red")circle(60,steps=6)首先繪制正六邊形,題目要求正六邊形的邊長為100像素,fd()函數(shù)的參數(shù)應(yīng)設(shè)置成100,因此第1空填100。每繪制完一條邊后,畫筆要右轉(zhuǎn)60度繪制下一條邊,right()函數(shù)的參數(shù)應(yīng)設(shè)置成60,因此第2空填60。然后,用circle()函數(shù)繪制紅色的圓內(nèi)接正六邊形,circle()函數(shù)一般有兩個參數(shù),第一個參數(shù)為半徑,第二個參數(shù)有兩種形式:參數(shù)extent(角度)是指繪制弧形的角度;參數(shù)steps(n≥3)表示繪制圓內(nèi)接〃邊形,這兩個參數(shù)不能同時使用,因此第3空應(yīng)填steps\r\n=6。

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.importjiebas=input(”請輸入一個字符串”)n=len(s)m=len(jieba.lcut(s)print("中文字符數(shù)為{},中文詞語數(shù)為{}?!?format(n,m)本題要求使用jieba中文分詞庫,統(tǒng)計輸入的字符串的長度以及中文詞語數(shù)。給定的字符串s中僅包含中文字符和中文標(biāo)點符號,因此可以直接使用len()函數(shù)統(tǒng)計字符數(shù)量,第1空填len(s)。再使用jieba庫的lcut(s)方法,返回一個以中文詞語為元素的列表類型,使用len()獲得列表的長度,即中文詞語數(shù)量。因此第2\r\n空填len(jieba.lcut(s))山西省長治市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.以下程序的輸出結(jié)果是()。deffun(x): returnx**2+6fun(8)

A.14B.16C.無輸出D.70

2.第三方庫Beauifulsoup4的功能是()。

A.解析和處理HTML和XMLB.支持web應(yīng)用程序框架C.支持webservices框架D.處理http請求

3.Is=[2,”apple”,[42,”yellow”,”misd”],1.2],表達式Is[2][-1][2]的結(jié)果是()。

A.mB.iC.sD.d

4.以下程序的輸出結(jié)果是()。n=2deff(a): n=bool(a-2) returnnb=f(2)print(n,b)

A.20B.0TrueC.2FalseD.0False

5.以下程序中,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),不能確定

6.以下代碼的輸出結(jié)果是()。a=10.99print(complex(a))

A.0.99B.10.99i+iC.10.99D.(10.99+0j)

7.以下關(guān)于Python的描述中,正確的是()。A.函數(shù)中return語句只能放在函數(shù)定義的最后面

B.定義函數(shù)需要使用保留字def

C.函數(shù)最主要的作用是復(fù)用代碼

D.Python函數(shù)不可以定義在分支或循環(huán)語句的內(nèi)部

8.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。

A.可行性分析報告B.軟件需求規(guī)格說明書C.概要設(shè)計說明書D.集成測試計劃

9.下列說法正確的是()。

A.set()可以將任何類型轉(zhuǎn)換為集合類型

B.remove()方法刪除集合中的元素,不管元素存不存在都不報錯

C.集合中的元素不可重復(fù),元素類型只能是不可變數(shù)據(jù)類型

D.集合元素是有序的

10.在Python中,可以作為源文件擴展名的是()。

A.pdfB.docxC.pngD.py

11.設(shè)棧與隊列初始狀態(tài)為空。首先A,B,C,D,E依次入棧,再F,G,H,I,J依次入隊;然后依次出隊至隊空,再依次出棧至棧空。則輸出序列為()。

A.E,D,C,B,A,F(xiàn),G,H,I,j

B.E,D,C,B,A,J,I,H,G,F(xiàn)

C.F,G,H,I,J,A,B,C,D,E,

D.F,G,H,I,J,E,D,C,B,A

12.time庫的time.time()函數(shù)的作用是()。

A.以數(shù)字形式返回當(dāng)前系統(tǒng)時間

B.以字符串形式返回當(dāng)前系統(tǒng)時間

C.以struct_time形式返回當(dāng)前系統(tǒng)時間

D.根據(jù)format格式定義返回當(dāng)前系統(tǒng)時間

13.表達式3**2*4//6%7的計算結(jié)果是()。

A.3B.5C.4D.6

14.以下屬于Python中Web開發(fā)框架第三方庫的是()。

A.DjangoB.TinyDBC.audiolazyD.Pattem

15.以下關(guān)于Python字符編碼的描述中,正確的是()。

A.Python字符編碼使用ASCII值存儲

B.chr(x)和ord(x)函數(shù)用于在單字符和Unicode值之間進行轉(zhuǎn)換

C.print(chr('a’))輸出97

D.print(ord(65))輸出A

16.表格類型數(shù)據(jù)的組織維度最可能是()。

A.多維數(shù)據(jù)B.一維數(shù)據(jù)C.二維數(shù)據(jù)D.高維數(shù)據(jù)

17.以下程序Dog類中的__init__()方法共包含幾個形參()。ClassDog(): def__init__(self,name,age) =name self.age=age

A.0個B.1個C.2個D.3個

18.下面程序輸出的結(jié)果是()。sl,s2=”Mom”,””Dad"Print(“{}loves{}format(s2,si))

A.DadlovesMomB.MomlovesDadC.sllovess2D.s2lovess1

19.下面關(guān)于Python中函數(shù)的說法錯誤的是()。

A.函數(shù)的一個優(yōu)點是方便修改,更易擴展

B.函數(shù)名是可以使用保留字的

C.函數(shù)名必須以下劃線、中文或字母開頭

D.函數(shù)名區(qū)分大小寫

20.以下保留字不用于異常處理邏輯的是()。

A.finallyB.elseC.tryD.if

21.以下關(guān)于數(shù)據(jù)組織的描述中,錯誤的是()。

A.—維數(shù)據(jù)采用線性方式組織,可以用Python集合或列表類型表示

B.列表類型僅用于表示一維和二維數(shù)據(jù)

C.二維數(shù)據(jù)采用表格方式組織,可以用Python列表類型表示

D.更高維數(shù)據(jù)組織由鍵值對類型的數(shù)據(jù)構(gòu)成,可以用Python字典類型表示

22.以下程序的輸出結(jié)果是()。foriin“Goaheadbravely!”: ifi==“b”: break else: print(i,end=“”)

A.Goaheadravely!B.bravely!C.Goaheadbravely!D.Goahead

23.表達式divmod(40,3)的結(jié)果是()。

A.13,1B.(13,1)C.13D.1

24.以下代碼的輸出結(jié)果是()。a=5.2b=2.5print(a//b)

A.2.08B.2.1C.2D.2.0

25.以下代碼的輸出結(jié)果是()。print(0.1+0.2==0.3)

A.-1B.TrueC.FalseD.0

26.正則表達式中的特殊字符,匹配字母,數(shù)字,下劃線()

A.\dB.\DC.\wD.\s

27.數(shù)據(jù)庫設(shè)計中反映用戶對數(shù)據(jù)要求的模式是()。

A.內(nèi)模式B.概念模式C.外模式D.設(shè)計模式

28.下列敘述中正確的是()。

A.順序存儲結(jié)構(gòu)的存儲一定是連續(xù)的,鏈式存儲結(jié)構(gòu)的存儲空間不一定是連續(xù)的

B.順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈式存儲結(jié)構(gòu)只針對非線性結(jié)構(gòu)

C.順序存儲結(jié)構(gòu)能存儲有序表,鏈式存儲結(jié)構(gòu)不能存儲有序表

D.鏈式存儲結(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間

29.以下關(guān)于Python函數(shù)的描述中,正確的是()。

A.函數(shù)eval()可以用于數(shù)值表達式求值,例如eval(”2*3+1”)

B.Python中,def和return是函數(shù)必須使用的保留字

C.Python函數(shù)定義中沒有對參數(shù)指定類型,這說明參數(shù)在函數(shù)中可以當(dāng)作任意類型使用

D.一個函數(shù)中只允許有一條return語句

30.下面代碼中Dog這個類中的init方法共包含幾個形參?()ClassDog():def_______init________(self,name,age):self.name=nameSelf.a(chǎn)ge=age

A.0個B.1個C.2個D.3個

二、判斷題(10題)31.安裝Python擴展庫時只能使用pip工具在線安裝,如果安裝不成功就沒有別的辦法了。

A.是B.否

32.文件對象是可以迭代的。

A.是B.否

33.不同作用域中的同名變量之間互相不影響,也就是說,在不同的作用域內(nèi)可以定義同名的變量。

A.是B.否

34.用來安裝Python擴展庫的pip命令應(yīng)該在命令提示符環(huán)境下運行,如果安裝了多個版本的Python,最好切換至相應(yīng)版本的Python安裝目錄下運行。

A.是B.否

35.Python標(biāo)準庫os中的方法isfile()可以用來測試給定的路徑是否為文件。

A.是B.否

36.調(diào)用函數(shù)時,在實參前面加一個型號*表示序列解包。

A.是B.否

37.在同一個作用域內(nèi),局部變量會隱藏同名的全局變量。

A.是B.否

38.Python集合不支持使用下標(biāo)訪問其中的元素。

A.是B.否

39.不同版本的Python不能安裝到同一臺計算機上。

A.是B.否

40.Python變量名區(qū)分大小寫,所以student和Student不是同一個變量。

A.是B.否

三、填空題(10題)41.在Python中關(guān)鍵字__________表示空類型。

42.Python標(biāo)準庫os中用來列出指定文件夾中的文件和子文件夾列表的方式是____________。

43.Python標(biāo)準庫__________對Socket進行了二次封裝,支持Socket接口的訪問,大幅度簡化了網(wǎng)絡(luò)程序的開發(fā)。

44.表達式list(filter(lambdax:x%2==0,range(10)))的值為__________________________。

45.語句sorted([1,2,3],reverse=True)==reversed([1,2,3])執(zhí)行結(jié)果為_________。

46.表達式re.search(r'\w*?(?P\b\w+\b)\s+(?P=f)\w*?','Beautifulisisbetterthanugly.').group(0)的值為___________。

47.查看變量類型的Python內(nèi)置函數(shù)是________________。

48.已知x='a234b123c',并且re模塊已導(dǎo)入,則表達式re.split('\d+',x)的值為_________________。

49.已知x=[1,2,3,2,3],執(zhí)行語句x.remove(2)之后,x的值為____________。

50.表達式'C:\\windows\\notepad.exe'.endswith('.exe')的值為________。

四、操作題(3題)51.考生文件夾下存在一個文件“PY201.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請在該文件中編寫代碼,以實現(xiàn)如下功能。使用turtle庫的fd()函數(shù)和right()函數(shù)繪制一個邊長為100像素的正六邊形,再用circle()函數(shù)繪制半徑為60像素的紅色圓內(nèi)接正六邊形,效果如下所示。

試題程序:#以下代碼為提示框架#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準fromturtleimport*pensize(5)foriinrange(6):fd(_____(1)_____)right

(_____(2)_____)color("red")circle(60,_____(3)_____)

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.考生文件夾下存在一個文件“PY102.Py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。用鍵盤輸入一段文本,保存在一個字符串變量s中,分別用Python內(nèi)置函數(shù)和jieba庫中已有函數(shù)計算字符串s的中文字符個數(shù)和中文詞語個數(shù)。注意:中文字符包含中文標(biāo)點符號。示例格式如下。

鍵盤輸入:科技是第一生產(chǎn)力屏幕輸出:中文字符數(shù)為8,中文詞語數(shù)為4。

試題程序:#請在程序的處使用一行代碼或表達式替換

#注意:請不要修改其他已給出代碼importjiebas=input("請輸入一個字符串")n=_____(1)_____m=_____(2)_____print("中文字符數(shù)為{},中文詞語數(shù)為{}format(n,m))

參考答案

1.C向函數(shù)傳入實參8,函數(shù)的作用是返回x**2+6的結(jié)果。該函數(shù)是沒有輸出的,要想將返回值輸出,需要調(diào)用print()函數(shù)輸出結(jié)果。本題選擇C選項。

2.ABeautifulsoup4-用于解析和處理HTML和XML。它的最大優(yōu)點是能根據(jù)HTML和XML語法建立解析樹,進而高效解析其中的內(nèi)容。

3.C列表索引正向遞增索引從0開始,反向遞減索引從-1開始,ls[2][-1]\n[2]指的是列表中下標(biāo)為2的元素中的下標(biāo)為-1元素中的下標(biāo)為2的元素,輸出結(jié)果是s。本題選擇C選項。

4.C這段代碼是全局變量、局部變量以及Python內(nèi)置函數(shù)bool()的一個結(jié)合。當(dāng)函數(shù)內(nèi)部的局部變量名和函數(shù)外部全局變量名相同,調(diào)用函數(shù)時,總是先找到函數(shù)內(nèi)部的局部變量名,所以當(dāng)a為2時,經(jīng)過布爾型轉(zhuǎn)換之后的a-2,即b為False,而在函數(shù)外部只能訪問全局變量名,所以n仍為2。本題選擇C選項。

5.Dwhile循環(huán)的判斷條件為真時,進入循環(huán)體,為假時,直接執(zhí)行while同級的代碼。初始值為i=0,進入循環(huán)體之后,因為i<1,執(zhí)行continue語句跳出本次循環(huán),進入下一循環(huán)。i的值始終為0,故程序為死循環(huán)。

6.Da=10.99,說明實部為10.99,虛部為0,故complex(a)返回復(fù)數(shù)10.99+0j。

7.B函數(shù)定義:函數(shù)是指一組語句的集合,這些語句通過一個名字(函數(shù)名)封裝起來,要想執(zhí)行這個函數(shù),只需要調(diào)用其函數(shù)名即可。函數(shù)主要的作用是提高應(yīng)用的模塊性和代碼的重復(fù)利用率。C選項錯誤。return語句用來結(jié)束函數(shù)并將程序返回到函數(shù)被調(diào)用的位置繼續(xù)執(zhí)行。return語句可以出現(xiàn)在函數(shù)中的任何部分,可以同時將0個、1個或多個函數(shù)運算結(jié)果返回給函數(shù)被調(diào)用處的變量。A選項錯誤。在Python中,函數(shù)可以定義在分支或循環(huán)語句的內(nèi)部,D選項錯誤。Python通過關(guān)鍵字def定義函數(shù),語法格式如下:def<函數(shù)名>(<非可選參數(shù)列表>,<可選參數(shù)>=<默認值>):〈函數(shù)體>return<返回值列表>可選參數(shù)一般都放置在非可選參數(shù)的后面。本題選擇B選項。

8.BA項錯誤,可行性分析階段產(chǎn)生可行性分析報告。C項錯誤,概要設(shè)計說明書是總體設(shè)計階段產(chǎn)生的文檔。D項錯誤,集成測試計劃是在概要設(shè)計階段編寫的文檔。B項正確,需求規(guī)格說明書是后續(xù)工作如設(shè)計、編碼等需要的重要參考文檔。

9.Cset()函數(shù)將其他組合數(shù)據(jù)類型變成集合類型;remove()刪除集合中指定的元素,不存在則產(chǎn)生KeyError異常;集合元素是無序的,集合的輸出順序與定義順序可以不一致。

10.DPython源文件的擴展為py。本題選擇D選項。

11.D棧稱為“后進先出”表或“先進后出”的線性表;隊列稱為“先進先出”或“后進后出”的線性表。F,G,H,I,J依次人隊,則依次出隊順序為F,G,H,I,J;A,B,c,D,E依次人棧,則依次出棧順序為E,D,C,B,A。故輸出順序為F,G,H,I,J,E,D,c,B,A。本題選D選項。

12.Atime.time()返回的是當(dāng)前時間的時間戳,是一個浮點數(shù),以秒為單位。本題選擇A選項。

13.D先計算冪,3**2=9,9*4=36,36//6=6,6%7=6。//是整除運算,%是求余運算。本題選D選項。

14.AB項是一個微型的面向文檔的數(shù)據(jù)庫,C項是Python的數(shù)字信號處理包,D項是Python的網(wǎng)絡(luò)信息挖掘模塊。

15.B在Python中,字符編碼以Unicode值存儲。chr(x)和ord(x)函數(shù)用于在單字符和Unicode值之間進行轉(zhuǎn)換。chr(x)函數(shù)返回Unicode值對應(yīng)的字符,ord(x)函數(shù)返回單字符x對應(yīng)的Unicode值,如chr(1010)返回’c’,ord(”和”)返回21644。因此,選項C、D錯誤。本題選擇B選項。

16.C一維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織;二維數(shù)據(jù),也稱表格數(shù)據(jù),由關(guān)聯(lián)關(guān)系數(shù)據(jù)構(gòu)成,采用二維表格方式組織;高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構(gòu)成,采用對象方式組織。故答案為C項。

17.D__init__()方法是一個特殊的方法,每當(dāng)根據(jù)類創(chuàng)建新實例時,Python就會自動運行該方法。該方法的開頭和結(jié)尾各有兩個下劃線,這是一種約定,旨在避免Python的默認方法和普通方法發(fā)生命名沖突。self、name、age都是__init__()方法的形參,所以共3個。本題選擇D選項。

18.APython使用format()格式化方法,語法格式為<模板字符串>.format(\n<逗號分隔的參數(shù)>),其中模板字符串是一個由字符串和槽組成的字符串,用來控制字符串和變量的顯示效果。槽用花括號({})表示,對應(yīng)fcmnat()方法中逗號分隔的參數(shù)。如果模板字符串有多個槽,且槽內(nèi)沒有指定序號,則按照槽出現(xiàn)的順序分別對應(yīng)format()方法中的不同參數(shù)。參數(shù)根據(jù)出現(xiàn)先后存在一個默認序號。本題選擇A選項。

19.B函數(shù)名不可以使用Python中的保留字,所以選B項。

20.D用于異常處理邏輯的保留字有try、except、else、finally。if用于程序的分支結(jié)構(gòu)。本題選擇D選項。

21.A一維數(shù)據(jù)采用線性方式組織,在Python中主要采用列表形式表示,集合不屬于線性結(jié)構(gòu)。在Python中,列表類型僅用于表示一維和二維數(shù)據(jù)。二維數(shù)據(jù)采用二維表格方式組織,在Python中可以采用二維列表形式表示。高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構(gòu)成,采用對象方式組織,在Python中可以采用字典類型表示。本題選擇A選項。

22.Dfor循環(huán)遍歷字符串,當(dāng)變量i賦值為b時,break跳出本層循環(huán),即后面的字符不再遍歷;當(dāng)值不為b時就將其輸出。最終結(jié)果為Goahead。本題選擇D選項。

23.Bdivmod(x,y)函數(shù)用來計算x和y的除余結(jié)果,返回兩個值,分別是:x與y的整數(shù)除,即x//y,以及x與y的余數(shù),即x%y。返回的兩個值組成了一個元組類型,即小括號包含的兩個元素(x//y,x%y)。40//3=13,40%3=1,故答案為B項。

24.D“//”返回兩個數(shù)的整數(shù)商,且返回的類型滿足以下關(guān)系:①整數(shù)和浮點數(shù)混合運算,輸出結(jié)果是浮點數(shù);②整數(shù)之間運算,結(jié)果為整數(shù)。因此,5.2//2.5=2.0。

25.C在Python中,0.1+0.2=0.30000000000000004。原因是:對于十進制,它只能表示以進制數(shù)的質(zhì)因子為分母的分數(shù)。10的質(zhì)因子有2和5,因此1/2、1/4、1/5、1/8及1/10都可以精確表示;相反,1/3、1/6及1/7都是循環(huán)小數(shù),因為它們的分母使用了質(zhì)因子3或者7。二進制中,只有一個質(zhì)因子,即2,因此只能精確表示分母質(zhì)因子是2的分數(shù)。二進制中,1/2、1/4及1/8都可以被精確表示,但1/5或者1/10就變成了循環(huán)小數(shù)。所以,在十進制中能夠精確表示的0.1與0.2(1/10與1/5),到了計算機所使用的二進制中就變成了循環(huán)小數(shù)。當(dāng)對這些循環(huán)小數(shù)進行數(shù)學(xué)運算并將二進制數(shù)據(jù)轉(zhuǎn)換成人類易讀的十進制數(shù)據(jù)時,會對小數(shù)尾部進行截斷處理。在不同的編程語言中,運行0.1+0.2會輸出不同的結(jié)果。本題選擇C選項。

26.C

27.C數(shù)據(jù)庫系統(tǒng)的三級模式是概念模式、外模式和內(nèi)模式。概念模式是數(shù)據(jù)庫系統(tǒng)中全局數(shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶公共數(shù)據(jù)視圖。外模式也稱子模式或用戶模式,它是用戶的數(shù)據(jù)視圖,給出了每個用戶的局部數(shù)據(jù)描述,所以選擇C。內(nèi)模式又稱物理模式,它給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法。

28.A鏈式存儲結(jié)構(gòu)既可以針對線性結(jié)構(gòu)也可以針對非線性結(jié)構(gòu),所以選項B,C錯誤。鏈式存儲結(jié)構(gòu)中每個結(jié)點都由數(shù)據(jù)域與指針域兩部分組成,增加了存儲空間,所以D選項錯誤。本題選擇A選項。

29.A在Python語言中,return語句用來結(jié)束函數(shù)并將程序返回到函數(shù)被調(diào)用的位置繼續(xù)執(zhí)行。return語句可以出現(xiàn)在函數(shù)中的任何部分,可以同時將0個、1個或多個函數(shù)運算結(jié)果返回給函數(shù)被調(diào)用處的變量。函數(shù)可以沒有return,此時函數(shù)并不返回值。B、D兩項錯誤。Python函數(shù)定義中沒有對參數(shù)指定類型,則函數(shù)內(nèi)的默認參數(shù)是對函數(shù)的默認參數(shù)屬性_defaults_的引用,C項錯誤。\neval()函數(shù)將去掉字符串最外側(cè)的引號,并按照Python語句方式執(zhí)行去掉引號后的字符內(nèi)容,使用方式:<變量>=eval(<字符串>),其中變量用來保存對字符串內(nèi)容進行Python運算的結(jié)果,故函數(shù)eval()可以用于數(shù)值表達式求值,如eval(”2*3+1”)=7。

30.D_init_()方法是一個特殊的方法,每當(dāng)根據(jù)類創(chuàng)建新實例時,Python會自動運行該方法。該方法的開頭和結(jié)尾各有兩個下劃線,這是一種約定,旨在避免Python的默認方法和普通方法發(fā)生命名沖突。self,name,age都是init方法的形參,所以共3個。

31.N

32.Y

33.Y

34.Y

35.Y

36.Y

37.Y

38.Y

39.N

40.Y

41.None

42.listdir()

43.socket

44.[0,2,4,6,8]

45.False

46.'isis'

47.type()

48.['a','b','c']

49.[1,3,2,3]

50.True

51.fromturtleimport*pensize(5)foriinrange(6):fd(100)right(60)color(“red")circle(60,steps=6)首先繪制正六邊形,題目要求正六邊形的邊長為100像素,fd()函數(shù)的參數(shù)應(yīng)設(shè)置成100,因此第1空填100。每繪制完一條邊后,畫筆要右轉(zhuǎn)60度繪制下一條邊,right()函數(shù)的參數(shù)應(yīng)設(shè)置成60,因此第2空填60。然后,用circle()函數(shù)繪制紅色的圓內(nèi)接正六邊形,circle()函數(shù)一般有兩個參數(shù),第一個參數(shù)為半徑,第二個參數(shù)有兩種形式:參數(shù)extent(角度)是指繪制弧形的角度;參數(shù)steps(n≥3)表示繪制圓內(nèi)接〃邊形,這兩個參數(shù)不能同時使用,因此第3空應(yīng)填steps\r\n=6。

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.importjiebas=input(”請輸入一個字符串”)n=len(s)m=len(jieba.lcut(s)print("中文字符數(shù)為{},中文詞語數(shù)為{}。”.format(n,m)本題要求使用jieba中文分詞庫,統(tǒng)計輸入的字符串的長度以及中文詞語數(shù)。給定的字符串s中僅包含中文字符和中文標(biāo)點符號,因此可以直接使用len()函數(shù)統(tǒng)計字符數(shù)量,第1空填len(s)。再使用jieba庫的lcut(s)方法,返回一個以中文詞語為元素的列表類型,使用len()獲得列表的長度,即中文詞語數(shù)量。因此第2\r\n空填len(jieba.lcut(s))山西省長治市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.以下程序的輸出結(jié)果是()。deffun(x): returnx**2+6fun(8)

A.14B.16C.無輸出D.70

2.第三方庫Beauifulsoup4的功能是()。

A.解析和處理HTML和XMLB.支持web應(yīng)用程序框架C.支持webservices框架D.處理http請求

3.Is=[2,”apple”,[42,”yellow”,”misd”],1.2],表達式Is[2][-1][2]的結(jié)果是()。

A.mB.iC.sD.d

4.以下程序的輸出結(jié)果是()。n=2deff(a): n=bool(a-2) returnnb=f(2)print(n,b)

A.20B.0TrueC.2FalseD.0False

5.以下程序中,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),不能確定

6.以下代碼的輸出結(jié)果是()。a=10.99print(complex(a))

A.0.99B.10.99i+iC.10.99D.(10.99+0j)

7.以下關(guān)于Python的描述中,正確的是()。A.函數(shù)中return語句只能放在函數(shù)定義的最后面

B.定義函數(shù)需要使用保留字def

C.函數(shù)最主要的作用是復(fù)用代碼

D.Python函數(shù)不可以定義在分支或循環(huán)語句的內(nèi)部

8.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。

A.可行性分析報告B.軟件需求規(guī)格說明書C.概要設(shè)計說明書D.集成測試計劃

9.下列說法正確的是()。

A.set()可以將任何類型轉(zhuǎn)換為集合類型

B.remove()方法刪除集合中的元素,不管元素存不存在都不報錯

C.集合中的元素不可重復(fù),元素類型只能是不可變數(shù)據(jù)類型

D.集合元素是有序的

10.在Python中,可以作為源文件擴展名的是()。

A.pdfB.docxC.pngD.py

11.設(shè)棧與隊列初始狀態(tài)為空。首先A,B,C,D,E依次入棧,再F,G,H,I,J依次入隊;然后依次出隊至隊空,再依次出棧至???。則輸出序列為()。

A.E,D,C,B,A,F(xiàn),G,H,I,j

B.E,D,C,B,A,J,I,H,G,F(xiàn)

C.F,G,H,I,J,A,B,C,D,E,

D.F,G,H,I,J,E,D,C,B,A

12.time庫的time.time()函數(shù)的作用是()。

A.以數(shù)字形式返回當(dāng)前系統(tǒng)時間

B.以字符串形式返回當(dāng)前系統(tǒng)時間

C.以struct_time形式返回當(dāng)前系統(tǒng)時間

D.根據(jù)format格式定義返回當(dāng)前系統(tǒng)時間

13.表達式3**2*4//6%7的計算結(jié)果是()。

A.3B.5C.4D.6

14.以下屬于Python中Web開發(fā)框架第三方庫的是()。

A.DjangoB.TinyDBC.audiolazyD.Pattem

15.以下關(guān)于Python字符編碼的描述中,正確的是()。

A.Python字符編碼使用ASCII值存儲

B.chr(x)和ord(x)函數(shù)用于在單字符和Unicode值之間進行轉(zhuǎn)換

C.print(chr('a’))輸出97

D.print(ord(65))輸出A

16.表格類型數(shù)據(jù)的組織維度最可能是()。

A.多維數(shù)據(jù)B.一維數(shù)據(jù)C.二維數(shù)據(jù)D.高維數(shù)據(jù)

17.以下程序Dog類中的__init__()方法共包含幾個形參()。ClassDog(): def__init__(self,name,age) =name self.age=age

A.0個B.1個C.2個D.3個

18.下面程序輸出的結(jié)果是()。sl,s2=”Mom”,””Dad"Print(“{}loves{}format(s2,si))

A.DadlovesMomB.MomlovesDadC.sllovess2D.s2lovess1

19.下面關(guān)于Python中函數(shù)的說法錯誤的是()。

A.函數(shù)的一個優(yōu)點是方便修改,更易擴展

B.函數(shù)名是可以使用保留字的

C.函數(shù)名必須以下劃線、中文或字母開頭

D.函數(shù)名區(qū)分大小寫

20.以下保留字不用于異常處理邏輯的是()。

A.finallyB.elseC.tryD.if

21.以下關(guān)于數(shù)據(jù)組織的描述中,錯誤的是()。

A.—維數(shù)據(jù)采用線性方式組織,可以用Python集合或列表類型表示

B.列表類型僅用于表示一維和二維數(shù)據(jù)

C.二維數(shù)據(jù)采用表格方式組織,可以用Python列表類型表示

D.更高維數(shù)據(jù)組織由鍵值對類型的數(shù)據(jù)構(gòu)成,可以用Python字典類型表示

22.以下程序的輸出結(jié)果是()。foriin“Goaheadbravely!”: ifi==“b”: break else: print(i,end=“”)

A.Goaheadravely!B.bravely!C.Goaheadbravely!D.Goahead

23.表達式divmod(40,3)的結(jié)果是()。

A.13,1B.(13,1)C.13D.1

24.以下代碼的輸出結(jié)果是()。a=5.2b=2.5print(a//b)

A.2.08B.2.1C.2D.2.0

25.以下代碼的輸出結(jié)果是()。print(0.1+0.2==0.3)

A.-1B.TrueC.FalseD.0

26.正則表達式中的特殊字符,匹配字母,數(shù)字,下劃線()

A.\dB.\DC.\wD.\s

27.數(shù)據(jù)庫設(shè)計中反映用戶對數(shù)據(jù)要求的模式是()。

A.內(nèi)模式B.概念模式C.外模式D.設(shè)計模式

28.下列敘述中正確的是()。

A.順序存儲結(jié)構(gòu)的存儲一定是連續(xù)的,鏈式存儲結(jié)構(gòu)的存儲空間不一定是連續(xù)的

B.順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈式存儲結(jié)構(gòu)只針對非線性結(jié)構(gòu)

C.順序存儲結(jié)構(gòu)能存儲有序表,鏈式存儲結(jié)構(gòu)不能存儲有序表

D.鏈式存儲結(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間

29.以下關(guān)于Python函數(shù)的描述中,正確的是()。

A.函數(shù)eval()可以用于數(shù)值表達式求值,例如eval(”2*3+1”)

B.Python中,def和return是函數(shù)必須使用的保留字

C.Python函數(shù)定義中沒有對參數(shù)指定類型,這說明參數(shù)在函數(shù)中可以當(dāng)作任意類型使用

D.一個函數(shù)中只允許有一條return語句

30.下面代碼中Dog這個類中的init方法共包含幾個形參?()ClassDog():def_______init________(self,name,age):self.name=nameSelf.a(chǎn)ge=age

A.0個B.1個C.2個D.3個

二、判斷題(10題)31.安裝Python擴展庫時只能使用pip工具在線安裝,如果安裝不成功就沒有別的辦法了。

A.是B.否

32.文件對象是可以迭代的。

A.是B.否

33.不同作用域中的同名變量之間互相不影響,也就是說,在不同的作用域內(nèi)可以定義同名的變量。

A.是B.否

34.用來安裝Python擴展庫的pip命令應(yīng)該在命令提示符環(huán)境下運行,如果安裝了多個版本的Python,最好切換至相應(yīng)版本的Python安裝目錄下運行。

A.是B.否

35.Python標(biāo)準庫os中的方法isfile()可以用來測試給定的路徑是否為文件。

A.是B.否

36.調(diào)用函數(shù)時,在實參前面加一個型號*表示序列解包。

A.是B.否

37.在同一個作用域內(nèi),局部變量會隱藏同名的全局變量。

A.是B.否

38.Python集合不支持使用下標(biāo)訪問其中的元素。

A.是B.否

39.不同版本的Python不能安裝到同一臺計算機上。

A.是B.否

40.Python變量名區(qū)分大小寫,所以student和Student不是同一個變量。

A.是B.否

三、填空題(10題)41.在Python中關(guān)鍵字__________表示空類型。

42.Python標(biāo)準庫os中用來列出指定文件夾中的文件和子文件夾列表的方式是____________。

43.Python標(biāo)準庫__________對Socket進行了二次封裝,支持Socket接口的訪問,大幅度簡化了網(wǎng)絡(luò)程序的開發(fā)。

44.表達式list(filter(lambdax:x%2==0,range(10)))的值為__________________________。

溫馨提示

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

最新文檔

評論

0/150

提交評論