江西省宜春市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)專項(xiàng)練習(xí)(含答案)_第1頁
江西省宜春市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)專項(xiàng)練習(xí)(含答案)_第2頁
江西省宜春市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)專項(xiàng)練習(xí)(含答案)_第3頁
江西省宜春市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)專項(xiàng)練習(xí)(含答案)_第4頁
江西省宜春市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)專項(xiàng)練習(xí)(含答案)_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

江西省宜春市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)專項(xiàng)練習(xí)(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.Python中,查看一個對象是哪種類型,使用______命令

A.isinstanceB.idC.typeD.issubclass

2.以下程序的輸出結(jié)果是()。ss=set(“htslbht”)sorted(ss)foriinss: print(i,end=‘’)

A.hlbstB.htslbhtC.tsblthD.hhlstt

3.以下不能創(chuàng)建一個字典的語句是()。

A.dic={}

B.dic={1:5}

C.dic={(1,2):“use”}

D.dic={[1,2]:“use”}

4.下列關(guān)于Python程序格式的描述中,錯誤的是()。

A.縮進(jìn)表達(dá)了所屬關(guān)系和代碼塊的所屬范圍

B.注釋可以在一行中的任意位置開始,這一行都會作為注釋不被執(zhí)行

C.進(jìn)行賦值操作時,在運(yùn)算符兩邊各加上一個空格可以使代碼更加清晰明了

D.文檔注釋的開始和結(jié)尾使用三重單引號“1"”或三重雙引號“””"”

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

A.軟件集成測試計(jì)劃B.軟件詳細(xì)設(shè)計(jì)說明書C.用戶手冊D.軟件需求規(guī)格說明書

6.有3個關(guān)系R、S、T如下:

則由關(guān)系R和S得到關(guān)系T的運(yùn)算是()。

A.自然連接B.差C.交D.并

7.正則表達(dá)式中\(zhòng)s表示的是()

A.非空格B.空格C.非數(shù)字D.數(shù)字

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

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

9.樹的度為3,且有9個度為3的節(jié)點(diǎn),5個度為1的節(jié)點(diǎn),但沒有度為2的節(jié)點(diǎn)。則該樹中的葉子節(jié)點(diǎn)數(shù)為()。

A.18B.33C.19D.32

10.以下選項(xiàng)不屬于組合數(shù)據(jù)類型的是()。

A.字典類型B.復(fù)數(shù)類型C.列表類型D.集合類型

11.在Python3下輸入100000000L,會得到()

A.100000000LB.100000000C.SyntaxError:invalidsyntaxD.1e8

12.關(guān)于Python中is與==說法正確的是

A.is對比兩個變量指向是否為同一對象,==對比兩個變量指向?qū)ο笫欠駷橥?/p>

B.is對比兩個變量指向?qū)ο笫欠駷橥恢?==是對比兩個變量指向是否為同一對象

C.is與==除均可用于比較對象是否為同一對象外,==還可以用于比較對象的值

D.以上說法均不正確

13.下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進(jìn)后出”原則存取數(shù)據(jù)的是()。

A.循環(huán)隊(duì)列B.棧C.隊(duì)列D.二叉樹

14.以下不屬于Python保留字的是()。

A.gotoB.FalseC.TrueD.pass

15.以下程序的輸出結(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’

16.以下關(guān)于Python的描述中,正確的是()。A.條件4<=5<=6是合法的,輸出False

B.條件4<=5<=6是不合法的

C.條件4<=5<=6是合法的,輸出True

D.條件4<=5<=6是不合法的,拋出異常

17.以下關(guān)于文件的描述中,錯誤的是()。

A.文件是存儲在輔助存儲器上的一組數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內(nèi)容

B.可以使用open()打開文件,用close()關(guān)閉文件

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

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

18.執(zhí)行以下程序,輸入ab,然后按Enter鍵,輸出結(jié)果是()。k=10whileTrue: s=input(‘請輸入q退出:’) ifs==‘a(chǎn)’: k+=1 continue else: k+=2 breakprint(k)

A.13B.請輸入q退出:C.12D.10

19.下面關(guān)于Python中模塊導(dǎo)入的說法錯誤的是()。

A.Python可以導(dǎo)入一個模塊中的特定函數(shù)

B.用逗號分隔函數(shù)名,可根據(jù)需要從模塊中導(dǎo)入任意數(shù)量的函數(shù)

C.使用井號運(yùn)算符(#)可以導(dǎo)入模塊中的所有函數(shù)

D.Python中可以給模塊指定別名,通過給模塊指定簡短的別名,可更輕松調(diào)用模塊中函數(shù)

20.以下用于數(shù)據(jù)存儲領(lǐng)域的Python第三方庫是()。

A.NLTKB.DjangoC.redis-pyD.Luminoth

21.以下程序的意義是()。>>>car=‘BWM’>>>id(car)

A.查看變量所占的位數(shù)B.轉(zhuǎn)換成布爾值C.查看變量在內(nèi)存中的地址D.把變量中的元素隨機(jī)排列

22.以下哪個選項(xiàng)是正確的Python搜索變量的順序

A.內(nèi)置作用域(Built-in)→全局/模塊作用域(Global)→當(dāng)前作用域被嵌入的本地作用域(Enclosinglocals)→本地作用域(Local)

B.本地作用域(Local)→當(dāng)前作用域被嵌入的本地作用域(Enclosinglocals))→內(nèi)置作用域(Built-in)→全局/模塊作用域(Global)

C.本地作用域(Local)→內(nèi)置作用域(Built-in)→當(dāng)前作用域被嵌入的本地作用域(Enclosinglocals)→全局/模塊作用域(Global)

D.本地作用域(Local)→當(dāng)前作用域被嵌入的本地作用域(Enclosinglocals)→全局/模塊作用域(Global)→內(nèi)置作用域(Built-in)

23.在Python語言中,可以作為源文件后綴名的是()。

A.pdfB.docxC.pngD.py

24.軟件設(shè)計(jì)中劃分模塊的一個準(zhǔn)則是()。A.低內(nèi)聚低耦合B.高內(nèi)聚低耦合C.低內(nèi)聚高耦合D.高內(nèi)聚高耦合

25.下面屬于Python的標(biāo)準(zhǔn)庫是()。

A.turtleB.jiebaC.scipyD.Flask

26.靜態(tài)成員變量稱為類變量,非靜態(tài)成員變量稱為實(shí)例變量,下列關(guān)于一個類的靜態(tài)成員的描述中,不正確的是()

A.該類的對象共享其靜態(tài)成員變量的值

B.靜態(tài)成員變量可被該類的所有方法訪問

C.該類的靜態(tài)方法只能訪問該類的靜態(tài)成員變量

D.該類的靜態(tài)數(shù)據(jù)成員變量的值不可修改

27.下面代碼的輸出結(jié)果為()。foriinrange(8):ifi%2!=1:continueelse:print(i,end=”,”)

A.0,B.1,C.1,3,5,7,D.0,2,4,6,

28.樹的度為3,共有29個節(jié)點(diǎn),但沒有度為1和2的節(jié)點(diǎn)。則該樹中葉子節(jié)點(diǎn)數(shù)為()。

A.0B.9C.18D.不可能有這樣的樹

29.下列關(guān)于Python的描述正確的是()。

A.Python的整數(shù)類型有長度限制,超過上限會產(chǎn)生溢出錯誤

B.Python中采用嚴(yán)格的“縮進(jìn)”來表明程序格式,不可嵌套

C.Python中可以用八進(jìn)制來表示整數(shù)

D.Python的浮點(diǎn)數(shù)類型沒有長度限制,只受限于內(nèi)存的大小

30.在Python中,使用for-in-方式形成的循環(huán)不能遍歷的類型是()。

A.列表B.復(fù)數(shù)C.字符串D.字典

二、判斷題(10題)31.Python列表中所有元素必須為相同類型的數(shù)據(jù)。

A.是B.否

32.一個數(shù)字5也是合法的Python表達(dá)式。

A.是B.否

33.Python類不支持多繼承。

A.是B.否

34.帶有else子句的循環(huán)如果因?yàn)閳?zhí)行了break語句而退出的話,則會執(zhí)行else子句中的代碼。

A.是B.否

35.已知A和B是兩個集合,并且表達(dá)式AB的值一定為True。A.是B.否

36.使用正則表達(dá)式對字符串進(jìn)行分割時,可以指定多個分隔符,而字符串對象的split()方法無法做到這一點(diǎn)。

A.是B.否

37.只可以動態(tài)為對象增加數(shù)據(jù)成員,而不能為對象動態(tài)增加成員方法。

A.是B.否

38.在Python3.x中語句print(*[1,2,3])不能正確執(zhí)行。

A.是B.否

39.表達(dá)式{1,3,2}>{1,2,3}的值為True。

A.是B.否

40.可以使用del刪除集合中的部分元素。

A.是B.否

三、填空題(10題)41.表達(dá)式{1,2,3}<{3,4,5}的值為_________。

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

43.假設(shè)re模塊已導(dǎo)入,那么表達(dá)式re.findall('(\d)\\1+','33abcd112')的值為___________________。

44.在函數(shù)內(nèi)部可以通過關(guān)鍵字()來定義全局變量()。

45.語句x=(3)執(zhí)行后x的值為________________。

46.查看變量內(nèi)存地址的Python內(nèi)置函數(shù)是_________________。

47.Python內(nèi)置函數(shù)____________用來返回序列中的最大元素。

48.表達(dá)式range(10,20)[4]的值為__________。

49.表達(dá)式type('3')in(int,float,complex)的值為__________。

50.已知vec=[[1,2],[3,4]],則表達(dá)式[colforrowinvecforcolinrow]的值為__________________________。

四、操作題(3題)51.考生文件夾下存在一個文件“PY301.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請按照源文件內(nèi)部說明修改代碼,實(shí)現(xiàn)以下功能。設(shè)計(jì)一個猜字母的程序,程序隨機(jī)給出26個小寫字母中的一個,答題者輸入猜測的字母,若輸入的不是26個小寫字母之一,讓用戶重新輸入;若字母在答案之前或之后,程序給出相應(yīng)正確提示;若答錯5次,則答題失敗并退出游戲;若回答正確,程序輸出回答次數(shù)并退出游戲。試題程序:#以下代碼為提示框架#請?jiān)?..處使用一行或多行代碼替換#請?jiān)赺____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)

52.考生文件夾下存在3個Python源文件,分別對應(yīng)3個問題;1個文本文件,作為本題目的輸入數(shù)據(jù),請按照源文件內(nèi)部說明修改代碼,實(shí)現(xiàn)以下功能?!顿u火柴的小女孩》是丹麥童話故事作家安徒生寫的一篇童話故事,發(fā)表于1846年。主要講了一個賣火柴的小女孩在富人闔家歡樂、舉杯共慶的大年夜凍死在街頭的故事。這里給出《賣火柴的小女孩》的一個網(wǎng)絡(luò)版本文件,文件名為“小女孩.txt”。問題1:在“PY301-1.py”文件中修改代碼,對“小女孩.txt”文件進(jìn)行字符頻次統(tǒng)計(jì),輸出頻次最高的中文字符(不包含標(biāo)點(diǎn)符號)及其頻次,字符與頻次之間采用英文冒號(:)分隔,將輸出結(jié)果保存在考生文件夾下,命名為“PY301-l.txt”。示例格式如下。的:83試題程序:#以下代碼為提示框架#請?jiān)?..處使用一行或多行代碼替換#請?jiān)谔幨褂靡恍写a替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)…fo=open("PY301-1.txt","w")d={}fo.write("{}:{}".format(_____))fo.close()問題L在“PY301-2.Py”文件中修改代碼,對“小女孩.txt”文件進(jìn)行字符頻次統(tǒng)計(jì),按照頻次由高到低,輸出前10個頻次最高的字符,不包含回車符,字符之間無間隔,連續(xù)輸出,將輸出結(jié)果保存在考生文件夾下,命名為“PY301-2.txt”。示例格式如下。,的一...(共10個字符)試題程序:#以下代碼為提示框架#請?jiān)?..處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fo=open("PY301-2.txt",”w”)…d={}…Is=list(d.items())ls.sort(key=lambdax:x[l],reverse=True)#此行可以按照字符頻次由高到低排序…問題3:在PY301-3.py文件中修改代碼,對“小女孩.txt”文件進(jìn)行字符頻次統(tǒng)計(jì),將所有字符按照頻次從高到低排序,字符包括中文、標(biāo)點(diǎn)、英文等,但不包含空格符和回車符。將排序后的字符及頻次輸出到考生文件夾下,文件名為“小女孩-頻次排序.txt”。字符與頻次之間采用英文冒號(:)分隔,各字符之間采用英文逗號(,)分隔,參考CSV格式,最后無逗號,文件內(nèi)部示例格式如下。著:30,那:29,火:29試題程序:#以下代碼為提示框架#請?jiān)?..處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)…d={}…Is=list(d.items())Is.sort(key=lambdax:x[1]#reverse=True)#此行可以按照字符頻次由高到低排序

53.考生文件夾下存在3個Python源文件,分別對應(yīng)3個問題,請按照文件內(nèi)說明修改代碼,實(shí)現(xiàn)以下功能。法定節(jié)假日是根據(jù)各國、各民族的風(fēng)俗習(xí)慣或紀(jì)念要求,由國家法律統(tǒng)一規(guī)定的用以慶祝及度假的休息時間。法定節(jié)假日制度是國家政治、經(jīng)濟(jì)、文化制度的重要反映,涉及經(jīng)濟(jì)社會的多個方面,涉及廣大人民群眾的切身利益。法定節(jié)假日的安排,為居民出行、購物和休閑提供了時間上的便利,為拉動內(nèi)需、促進(jìn)經(jīng)濟(jì)增長做出了積極貢獻(xiàn)。給出一個某年的節(jié)假日的放假日期CSV文件(PY301-vacations.CSV),內(nèi)容示例如下。序號節(jié)假日名稱開始月日結(jié)束月日1元旦123001012春節(jié)021502213清明節(jié)040504074勞動節(jié)050105035端午節(jié)06160618以第1行為例,1230表示12月30日,0101表示1月1日。問題1:在“PY301-1.py”文件中修改代碼,讀入CSV文件中的數(shù)據(jù),獲得用戶輸入。根據(jù)用戶輸入的節(jié)假日名稱,輸出此節(jié)假日的時間范圍。輸入和輸出本例格式如下。請輸入節(jié)假日名稱(例如,春節(jié)):春節(jié)春節(jié)的假期位于0215~0221之間試題程序:#以下代碼為提示框架#請?jiān)诔绦虻?..處使用一行或多行代碼替換#請?jiān)诔绦虻奶幨褂靡恍写a替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)Is=[]print("{}的假期位于{}-{}之間”,.format())問題2:在“PY301-2.py”文件中修改代碼,讀入CSV文件的數(shù)據(jù),獲得用戶輸入。用戶輸入一組范圍是1?7的整數(shù)作為序號,序號間采用空格符分隔,以回車符結(jié)束。輸出這些序號對應(yīng)的節(jié)假日的名稱、時間范圍,每個節(jié)假日的信息一行。本次輸出完成后,重新回到輸入序號的狀態(tài)。輸入和輸出示例格式如下。請輸入節(jié)假日序號:15元旦(1)假期是12月30日至01月01日之間端午節(jié)假期(5)是06月16日至06月18日之間請輸入節(jié)假日序號:試題程序:#以下代碼為提示框架#請?jiān)诔绦虻?..處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)...Is=[]print("{}({})假期是{}月{}日至{}月{}日之間".format())問題3:在問題2的基礎(chǔ)上,在“PY301-3.Py”文件中修改代碼,對輸入的每個序號做合法性處理。如果輸入的數(shù)字不不合法,請輸出“輸入節(jié)假日編號有誤!”,繼續(xù)輸出后續(xù)信息,然后重新回到輸入序號的狀態(tài)。輸入和輸出示例格式如下。請輸入節(jié)假日序號:51411端午節(jié)(5)假期是06月16日至06月18日之間輸入節(jié)假日編號有誤!輸入節(jié)假日編號有誤!請輸入節(jié)假日編號:試題程序:#以下代碼為提示框架#請?jiān)诔绦虻?..處使用一行或多行代碼替換#請?jiān)诔绦虻奶幱靡恍写a替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)Is=[]print("{}({})假期是{}月{}日至{}月{}日之間".format())ifflag==False:print("輸入節(jié)假日編號有誤!”)...

參考答案

1.C

2.Aset()函數(shù)是將其他的組合數(shù)據(jù)類型變成集合類型,返回結(jié)果是一個無重復(fù)且排序任意的集合n因此,set(“htslbht”)的返回值是一個類似{‘h’,‘l’,‘b’,‘s’,‘t’}的集合,然后將其賦值給ss。sorted(ss)的返回值是對ss進(jìn)行排序后的結(jié)果,即執(zhí)行sorted(ss)后,ss的值并沒有改變,最后仍輸出hlbst。本題選擇A選項(xiàng)。

3.D字典的“鍵”必須為不可變類型;字典的值可以是任意類型。本題選擇D選項(xiàng)。

4.B注釋可以在一行中的任意位置開始,但只有在“#”后的才會被作為注釋不被執(zhí)行。本題選擇B選項(xiàng)。

5.D需求分析階段的工作可以概括為:需求獲取、需求分析、編寫需求規(guī)格說明書、需求評審四個方面。所以選擇D。

6.B關(guān)系T中的元組是關(guān)系R中有而關(guān)系S中沒有的元組的集合,所以進(jìn)行的是差運(yùn)算。本題選擇B選項(xiàng)。

7.B

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

9.C設(shè)葉子結(jié)點(diǎn)數(shù)為〃,則該樹的結(jié)點(diǎn)數(shù)為n+9+5=n+\n14,根據(jù)樹中的結(jié)點(diǎn)數(shù)=樹中所有結(jié)點(diǎn)的度之和+1,得9×3+0×2+5×1+n×0+1=n+14,則n=19。本題選擇C選項(xiàng)。

10.B能夠表示多個數(shù)據(jù)的類型稱為組合數(shù)據(jù)類型。Python語言中最常用的組合數(shù)據(jù)類型有3大類:集合類型、序列類型(典型代表是字符串類型和列表類型)和映射類型(典型代表是字典類型)。復(fù)數(shù)類型不屬于組合數(shù)據(jù)類型。本題選擇B選項(xiàng)。

11.C

12.A

13.B棧是按先進(jìn)后出的原則組織數(shù)據(jù)的。隊(duì)列是按先進(jìn)先出的原則組織數(shù)據(jù)。本題選擇B選項(xiàng)。

14.A關(guān)鍵字,是編程語言內(nèi)部定義并保留使用的標(biāo)識符。Python3.\nx有35個關(guān)鍵字,分別為and、as、assert、async、await、break、class、continue、def、del、elif、else、except、False、finally、for、from、global、if、import、in、is、lambda、None、nonlocal、not、or、pass、raise、return、Ture、try、while、with、yield。本題選擇\nA選項(xiàng)。

15.Dall(x)函數(shù),當(dāng)組合類型變量x中所有元素為真時返回True,否則返回False。元素除了0、None、False外都算True。所以a的值為False;b中split()是字符串分隔方法,返回分隔后的值應(yīng)為[‘123’,‘0’];c中ascii()的參數(shù)是字符串‘python’,所以返回‘python’。本題選擇D選項(xiàng)。

16.C判斷條件4<=5<=6是成立的,故輸出True。本題選擇C選項(xiàng)。

17.D文件是存儲在輔助存儲器上的一組數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內(nèi)容,A選項(xiàng)正確??梢允褂胦pen()打開文件,用close()關(guān)閉文件,B選項(xiàng)正確。在Python中,文件讀取方法如下(f代表文件變量)。f.read():從文件中讀入整個文件內(nèi)容。f.readline():從文件中讀入一行內(nèi)容。f.readlineS():從文件中讀入所有行,以每行為元素形成一個列表。f.seek():改變當(dāng)前文件操作指針的位置。C選項(xiàng)正確。本題選擇D選項(xiàng)。

18.Cwhile循環(huán)用于判斷輸入的值是否與‘a(chǎn)’相等,若相等,則執(zhí)行k+=1;若不相等,則執(zhí)行k+=2。本題中輸入的是ab,與‘a(chǎn)’不相等,因此執(zhí)行k+=2,k=12。本題選擇C選項(xiàng)。

19.CPython中導(dǎo)入模塊中的所有函數(shù)用的是星號運(yùn)算符而不是井號運(yùn)算符。本題選擇C選項(xiàng)。

20.Credls-py是數(shù)據(jù)存儲方向的第三方庫;Django是Web開發(fā)方向的第三方庫;NLTK是自然語言處理方向的第三方庫;Luminoth是計(jì)算機(jī)視覺方向的第三方庫。本題選擇C選項(xiàng)。

21.Cid(x)是Python中的內(nèi)置函數(shù),用來查看變量在內(nèi)存中的地址。本題選擇C選項(xiàng)。

22.D

23.DPython源文件的后綴名為py。

24.B一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚、低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。

25.Aturtle庫是Python的標(biāo)準(zhǔn)庫,用于基本圖形的繪制;jieba庫是Python的第三方中文分詞庫;scipy是數(shù)據(jù)分析方向的第三方庫;Flask是Web開發(fā)方向的第三方庫。本題選擇A選項(xiàng)。

26.D

27.C該程序段是輸出8以內(nèi)的奇數(shù),continue語句只結(jié)束本次循環(huán),不終止整個循環(huán)的執(zhí)行。

28.D樹的度為3,即樹中只存在度為0、1、2、3的結(jié)點(diǎn),假設(shè)葉子結(jié)點(diǎn)數(shù)為n,由于沒有度為1和2的結(jié)點(diǎn),則度為3的結(jié)點(diǎn)數(shù)為29-\nn,根據(jù)樹中的結(jié)點(diǎn)數(shù)=樹中所有結(jié)點(diǎn)的度之和+1,得3x(29-n)+0x1+0x2+nx0+\nl=29,得出的n不為整數(shù),因此不存在這樣的樹。本題選擇D選項(xiàng)。

29.CPython的整數(shù)類型沒有長度限制;Python采用嚴(yán)格的“縮進(jìn)”格式,可以嵌套;Python的浮點(diǎn)數(shù)類型有長度限制,也受限于內(nèi)存的大小。本題選擇C選項(xiàng)。

30.B在Python中,使用for-in-方式形成的循環(huán)能遍歷的類型有字符串、文件、mnge()函數(shù)或組合數(shù)據(jù)類型,不能遍歷復(fù)數(shù)。本題選擇B選項(xiàng)。

31.N

32.Y

33.N

34.N

35.N

36.Y

37.N

38.N

39.N

40.N

41.False

42.[1,2,3,2]

43.['3','1']

44.global

45.3

46.id()

47.max()

48.14

49.FalseTrue

50.[1,2,3,4]

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(‘恭喜你答對了,總共猜了{(lán)}次’.format(count))BreakElifletter_input>letter:Print(‘你輸入的字母排在該字母之后’)Elifletter_inputPrint(‘你輸入的字母排在該字母之前’)Else:Print(‘未知錯誤’)隨機(jī)抽取26個小寫字母,需要使用Python的random庫中的函數(shù)。mndint(\r\na,b)函數(shù)生成一個區(qū)間為[a,b]的整數(shù),用來隨機(jī)抽取列表中的字母。根據(jù)題目要求總體分為兩個方向:①輸入的字符不是小寫字母中的任一個字符,則輸出“請重新輸入字母”;②若輸入的字符在列表中,則判斷輸入的次數(shù)是否大于5,大于5則輸出“猜測超過5次,答題失敗”并退出循環(huán),在輸入次數(shù)之內(nèi),對輸入的字符與隨機(jī)抽取的字符進(jìn)行比較,即大于、小于及等于,不同的比較范圍對應(yīng)不同的輸出。

52.(1)fi=open("小女孩.txt","r")fo=open(”PY301—1.txt”,”w”)txt=fi.read()d={}\r\nexclude=",。!?、()【】<>《》=:+-*-“”…"forwordintxt:ifwordinexclude:continueelse:d[word]=d.get(word,0)+1ls=list(d.items())ls.sort(key=lambda\r\nx:x[1],reverse=True)fo.write(”{}:{}”format(ls[0][0],ls[0][1]))fo.close()(2)fi=open("小女孩.txt","r")fo=open(”PY301—2.txt”,”w”)txt=fi.read()d={}forwordintxt;d[word]=d.get(word,0)+1deld["\\n"]ls=list(d.items())ls.sort(key=lambdax:x[1],reverse=True)#此行可以按照詞頻由高到低排序foriinrange(10);fo.write(ls[i][0])fi.close()fo.close()(3)fi=open("小女孩.txt","r")fo=open(小女孩-頻次排序。txt","w")txt=fi.read()d={}forwordintxtd[word]=d.get(word,0)+1deld[""]deld["\\n"]ls=list(d.items())ls.sort(key=lambdax:x[1],reverse=True)#此行可以按照詞頻由高到低排序foriin\r\nrange(len(ls)):ls[i]="{}:{}".format(ls[i][0],ls[i][1])fo.write(",".join(ls))fi.close()fo.close()(1)首先使用open()函數(shù)打開文件“小女孩.txt”,把文件的內(nèi)容通過read()方法保存到變量txt中;定義一個字符串變量exclude用來存放標(biāo)點(diǎn)符號。然后用for循環(huán)遍歷txt中的每個字符(word),并使用if條件進(jìn)行判斷,若該字符在變量exclude中,說明該字符為標(biāo)點(diǎn)符號,跳出該循環(huán);否則將該字符作為字典d中的一個鍵,該鍵所對應(yīng)的值置為1,在后面循環(huán)中只要遍歷的字符與該鍵相同,就將該鍵對應(yīng)的值加1。ls=list(d.items())表示將字典類型變成列表類型,字典中的每個鍵值對對應(yīng)列表中的一個元組。隨后,對列表ls中的元組進(jìn)行排序,用到sort()方法,參數(shù)“key=lambda.x:x[1]”中l(wèi)ambda是一個隱函數(shù),是固定寫法,不能寫成別的單詞;x表示列表中的一個元素,在這里表示一個元組,x只是臨時起的一個名字,也可以使用任意的名字;x[1]表示以元組中第二個元素排序。sort()方法的第二參數(shù)表示是按哪種方式排序,若為“reverse=True”表示按降序排序;若該參數(shù)缺省或“reverse=False”,表示按升序排序。排序后,列表ls中第一個元組中即為頻次最高的中文字符和頻次,ls[0][0]表示該字符,ls[0][1]表示其頻次,將這兩個元素通過“:”連接寫入文件“PY301—1.txt”中。(2)問題2和問題1的區(qū)別在于統(tǒng)計(jì)的字符包含標(biāo)點(diǎn)符號,因此不需要設(shè)置字符串變量exclude和使用if條件語句進(jìn)行判斷;題目要求不包含回車符,因此需要使用del刪除字典d中鍵為”\\n”的元素。最后要無間隔輸出前10個頻次最高的字符,需要對排序好的列表ls進(jìn)行for循環(huán)遍歷,找到前10個元組的第一個元素,并將其直接寫入到文件“PY301—2.txt”中。(3)問題3和問題2的區(qū)別在于統(tǒng)計(jì)的字符中不能包含空格,因此需要使用del刪除字典d中鍵為空格的元素。最后要將所有字符和其頻次輸出,需要對排序好的列表ls進(jìn)行for循環(huán)遍歷,遍歷列表中的每個元組,并將元組中的兩個元素通過“:”連接,再用逗號分隔每個字符寫入到文件“小女孩一頻次排序.txt”中。

53.Fi=open(“PY301-vacations.csv”,”r”)Is=[]Foulineinfi:Is.append(line.strip(“\\n”).split(“,”))S=input(“請輸入節(jié)假日名稱”)Forlineinis:Ifs==line[1]Print(“{}的假期位于{}-{}之間”.format(line[1],line[2],line[3]))(2)Fi=open(“P

溫馨提示

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

評論

0/150

提交評論