云南省昆明市全國計算機等級考試Python語言程序設計專項練習(含答案)_第1頁
云南省昆明市全國計算機等級考試Python語言程序設計專項練習(含答案)_第2頁
云南省昆明市全國計算機等級考試Python語言程序設計專項練習(含答案)_第3頁
云南省昆明市全國計算機等級考試Python語言程序設計專項練習(含答案)_第4頁
云南省昆明市全國計算機等級考試Python語言程序設計專項練習(含答案)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

云南省昆明市全國計算機等級考試Python語言程序設計專項練習(含答案)學校:________班級:________姓名:________考號:________

一、單選題(30題)1.下面關于Python中的變量描述錯誤的是()。

A.全局變量和局部變量兩者的本質區(qū)別就是在于作用域

B.全局變量在函數內部和函數外部都可以訪問使用

C.局部變量也可以在函數外部使用

D.在函數內部要對全局變量進行修改,需要加上global聲明

2.Python中,查看一個對象是哪種類型,使用______命令

A.isinstanceB.idC.typeD.issubclass

3.以下關于文件的描述中,錯誤的是()。

A.文件是存儲在外存上的一組數據序列,可以包含任何數據內容

B.可以使用open()打開文件,用Close()關閉文件

C.使用read()可以從文件中讀入全部內容

D.使用readlines()可以從文件中讀入一行內容

4.以下構成Python循環(huán)結構的語句中,正確的是()。

A.whileB.loopC.ifD.do-for

5.下面描述錯誤的是()。

A.對象一定有標識B.對象一定有屬性和方法(或操作)C.對象具有封裝性D.不同對象的同一屬性一定有相同的屬性值

6.用Pylnstaller工具把Python源文件打包成一個獨立的可執(zhí)行文件,使用的參數是()。

A.-LB.-C.-FD.-i

7.以下不屬于Python控制結構的是()。

A.順序結構B.循環(huán)結構C.分支結構D.數據結構

8.Python使用縮進作為語法邊界,一般建議怎樣縮進?

A.TABB.兩個空格C.四個空格D.八個空格

9.以下程序的輸出結果是()。a=3.6e-1b=4.2e3print(b-a)

A.4199.64B.7.8e2C.0.6e-4D.4199.064

10.下面關于Python的說法正確的是()。

A.Python不支持面向對象程序設計

B.Python中使用的所有函數庫,都是采用Python語言編寫的

C.Python中的內置函數需要用關鍵字import來導入,而不能直接使用

D.Python中如果導入了某個模塊,在后面的代碼中就可以使用它的所有公共函數、類及屬性

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

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

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

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

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

12.有3個關系R、S、T如下:

由關系R和S通過運算得到關系T,則所使用的運算為()。

A.并B.自然連接C.笛卡兒積D.交

13.以下對文件描述錯誤的是()。

A.文件是一個存儲在輔助存儲器上的數據序列

B.文本文件和二進制文件都是文件

C.文件中可以包含任何數據內容

D.文本文件能用二進制文件方式讀入

14.在Python中,用來安裝第三方庫的工具是()。

A.installB.pipC.PyQt5D.pyinstaller

15.程序流程圖是()。

A.總體設計階段使用的表達工具B.詳細設計階段使用的表達工具C.編碼階段使用的表達工具D.測試階段使用的表達工具

16.安裝一個第三方庫的命名格式是()。

A.pipuninstall<第三方庫名>

B.pipinstall<第三方庫名>

C.pipdownload<第三方庫名>

D.pipsearch<第三方庫名>

17.在滿足實體完整性約束的條件下()。

A.—個關系中應該有一個或多個候選關鍵字

B.—個關系中只能有一個候選關鍵字

C.一個關系中必須有多個候選關鍵字

D.—個關系中可以沒有候選關鍵字

18.以下程序的輸出結果是()。x=10y=0if(x>5)or(x/y>5): print(‘Right’)else: print(‘Wrong’)

A.RightB.WrongC.報錯:ZeroDivisionErrorD.不報錯,但不輸出任何結果

19.以下描述中,錯誤的是()。

A.Python通過索引來訪問列表中元素,索引可以是負整數

B.列表用方括號來定義,繼承了序列類型的所有屬性和方法

C.Python列表是各種類型數據的集合,列表中的元素不能夠被修改

D.Python的列表類型能夠包含其他的組合數據類型

20.Python提供3種基本的數字類型,它們是()。

A.整數類型、浮點數類型、復數類型

B.整數類型、二進制類型、浮點數類型

C.整數類型、二進制類型、浮點數類型

D.整數類型、二進制類型、復數類型

21.下面代碼的輸出結果是()。foriinreversed(range(7,4,-1)):print(i,end=””)

A.7654B.765C.567D.4567

22.有3個關系R、S、T如下:

其中關系T是由關系R和S通過某種運算得到,該運算為()。

A.選擇B.投影C.交D.并

23.下列關于Python運算符的使用描述正確的是()。

A.a=!b,比較a與b是否不相等

B.a=+b,等同于a=a+b

C.a==b,比較a與b是否相等

D.a//=b,等同于a=a/b

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

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

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

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

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

25.假設有一個包含一個函數的程序放在一個文件中,在主程序文件中使用下面各種方法來導入它,方法錯誤的是()。

A.importmodule

B.frommoduleasfimportfunction

C.importmoduleasm

D.frommoduleimport*

26.不屬于Python的標準庫的是()。

A.osB.sysC.scipyD.glob

27.下面哪個語句能夠讓列表中的名字按行輸出?names=[‘Dick’,‘Nancy’,‘Roger’]A.print("\n".join(names))

B.print(names.join("\n"))

C.print(names.append("\n"))

D.print(names.join("%s\n",names))

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

A.-1B.TrueC.FalseD.0

29.在Python中,不屬于機器學習領域第三方庫的是()。

A.TensorFlowB.timeC.pytorchD.mxnet

30.算法的空間復雜度是指()。

A.算法在執(zhí)行過程中所需要的計算機存儲空間

B.算法所處理的數據量

C.算法程序中的語句或指令條數

D.算法在執(zhí)行過程中所需要的臨時工作單元數

二、判斷題(10題)31.為了讓代碼更加緊湊,編寫Python程序時應盡量避免加入空格和空行。

A.是B.否

32.集合可以作為字典的鍵。

A.是B.否

33.假設已成功導入os和sys標準庫,那么表達式os.path.dirname(sys.executable)的值為Python安裝目錄。

A.是B.否

34.在定義函數時,某個參數名字前面帶有一個*符號表示可變長度參數,可以接收任意多個普通實參并存放于一個元組之中。

A.是B.否

35.9999**9999這樣的命令在Python中無法運行。

A.是B.否

36.假設random模塊已導入,那么表達式random.sample(range(10),7)的作用是生成7個不重復的整數。

A.是B.否

37.在任何時刻相同的值在內存中都只保留一份。

A.是B.否

38.已知x為非空字符串,那么表達式“.join(x.split())==x的值一定為True。A.是B.否

39.只有Python擴展庫才需要導入以后才能使用其中的對象,Python標準庫不需要導入即可使用其中的所有對象。

A.是B.否

40.Python代碼可以內嵌在asp文件中。

A.是B.否

三、填空題(10題)41.已知x=[[1,2,3,],[4,5,6]],那么表達式sum([i*jfori,jinzip(*x)])的值為______。

42.Python安裝擴展庫常用的是_______工具。

43.已知x=[[1,3,3],[2,3,1]],那么表達式sorted(x,key=lambdaitem:(item[1],-item[2]))的值為____________________________________。

44.表達式list(filter(lambdax:len(x)>3,['a','b','abcd']))的值為___________。

45.表達式type({3})的值為__________。

46.已知列表x=[1,2],執(zhí)行語句y=x[:]后,表達式xisnoty的值為_______。

47.已知函數定義deffunc(*p):returnsum(p),那么表達式func(1,2,3)的值為______。

48.表達式sorted(['abc','acd','ade'],key=lambdax:(x[0],x[2]))的值為_____________。

49.表達式abs(-3)的值為___________。

50.表達式13/4的值為__________。

四、操作題(3題)51.考生文件夾下存在一個文件“PY103.py”,請寫代碼替換橫線,不修改其他代碼,實現以下功能。從鍵盤輸入一句話,用jieba庫進行分詞后,將切分的詞組按照原話逆序輸出到屏幕上,詞組中間沒有空格。示例如下。

輸入:我愛老師輸出:老師愛我

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

#注意:請不要修改其他已給出代碼

importjiebatxt=input(”請輸入一段中文文本:”)_____(1)_____foriinls[::-1]:_____(2)_____

52.考生文件夾下存在3個Python源文件,分別對應3個問題;1個文本文件,作為本題目輸入數據,請按照源文件內部說明修改代碼,實現以下功能:

《賣火柴的小女孩》是丹麥童話故事作家安徒生的一篇童話故事,發(fā)表于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個頻次最高的字符,不包含回車符,字符之間無間隔,連續(xù)輸出,將輸出結果保存在考生文件夾下,命名為“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)}}#此行可以按照詞頻由高到低排序

53.考生文件夾下存在一個文件“PY201.py”,請寫代碼替換橫線,不修改其他代碼,實現以下功能。使用turtle庫的turtle.fd()函數和turtle.le£t()函數繪制一長為200像素黃底紅邊的太陽花,效果如下所示。

試題程序:#請在程序的_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼importturtleturtle.color(_____(1)_____,_____(2)_____)turtle._____(3)_____foriinrange(36):turtle.fd(_____(4)_____)turtle.left(_____(5)_____)turtle.end_fill()

參考答案

1.C局部變量是指在函數內部使用的變量,僅在函數內部有效,當函數使用過后,變量從內存中釋放,所以C選項錯誤。

2.C

3.D文件是存儲在外存上的一組數據序列,可以包含任何數據內容。A選項正確??梢允褂胦pen()打開文件,close()關閉文件,B選項正確。在Python中,文件的讀取方法(f代表文件變量)如下。f.read():從文件中讀人全部內容。f.readline():從文件中讀入一行內容。f.readlineS():從文件中讀入所有行,以每行內容為元素形成一個列表。f.seek()改變當前文件操作指針的位置。C選項正確。本題選擇D選項。

4.APython中的循環(huán)結構有for語句和while語句。if是選擇結構語句。本題選擇A選項。

5.D屬性即對象所包含的信息,它在設計對象時確定,一般只能通過執(zhí)行對象的操作來改變。不同對象的同一屬性可以具有相同或不同的屬性值。例如,張三的年齡是20,李四的年齡是18,張三、李四是兩個不同的對象,他們共同的屬性”年齡”的值不同。

6.CPylnstaller工具沒有-L參數;-D是默認值,生成dlst目錄;-F是指在dlst文件夾中只生成獨立的打包文件;-i是指定打包程序使用的圖標文件。本題選擇C選項。

7.DPython控制結構包括順序結構、循環(huán)結構及分支結構。本題選擇D選項。

8.C

9.A程序中b=4200,a=0.36,b-a=4199.64。本題選擇A選項。

10.DA選項,Python是支持面向對象程序設計的;B選項,并不是所有的函數庫都是采用Python編寫的,很多采用C、C++、Java等語言編寫的專業(yè)庫可以經過簡單的接口封裝供Python程序調用;C選項,Python中的內置函數可以直接使用而不需要用import來導入。本題選擇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.D自然連接是一種特殊的等值連接,它要求兩個關系中進行比較的分量必須是相同的屬性組,并且在結果中把重復的屬性列去掉,所以B選項錯誤。笛卡兒積是用R集合中元素為第一元素,S集合中元素為第二元素構成的有序對,所以C選項錯誤??梢院苊黠@地看出,關系T是從關系R與關系S中取得的相同的關系組,所以使用的是交運算。本題選擇D選項。

13.D文件是存儲在輔助存儲器上的一組數據序列,可以包含任何數據內容。文件包括文本文件和二進制文件兩種類型。文本文件和二進制文件的存儲方式不同,所以文本文件不可以用二進制文件方式讀入。本題選擇D選項。

14.B在Python中,使用pip工具來安裝和管理Python第三方庫,pip屬于Python的一部分。本題選擇B選項。

15.B詳細設計階段常見的工具有程序流程圖、N—S圖、PAD圖、HIPO圖、判定表等。本題選B選項。

16.Bpipuninstall<第三方庫名>用于卸載一個已經安裝的第三方庫。pipinstall<第三方庫名>用于安裝第三方庫。pipdownload<第三方庫名>用于下載第三方庫的安裝包,但并不安裝。pipsearch<第三方庫名>用于聯網搜索庫名或摘要中的關鍵字。本題選擇B選項。

17.A實體完整性約束要求關系的主鍵中屬性值不能為空值,本題選擇A選項。

18.A在Python中,or表示多個條件之間的“或”關系。xory,若x為True,則xory的結果為True,不再對y進行判斷。本題中,x>5為True,故(x>5)or(x/y>5)的結果為True,輸出結果為Right。本題選擇A選項。

19.C列表用方括號([])表示,由于列表屬于序列類型,因此繼承了序列類型的所有屬性和方法,B選項正確。索引是列表的基本操作,用于獲得列表中的一個元素,該操作沿用序列類型的索引方式,即正向遞增索引或反向遞減索引,使用方括號作為索引操作符,索引不得超過列表的元素范圍,否則將產生In-dexError錯誤,A選項正確。列表可以進行元素增加、刪除、替換、查找等操作,列表沒有長度限制,元素類型可以不同,能夠包含其他的組合數據類型,故D選項正確、C選項錯誤。本題選擇C選項。

20.APython提供3種基本的數字類型:整數類型、浮點數類型、復數類型,分別對應數學中的整數、實數及復數。本題選擇A選項。

21.Crange([start,]stop[,step=1\n])函數有3個參數,用來生成一個從start參數的值開始,到stop參數的值結束的數字序列,步長step默認為1,區(qū)間為左閉右開。而reVerSed()函數用于反轉列表中的元素。本題選擇C選項。

22.D在關系T中包含了關系R與S中的所有元組,所以進行的是并運算。本題選擇D選項。

23.C比較a與b是否不相等的運算符是!=;a+=b等同于a=a+b;a//=b等同于a=a//b。

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

25.BD選項用于導入模塊中所有的函數從而直接調用該模塊中的函數;A選項直接導入整個模塊,再利用“模塊名.函數名”這樣的方式來運行該模塊中的函數;C選項只是在導入該模塊時給該模塊起了一個別名,本質和A選項一樣。B選項正確的寫法應該是from\nmoduleimportfunctionasf,本題選擇B選項。

26.Cscipy是Python的數據分析方向的第三方庫。

27.A

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

29.B在Python中,time是Python重要的標準庫之一,用于處理時間相關的問題,不屬于機器學習領域的第三方庫。TensorFLow、PyTorch、mxnet均屬于機器學習領域第三方庫。本題選擇B選項。

30.A算法的空間復雜度是指算法在執(zhí)行過程中所需要的內存空間。所以選擇A項。

31.N

32.N

33.Y

34.Y

35.N

36.Y

37.N

38.N

39.N

40.Y

41.32

42.pip

43.[[1,3,3],[2,3,1]]

44.['abcd']

45.set

46.True

47.6

48.['abc','acd','ade']

49.3

50.3.25

51.importjiebatxt=input(”請輸入一段中文文本:”)foriinls[::-1]:該題目使用jieba中文分詞庫對輸入的字符串進行分割,然后按照原話逆序輸出。jieba庫是Python的第三方庫,需要導入之后才可以使用。jieba庫提供了\r\n3種分詞模式:精確模式、全模式及搜索引擎模式。其中精確模式分詞的詞語拼接沒有冗余,是經常使用的。精確模式對字符串進行分詞操作的函數為jieba.\r\nlcut(s),該函數返回值是一個列表且列表中每一個元素都是一個中文詞語。最后,把返回的列表中的內容使用切片的方法,將其逆序輸出。因此第1空填Is=jieba.lcut(txt),第2空填Print(i,end=””)。

52.(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用來存放標

溫馨提示

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

評論

0/150

提交評論