福建省福州市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)_第1頁
福建省福州市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)_第2頁
福建省福州市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)_第3頁
福建省福州市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)_第4頁
福建省福州市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

福建省福州市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.下面程序輸出的結(jié)果是()。sl,s2=”Mom”,””Dad"Print(“{}loves{}format(s2,si))

A.DadlovesMomB.MomlovesDadC.sllovess2D.s2lovess1

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

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

3.下列關(guān)于Python內(nèi)置函數(shù)的使用描述錯誤的是()。

A.int(x)是將x轉(zhuǎn)換為一個整數(shù)

B.print(”6+5”)的輸出是11

C.dic.clear()的結(jié)果是清空字典dic

D.使用append()函數(shù)可以向列表添加元素

4.數(shù)據(jù)流圖的作用是()。

A.描述軟件系統(tǒng)的控制流B.支持軟件系統(tǒng)的功能建模C.支持軟件系統(tǒng)的面向?qū)ο蠓治鯠.描述軟件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)

5.以下程序的輸出結(jié)果是()。CLis=list(range(5))print(5inCLis)

A.TrueB.FalseC.0D.-1

6.執(zhí)行以下代碼的結(jié)果是?foo={1,3,3,4}type(foo)

A.setB.dictC.tupleD.object

7.deque是一種()數(shù)據(jù)結(jié)構(gòu)

A.HeapB.StackC.隊(duì)列D.雙端隊(duì)列

8.以下關(guān)于Python全局變量和局部變量的描述中,錯誤的是()。

A.當(dāng)函數(shù)退出時,局部變量依然存在,下次函數(shù)調(diào)用可以繼續(xù)使用

B.全局變量一般指定義在函數(shù)之外的變量

C.使用global保留字聲明后,變量可以作為全局變量使用

D.局部變量在函數(shù)內(nèi)部創(chuàng)建和使用,函數(shù)退出后變量被釋放

9.以下代碼的輸出結(jié)果是()。Is=[‘book’,666,[2018,'python’,314],20]print(ls[2][1][-2])

A.nB.pythonC.oD.結(jié)果錯誤

10.某二叉樹有5個度為2的節(jié)點(diǎn),則該二叉樹中的葉子節(jié)點(diǎn)數(shù)是()。

A.10B.8C.6D.4

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

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

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

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

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

12.下面代碼的輸出結(jié)果是()。x=10whilex:x一=1ifx%2:print(x,end=”)else:pass

A.86420B.975311C.97531D.864200

13.若想要在屏幕上打印輸出Hello,World,應(yīng)該使用下列哪個語句?()

A.printf(”Hello,World”)

B.printf(Hello,World)

C.print(”Hello,World”)

D.print(Hello,World)

14.以下關(guān)于Python中try語句的描述中,錯誤的是()。

A.try用來捕捉執(zhí)行代碼發(fā)生的異常,處理異常后能夠回到異常處繼續(xù)執(zhí)行

B.當(dāng)執(zhí)行try代碼塊觸發(fā)異常后,會執(zhí)行except后面的語句

C.一個try代碼塊可以對應(yīng)多個處理異常的except代碼塊

D.try代碼塊不觸發(fā)異常時,不會執(zhí)行except后面的語句

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

A.timeB.turtleC.pygameD.random

16.下面代碼的輸出結(jié)果是()。f=lambdaX,Y:Xifx<yelseya=f(”aa”,”bb”)b=f(”bb”,”aa”)print(a,b)

A.aaaaB.aabbC.bbaaD.bbbb

17.字典這種數(shù)據(jù)結(jié)構(gòu)相較為其它,最大的特點(diǎn)是()

A.有序存儲B.鍵值對應(yīng)C.成員唯一D.可被迭代

18.對軟件系統(tǒng)總體結(jié)構(gòu)圖描述正確的是()。

A.深度等于控制的層數(shù)B.扇入是一個模塊直接調(diào)用的其他模塊數(shù)C.結(jié)構(gòu)圖是描述軟件系統(tǒng)功能的D.從屬模塊一定是原子模塊

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

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

20.以下程序的輸出結(jié)果不可能是()。importrandomls=[2,3,4,6]s=10k=random.randint(0,2)s+=ls[k]print(s)

A.12B.14C.13D.16

21.從鍵盤輸入數(shù)字5,以下程序的輸出結(jié)果是()。n=eval(input(“請輸入一個整數(shù):”))s=0ifn>=5: n-=1 s=4ifn<5: n-=1 s=3print(s)

A.4B.3C.0D.2

22.支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是()。

A.棧B.樹C.隊(duì)列D.二叉樹

23.以下程序的輸出結(jié)果是()。try:print((3+4j)*(3-4j))except:print(”運(yùn)算錯誤!!”)

A.(25+0j)B.5C.運(yùn)算錯誤!!D.3

24.在Python中,關(guān)于數(shù)據(jù)類型的描述錯誤的是()。

A.整數(shù)的書寫格式支持十進(jìn)制、二進(jìn)制、八進(jìn)制和十六進(jìn)制

B.如果想知道參數(shù)的數(shù)據(jù)類型,那么可以使用type()函數(shù)獲得

C.整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù)和布爾值都是Python的基本數(shù)據(jù)類型

D.浮點(diǎn)數(shù)是帶有小數(shù)的數(shù)字,它存在范圍的限制,如果計(jì)算結(jié)果超出上限和下限,則不會報錯,但會有warning的警告

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

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

26.下列哪個語句在Python中是非法的?()

A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y

27.想查看BIFlen的文檔信息,輸入以下命令()

A.helplenB.help--lenC.lenhelpD.help(len)

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

A.代碼的縮進(jìn)錯誤導(dǎo)致的是邏輯錯誤

B.跳躍結(jié)構(gòu)是Python的流程結(jié)構(gòu)之一

C.Python支持的數(shù)據(jù)類型包括char、int及float等

D.Pythcm內(nèi)存管理中,變量無須事先創(chuàng)建和賦值,而是可以直接使用

29.以下代碼的輸出結(jié)果是()。lis=list(range(4))print(lis)

A.[0,1,2,3,4]B.[0,1,2,3]C.0,1,2,3,D.0,1,2,3,4,

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

A.passB.useC.withD.None

二、判斷題(10題)31.下載whl文件進(jìn)行離線安裝擴(kuò)展庫時,因?yàn)閣hl文件的名字都比較長,可以改成短一些的名字再使用pip進(jìn)行安裝。

A.是B.否

32.Python標(biāo)準(zhǔn)庫os中的方法listdir()返回包含指定路徑中所有文件和文件夾名稱的列表。

A.是B.否

33.假設(shè)已導(dǎo)入random標(biāo)準(zhǔn)庫,那么表達(dá)式max([random.randint(1,10)foriinrange(10)])的值一定是10。

A.是B.否

34.字典的“鍵”必須是不可變的。

A.是B.否

35.Python字符串方法replace()對字符串進(jìn)行原地修改。

A.是B.否

36.定義類時實(shí)現(xiàn)了__eq__()方法,該類對象即可支持運(yùn)算符==。

A.是B.否

37.只能對列表進(jìn)行切片操作,不能對元組和字符串進(jìn)行切片操作。

A.是B.否

38.在Python3.x中reduce()是內(nèi)置函數(shù)。

A.是B.否

39.程序中異常處理結(jié)構(gòu)在大多數(shù)情況下是沒必要的。

A.是B.否

40.同一個列表對象中的元素類型可以各不相同。

A.是B.否

三、填空題(10題)41.已知path=r'c:\test.html',那么表達(dá)式path[:-4]+'htm'的值為__________。

42.已知字典x={i:str(i+3)foriinrange(3)},那么表達(dá)式sum(item[0]foriteminx.items())的值為___________。

43.當(dāng)在字符串前加上小寫字母_____或大寫字母_____表示原始字符串,不對其中的任何字符進(jìn)行轉(zhuǎn)義。

44.Python3.x語句foriinrange(3):print(i,end=',')的輸出結(jié)果為_____________________。

45.表達(dá)式int('101',2)的值為__________。

46.Python標(biāo)準(zhǔn)庫random中的sample(seq,k)方法作用是從序列中選擇________(重復(fù)?不重復(fù)?)的k個元素。

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

48.假設(shè)math標(biāo)準(zhǔn)庫已導(dǎo)入,那么表達(dá)式eval('math.sqrt(4)')的值為_________。

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

50.已知vec=[[1,2],[3,4]],則表達(dá)式[[row[i]forrowinvec]foriinrange(len(vec[0]))]的值為_________________________。

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

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

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

52.考生文件夾下存在兩個Python源文件,分別對應(yīng)兩個問題,請按照文件內(nèi)說明修改代碼,實(shí)現(xiàn)以下功能:馬和駱駝都是哺乳動物的一種,它們都有四只腳,體型也差不多大,作為現(xiàn)實(shí)世界中的一個類生物,我們將在這里為它們編寫屬于它們各自的類。

問題1:在PY301一1.py文件中修改代碼,代碼中編寫了一個馬(Home)的類,在這個類中馬有三個屬性,分別是年齡(age)、品種(category)和性別(gender)。在每創(chuàng)建一個馬的對象時,我們需要為其指定它的年齡、品種和性別。該類中還編寫一個get_deseriptive()方法,能夠打印出馬的這三個屬性。每一匹馬都有自己的最快速度,所以類中有一個speed()方法,可以打印出馬的最快速度值。并且在馬的生命過程中,它的速度一直在變,類中還有一個update_speed()方法用來更新馬當(dāng)前的最快速度值。

例如:一匹12歲的阿拉伯公馬,在草原上奔跑的速度為50km/h,要求調(diào)用get_descriptive()和update_speed()方法,將輸出的結(jié)果保存在考生文件夾下,文件命名為“PY301—1.txt”。

試題程序:

#以下代碼為提示框架

#請?jiān)凇幨褂靡恍谢蚨嘈写a替換

#請?jiān)赺____處使用一行代碼替換

#注意:提示框架代碼可以任意修改,以完成程序功能為準(zhǔn)

fo=open(“PY301—1.txt”,”W”)______Horse():

def______(self,category,gender,age):

defget_descriptive(self):

info=’thishorseis’+_____+’yearsold,’+’itscategoryis’+_+’,’+’itsfenderis’+_______+’.’

fo.write(info+“\n”)

defupdate_speed(self,new_speed):________

fo.write(’thespeedofthishorseis’+str(self.horse_speed)+”km/h.”)

fo.close()

問題2:在PY301—2.py文件中修改代碼,該代碼編寫了一個駱駝類(Camel),這個類繼承自上一個文件中的馬類但是不對馬類中的屬性和方法進(jìn)行操作。因?yàn)槊總€駱駝的駝峰數(shù)量不一致,我們在類中添加駝峰數(shù)目這個新屬性,并且添加一個打印出駱駝駝峰數(shù)量的方法。

例如:一個雙峰駝20歲的母駱駝以每小時40千米的速度奔跑在沙漠中,調(diào)用父類的方法和Camel類本身的方法將結(jié)果保存在“PY301—2.txt”中,保存在考生文件夾下。試題程序:#以下代碼為提示框架#請?jiān)凇幨褂靡恍谢蚨嘈写a替換

#請?jiān)赺_______處使用一行代碼替換

#注意:提示框架代碼可以任意修改,以完成程序功能為準(zhǔn)

fo=open(”PY301—2.txt”,”W”)

________Horse():

def_______(self,category,gender,age):

defget_descriptive(self):

info=’thishorseis’+________+’yearsold,’+’itscategoryis’+_______+’,’+’itsfendemis’+_______+’.’

fo.write(info+"\n")

defupdate_speed(self,new_speed):

________fo.write(’thespeedofthishorseis’+str(self.horse_speed)+”km/h.\n”)clasSCamel(Horse):

def__init__(self,category,gender,age):

______.__init__(category,gender,age)

self.hump_size=2defdescribe_hump_size(self):

fo.write(’thiscamelhas’+str(self.hump_size)+’hump.’)

fo.close()

53.考生文件夾下存在一個文件PY103.py,請寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能:使用循環(huán)輸出從1到50之間的奇數(shù)。

試題程序:

#請?jiān)赺____處使用一行代碼或表達(dá)式替換

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

ifcount%2==0:

print(count,end=”,”)

參考答案

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

2.D棧稱為“后進(jìn)先出”表或“先進(jìn)后出”的線性表;隊(duì)列稱為“先進(jìn)先出”或“后進(jìn)后出”的線性表。F、G、H、I、J依次人隊(duì),則依次出隊(duì)順序?yàn)镕、G、H、I、J;A、B、C、D、E依次入棧,則依次出棧順序?yàn)镋、D、C、B、A。故輸出序列為F,G,H,I,J,E,D,C,B,A。本題選擇D選項(xiàng)。

3.BB項(xiàng)中正確的輸出應(yīng)為6+5,當(dāng)print()函數(shù)括號內(nèi)的變量被引號括起,則視為字符串。

4.B數(shù)據(jù)流圖是系統(tǒng)邏輯模型的圖形表示,從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動變化過程,它直接支持系統(tǒng)的功能建模。本題選擇B選項(xiàng)。

5.Brange()函數(shù)的語法是range(start,stop,step),作用是生成一個從start參數(shù)的值開始到stop參數(shù)的值結(jié)束的數(shù)字序列(注意不包含數(shù)stop),參數(shù)step是步長。CLis=list(range(5)),生成一個列表,包含0、1、2、3、4。因?yàn)?不在CLis列表中,所以返回False。本題選擇B選項(xiàng)。

6.A

7.D

8.A根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量指在函數(shù)內(nèi)部定義的變量,僅在函數(shù)內(nèi)部有效,且作用域也在函數(shù)內(nèi)部,當(dāng)函數(shù)退出時變量將不再存在。全局變量一般指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效。全部變量在函數(shù)內(nèi)部使用時,需要提前使用保留字global聲明,語法形式:global<全局變量>。使用global對全局變量聲明時,該變量要與外部全局變量同名。

9.C列表索引從0開始,列表遵循正向遞增索引和反向遞減索引,故ls[2][l][-2]是字符。本題選擇C選項(xiàng)。

10.C根據(jù)二叉樹的基本性質(zhì):在任意一棵二叉樹中,度為0的葉子節(jié)點(diǎn)總是比度為2的節(jié)點(diǎn)多一個,所以本題中是5+1=6個。本題選擇C選項(xiàng)。

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

12.Cwhile條件為真時進(jìn)入循環(huán)體,執(zhí)行循環(huán)體中的內(nèi)容。如果x的值為偶數(shù)則if條件為假,不執(zhí)行任何操作,為奇數(shù)則if條件為真,輸出該奇數(shù);進(jìn)入下一次循環(huán),判斷while條件,判斷是否進(jìn)入循環(huán)體,執(zhí)行循環(huán)體中的代碼。后面的操作類似,直到while條件不滿足。經(jīng)過一系列的運(yùn)算,輸出結(jié)果為:97531。

13.Cptint()函數(shù)用于輸出運(yùn)算結(jié)果,根據(jù)輸出內(nèi)容不同,有3種用法:①僅用于輸出字符串,格式為:print(<待輸出字符串>),字符串需要用單引號或者是雙引號括起來;②僅用于輸出一個或多個變量,格式為:print(<變量1>,<變量2>,…<變量n>);③用于混合輸出字符串與變量值,格式為:print(<輸出字符串模板>.format(<變量1>,<變量2>,…<變量n>))。該題考查的是第一種用法。

14.APython使用保留字try和except進(jìn)行異常處理,基本的語法如下。try:\t<語句塊1>except:\t<語句塊2>“語句塊1”是正常執(zhí)行的程序內(nèi)容,當(dāng)執(zhí)行這個語句塊發(fā)生異常時,則執(zhí)行except保留字后面的“語句塊2”。一個try代碼塊可以對應(yīng)多個處理異常的except代碼塊。本題選擇A選項(xiàng)。

15.Cpygame是Python在游戲開發(fā)方向的第三方庫,不屬于Python的標(biāo)準(zhǔn)庫。本題選擇C選項(xiàng)。

16.Alambda關(guān)鍵字用來定義匿名函數(shù)。格式為:<函數(shù)名>=lambda<參數(shù)列表>:<表達(dá)式>。本題是用來比較字符串大小,因?yàn)閍a>bb,所以輸出均為aa。

17.B

18.A扇入是指調(diào)用一個給定模塊的模塊個數(shù),扇出是指由一個模塊直接調(diào)用的其他模塊個數(shù),B項(xiàng)錯誤。從屬模塊是指被另一個模塊調(diào)用的模塊,原子模塊是從屬模塊,但從屬模塊不一定是原子模塊,D項(xiàng)錯誤。結(jié)構(gòu)圖是描述軟件結(jié)構(gòu)的圖形工具,C項(xiàng)錯誤。

19.CPylnstaller工具沒有-L參數(shù);-D是默認(rèn)值,生成dlst目錄;-F是指在dlst文件夾中只生成獨(dú)立的打包文件;-i是指定打包程序使用的圖標(biāo)文件。本題選擇C選項(xiàng)。

20.Drandint(a,b)產(chǎn)生一個[a,b]的整數(shù),因此random.randint(0,2)的返回值可能為0、1或者2(即k的值),ls[0]=2,ls[1]=3,ls[2]=4,所以s也有3個可能的值s+=2,s+=3,s+=4,也就是12、13、14。本題選擇D選項(xiàng)。

21.B輸入5,因?yàn)閚=5滿足第一個if條件,所以n=n-1,n=4,s=4;因?yàn)楝F(xiàn)在n=4,滿足第二個if條件,所以n=n-1,n=3,s=3。最終輸出3。本題選擇B選項(xiàng)。

22.A棧支持子程序調(diào)用。棧是-種只能在-端進(jìn)行插入或刪除的線性表,在主程序調(diào)用子函數(shù)時要首先保存主程序當(dāng)前的狀態(tài),然后轉(zhuǎn)去執(zhí)行子程序,最終把子程序的執(zhí)行結(jié)果返回到主程序中調(diào)用子程序的位置,繼續(xù)向下執(zhí)行,這種調(diào)用符合棧的特點(diǎn),因此本題的答案為A。

23.A(3+4j)*(3-4j)是復(fù)數(shù)的乘法運(yùn)算。設(shè)c1=a+bj,c2=c+dj(a、b、c、d均為實(shí)數(shù)),c1*c2=\n(ac-bd)+(bc+ad)j0結(jié)果是(25+0j)。本題選擇A選項(xiàng)。

24.D浮點(diǎn)數(shù)的取值范圍為-10308~10308,浮點(diǎn)數(shù)之間的區(qū)分精度約為2.22×10-16。對除高精度科學(xué)計(jì)算外的絕大部分運(yùn)算來說,浮點(diǎn)數(shù)類型的數(shù)值范圍和小數(shù)精度足夠“可靠”,一般認(rèn)為浮點(diǎn)數(shù)類型沒有范圍限制。如果計(jì)算結(jié)果超出上限和下限會產(chǎn)生溢出錯誤。本題選擇D選項(xiàng)。

25.Afor-in遍歷結(jié)構(gòu)可以是字符串、文件、range()函數(shù)及組合數(shù)據(jù)類型。本題選擇A選項(xiàng)。

26.B賦值運(yùn)算的一般形式為變量=表達(dá)式,左邊只能是變量。A選項(xiàng)是連續(xù)賦值,C選項(xiàng)是序列賦值,D選項(xiàng)可以寫為x=x+\ny。本題選擇B選項(xiàng)。

27.D

28.APython包括3種控制結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)及循環(huán)結(jié)構(gòu);Python支持的數(shù)據(jù)類型有數(shù)字類型和字符串類型;Python變量使用前需要定義。本題選擇A選項(xiàng)。

29.B用中括號([])表示列表類型,也可以通過list(x)函數(shù)將集合或字符串類型轉(zhuǎn)換成列表類型。此代碼生成列表lis=[0,1,2,3],最后通過print()函數(shù)輸出。本題選B選項(xiàng)。

30.BPython總共有35個關(guān)鍵字,分別是\nand、as、assert、async、await、break、class、continue、def、del、elif、else\n、except、False、finally、for、from、global、if、import、in、is、lambda、None、nonlocal、not、or、pass、raise、re-turn、Tme、try、while、with、yield。本題選擇\nB選項(xiàng)。

31.N

32.Y

33.N

34.Y

35.N

36.Y

37.N

38.N

39.N

40.Y

41.'c:\\test.htm'

42.3

43.r、R

44.0,1,2,

45.5

46.不重復(fù)

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

48.2.0

49.type()

50.[[1,3],[2,4]]

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.(1)fo=open(”PY301一1.txt”,”w”)\r\nclassHorse():

def==init==(self,category,gender,age):\r\n

self.category=category\r\n

self.gender=gender\r\n

self.age=age\r\n

self.horse_speed=0\r\n

defget_descriptive(self):\r\n

info=’thishorseis’+str(self.age)+’yearsold,’+’itscategoryis’+self.category+’,’+'itsfenderis'+self.gender+’.’\r\n

fo.write(info+”\n”)\r\ndefupdate_speed(self,new_speed):\r\n

self.horse_speed=new_speed\r\n

fo.write(’thespeedofthishorseis’+str(self.horse_speed)+”km/h.”)\r\nhorse=Horse("Arab","male","12")\r\nhorse.get_deseriptive()\r\nhorse.update_speed(50)\r\nfo.close()\r\n(2)fo=open(”PY301~2.txt”,”w”)\r\nclassHorse():\r\n

def__init__(self,category,gender,age):\r\n

self.category=category\r\n

self.gender=gender\r\n

self.age=age\r\n

self.horse_speed=0\r\ndefget_descriptive(self):\r\n

info=’thishorseis’+str(self.age)+’yearsold,’+’itscategoryis’+self.category+’,’+\r\n'itsfenderis’+self.gender+’.’\r\n

fo.write(info+”\n”)\r\ndefupdate_speed(self,new_speed):\r\n

self.horse_speed=new_speed\r\n

fo.write(’thespeed0fthishorseis’+str(self.horse_speed)+”km/h.\n”)\r\nclassCamel(Horse):\r\n

def_init_(self,category,gender,age):\r\n

super()_init_(category,gender,age)\r\nself.hump_size=2\r\n

defdescribe_hump_size(self):\r\n

fo.write(’thiscamelhas’+str(self.hump_size)+’hump.’)\r\ncamel=Camel(Doublehump","female","20")\r\ncamel.get_descriptive()\r\ncamel.update_speed(40)\r\ncamel.describe_hump_size()\r\nfo.close()(1)文件的操作需要調(diào)用open()函數(shù)以寫模式打開文件。Python定義類使用的關(guān)鍵字是class,且類的名稱首字母要大寫。_init_()是類的特殊方法,當(dāng)根據(jù)Horse類創(chuàng)建新實(shí)例時,Python都會自動運(yùn)行它。在這個方法中,開頭和結(jié)尾各有兩個下劃線,這是一種約定。_init_()方法中定義了四個形參:self、category、gender和age。在這個方法定義中形參self必不可少,且必須位于其他形參前面。每個定義的變量都要以self為前綴,以self為前綴的變量都可供類中的所有方法使用。調(diào)用方法需要創(chuàng)建實(shí)例,然后使用點(diǎn)號表示法來調(diào)用Horse類中定義的任何方法。使用write()方法將結(jié)果寫入到文件“PY301一1.txt”中,操作完成之后,調(diào)用close()方法關(guān)閉文件。\r\n

(2)在“問題1”的基礎(chǔ)上又添加了一個Camel類,super。()是一個特殊函數(shù),幫助Python將父類和子類關(guān)聯(lián)起來。創(chuàng)建子類時,父類必須包含在當(dāng)前文件中,且位于子類前面。定義子類時,必須在括號內(nèi)指定父類的名稱。

53.count=0\r\n

whilecount<50:\r\n

count+=1\r\n

ifcount%2==0:\r\n

continue\r\n

print(count,end=”,”)判斷一個數(shù)是否為奇數(shù),即判斷這個數(shù)能否被2整除,可以被整除則為偶數(shù),結(jié)束本次循環(huán),使用continue語句;不可以被整除則為奇數(shù),輸出該數(shù)。while循環(huán)不具有自動計(jì)數(shù)的功能,所以需要定義一個變量,初始值為0,每經(jīng)過一次循環(huán),變量加1;當(dāng)變量超過50時,停止循環(huán)。福建省福州市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.下面程序輸出的結(jié)果是()。sl,s2=”Mom”,””Dad"Print(“{}loves{}format(s2,si))

A.DadlovesMomB.MomlovesDadC.sllovess2D.s2lovess1

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

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

3.下列關(guān)于Python內(nèi)置函數(shù)的使用描述錯誤的是()。

A.int(x)是將x轉(zhuǎn)換為一個整數(shù)

B.print(”6+5”)的輸出是11

C.dic.clear()的結(jié)果是清空字典dic

D.使用append()函數(shù)可以向列表添加元素

4.數(shù)據(jù)流圖的作用是()。

A.描述軟件系統(tǒng)的控制流B.支持軟件系統(tǒng)的功能建模C.支持軟件系統(tǒng)的面向?qū)ο蠓治鯠.描述軟件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)

5.以下程序的輸出結(jié)果是()。CLis=list(range(5))print(5inCLis)

A.TrueB.FalseC.0D.-1

6.執(zhí)行以下代碼的結(jié)果是?foo={1,3,3,4}type(foo)

A.setB.dictC.tupleD.object

7.deque是一種()數(shù)據(jù)結(jié)構(gòu)

A.HeapB.StackC.隊(duì)列D.雙端隊(duì)列

8.以下關(guān)于Python全局變量和局部變量的描述中,錯誤的是()。

A.當(dāng)函數(shù)退出時,局部變量依然存在,下次函數(shù)調(diào)用可以繼續(xù)使用

B.全局變量一般指定義在函數(shù)之外的變量

C.使用global保留字聲明后,變量可以作為全局變量使用

D.局部變量在函數(shù)內(nèi)部創(chuàng)建和使用,函數(shù)退出后變量被釋放

9.以下代碼的輸出結(jié)果是()。Is=[‘book’,666,[2018,'python’,314],20]print(ls[2][1][-2])

A.nB.pythonC.oD.結(jié)果錯誤

10.某二叉樹有5個度為2的節(jié)點(diǎn),則該二叉樹中的葉子節(jié)點(diǎn)數(shù)是()。

A.10B.8C.6D.4

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

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

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

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

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

12.下面代碼的輸出結(jié)果是()。x=10whilex:x一=1ifx%2:print(x,end=”)else:pass

A.86420B.975311C.97531D.864200

13.若想要在屏幕上打印輸出Hello,World,應(yīng)該使用下列哪個語句?()

A.printf(”Hello,World”)

B.printf(Hello,World)

C.print(”Hello,World”)

D.print(Hello,World)

14.以下關(guān)于Python中try語句的描述中,錯誤的是()。

A.try用來捕捉執(zhí)行代碼發(fā)生的異常,處理異常后能夠回到異常處繼續(xù)執(zhí)行

B.當(dāng)執(zhí)行try代碼塊觸發(fā)異常后,會執(zhí)行except后面的語句

C.一個try代碼塊可以對應(yīng)多個處理異常的except代碼塊

D.try代碼塊不觸發(fā)異常時,不會執(zhí)行except后面的語句

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

A.timeB.turtleC.pygameD.random

16.下面代碼的輸出結(jié)果是()。f=lambdaX,Y:Xifx<yelseya=f(”aa”,”bb”)b=f(”bb”,”aa”)print(a,b)

A.aaaaB.aabbC.bbaaD.bbbb

17.字典這種數(shù)據(jù)結(jié)構(gòu)相較為其它,最大的特點(diǎn)是()

A.有序存儲B.鍵值對應(yīng)C.成員唯一D.可被迭代

18.對軟件系統(tǒng)總體結(jié)構(gòu)圖描述正確的是()。

A.深度等于控制的層數(shù)B.扇入是一個模塊直接調(diào)用的其他模塊數(shù)C.結(jié)構(gòu)圖是描述軟件系統(tǒng)功能的D.從屬模塊一定是原子模塊

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

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

20.以下程序的輸出結(jié)果不可能是()。importrandomls=[2,3,4,6]s=10k=random.randint(0,2)s+=ls[k]print(s)

A.12B.14C.13D.16

21.從鍵盤輸入數(shù)字5,以下程序的輸出結(jié)果是()。n=eval(input(“請輸入一個整數(shù):”))s=0ifn>=5: n-=1 s=4ifn<5: n-=1 s=3print(s)

A.4B.3C.0D.2

22.支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是()。

A.棧B.樹C.隊(duì)列D.二叉樹

23.以下程序的輸出結(jié)果是()。try:print((3+4j)*(3-4j))except:print(”運(yùn)算錯誤!!”)

A.(25+0j)B.5C.運(yùn)算錯誤!!D.3

24.在Python中,關(guān)于數(shù)據(jù)類型的描述錯誤的是()。

A.整數(shù)的書寫格式支持十進(jìn)制、二進(jìn)制、八進(jìn)制和十六進(jìn)制

B.如果想知道參數(shù)的數(shù)據(jù)類型,那么可以使用type()函數(shù)獲得

C.整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù)和布爾值都是Python的基本數(shù)據(jù)類型

D.浮點(diǎn)數(shù)是帶有小數(shù)的數(shù)字,它存在范圍的限制,如果計(jì)算結(jié)果超出上限和下限,則不會報錯,但會有warning的警告

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

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

26.下列哪個語句在Python中是非法的?()

A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y

27.想查看BIFlen的文檔信息,輸入以下命令()

A.helplenB.help--lenC.lenhelpD.help(len)

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

A.代碼的縮進(jìn)錯誤導(dǎo)致的是邏輯錯誤

B.跳躍結(jié)構(gòu)是Python的流程結(jié)構(gòu)之一

C.Python支持的數(shù)據(jù)類型包括char、int及float等

D.Pythcm內(nèi)存管理中,變量無須事先創(chuàng)建和賦值,而是可以直接使用

29.以下代碼的輸出結(jié)果是()。lis=list(range(4))print(lis)

A.[0,1,2,3,4]B.[0,1,2,3]C.0,1,2,3,D.0,1,2,3,4,

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

A.passB.useC.withD.None

二、判斷題(10題)31.下載whl文件進(jìn)行離線安裝擴(kuò)展庫時,因?yàn)閣hl文件的名字都比較長,可以改成短一些的名字再使用pip進(jìn)行安裝。

A.是B.否

32.Python標(biāo)準(zhǔn)庫os中的方法listdir()返回包含指定路徑中所有文件和文件夾名稱的列表。

A.是B.否

33.假設(shè)已導(dǎo)入random標(biāo)準(zhǔn)庫,那么表達(dá)式max([random.randint(1,10)foriinrange(10)])的值一定是10。

A.是B.否

34.字典的“鍵”必須是不可變的。

A.是B.否

35.Python字符串方法replace()對字符串進(jìn)行原地修改。

A.是B.否

36.定義類時實(shí)現(xiàn)了__eq__()方法,該類對象即可支持運(yùn)算符==。

A.是B.否

37.只能對列表進(jìn)行切片操作,不能對元組和字符串進(jìn)行切片操作。

A.是B.否

38.在Python3.x中reduce()是內(nèi)置函數(shù)。

A.是B.否

39.程序中異常處理結(jié)構(gòu)在大多數(shù)情況下是沒必要的。

A.是B.否

40.同一個列表對象中的元素類型可以各不相同。

A.是B.否

三、填空題(10題)41.已知path=r'c:\test.html',那么表達(dá)式path[:-4]+'htm'的值為__________。

42.已知字典x={i:str(i+3)foriinrange(3)},那么表達(dá)式sum(item[0]foriteminx.items())的值為___________。

43.當(dāng)在字符串前加上小寫字母_____或大寫字母_____表示原始字符串,不對其中的任何字符進(jìn)行轉(zhuǎn)義。

44.Python3.x語句foriinrange(3):print(i,end=',')的輸出結(jié)果為_____________________。

45.表達(dá)式int('101',2)的值為__________。

46.Python標(biāo)準(zhǔn)庫random中的sample(seq,k)方法作用是從序列中選擇________(重復(fù)?不重復(fù)?)的k個元素。

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

48.假設(shè)math標(biāo)準(zhǔn)庫已導(dǎo)入,那么表達(dá)式eval('math.sqrt(4)')的值為_________。

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

50.已知vec=[[1,2],[3,4]],則表達(dá)式[[row[i]forrowinvec]foriinrange(len(vec[0]))]的值為_________________________。

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

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

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

52.考生文件夾下存在兩個Python源文件,分別對應(yīng)兩個問題,請按照文件內(nèi)說明修改代碼,實(shí)現(xiàn)以下功能:馬和駱駝都是哺乳動物的一種,它們都有四只腳,體型也差不多大,作為現(xiàn)實(shí)世界中的一個類生物,我們將在這里為它們編寫屬于它們各自的類。

問題1:在PY301一1.py文件中修改代碼,代碼中編寫了一個馬(Home)的類,在這個類中馬有三個屬性,分別是年齡(age)、品種(category)和性別(gender)。在每創(chuàng)建一個馬的對象時,我們需要為其指定它的年齡、品種和性別。該類中還編寫一個get_deseriptive()方法,能夠打印出馬的這三個屬性。每一匹馬都有自己的最快速度,所以類中有一個speed()方法,可以打印出馬的最快速度值。并且在馬的生命過程中,它的速度一直在變,類中還有一個update_speed()方法用來更新馬當(dāng)前的最快速度值。

例如:一匹12歲的阿拉伯公馬,在草原上奔跑的速度為50km/h,要求調(diào)用get_descriptive()和update_speed()方法,將輸出的結(jié)果保存在考生文件夾下,文件命名為“PY301—1.txt”。

試題程序:

#以下代碼為提示框架

#請?jiān)凇幨褂靡恍谢蚨嘈写a替換

#請?jiān)赺____處使用一行代碼替換

#注意:提示框架代碼可以任意修改,以完成程序功能為準(zhǔn)

fo=open(“PY301—1.txt”,”W”)______Horse():

def______(self,category,gender,age):

defget_descriptive(self):

info=’thishorseis’+_____+’yearsold,’+’itscategoryis’+_+’,’+’itsfenderis’+_______+’.’

fo.write(info+“\n”)

defupdate_speed(self,new_speed):________

fo.write(’thespeedofthishorseis’+str(self.horse_speed)+”km/h.”)

fo.close()

問題2:在PY301—2.py文件中修改代碼,該代碼編寫了一個駱駝類(Camel),這個類繼承自上一個文件中的馬類但是不對馬類中的屬性和方法進(jìn)行操作。因?yàn)槊總€駱駝的駝峰數(shù)量不一致,我們在類中添加駝峰數(shù)目這個新屬性,并且添加一個打印出駱駝駝峰數(shù)量的方法。

例如:一個雙峰駝20歲的母駱駝以每小時40千米的速度奔跑在沙漠中,調(diào)用父類的方法和Camel類本身的方法將結(jié)果保存在“PY301—2.txt”中,保存在考生文件夾下。試題程序:#以下代碼為提示框架#請?jiān)凇幨褂靡恍谢蚨嘈写a替換

#請?jiān)赺_______處使用一行代碼替換

#注意:提示框架代碼可以任意修改,以完成程序功能為準(zhǔn)

fo=open(”PY301—2.txt”,”W”)

________Horse():

def_______(self,category,gender,age):

defget_descriptive(self):

info=’thishorseis’+________+’yearsold,’+’itscategoryis’+_______+’,’+’itsfendemis’+_______+’.’

fo.write(info+"\n")

defupdate_speed(self,new_speed):

________fo.write(’thespeedofthishorseis’+str(self.horse_speed)+”km/h.\n”)clasSCamel(Horse):

def__init__(self,category,gender,age):

______.__init__(category,gender,age)

self.hump_size=2defdescribe_hump_size(self):

fo.write(’thiscamelhas’+str(self.hump_size)+’hump.’)

fo.close()

53.考生文件夾下存在一個文件PY103.py,請寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能:使用循環(huán)輸出從1到50之間的奇數(shù)。

試題程序:

#請?jiān)赺____處使用一行代碼或表達(dá)式替換

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

ifcount%2==0:

print(count,end=”,”)

參考答案

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

2.D棧稱為“后進(jìn)先出”表或“先進(jìn)后出”的線性表;隊(duì)列稱為“先進(jìn)先出”或“后進(jìn)后出”的線性表。F、G、H、I、J依次人隊(duì),則依次出隊(duì)順序?yàn)镕、G、H、I、J;A、B、C、D、E依次入棧,則依次出棧順序?yàn)镋、D、C、B、A。故輸出序列為F,G,H,I,J,E,D,C,B,A。本題選擇D選項(xiàng)。

3.BB項(xiàng)中正確的輸出應(yīng)為6+5,當(dāng)print()函數(shù)括號內(nèi)的變量被引號括起,則視為字符串。

4.B數(shù)據(jù)流圖是系統(tǒng)邏輯模型的圖形表示,從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動變化過程,它直接支持系統(tǒng)的功能建模。本題選擇B選項(xiàng)。

5.Brange()函數(shù)的語法是range(start,stop,step),作用是生成一個從start參數(shù)的值開始到stop參數(shù)的值結(jié)束的數(shù)字序列(注意不包含數(shù)stop),參數(shù)step是步長。CLis=list(range(5)),生成一個列表,包含0、1、2、3、4。因?yàn)?不在CLis列表中,所以返回False。本題選擇B選項(xiàng)。

6.A

7.D

8.A根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量指在函數(shù)內(nèi)部定義的變量,僅在函數(shù)內(nèi)部有效,且作用域也在函數(shù)內(nèi)部,當(dāng)函數(shù)退出時變量將不再存在。全局變量一般指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效。全部變量在函數(shù)內(nèi)部使用時,需要提前使用保留字global聲明,語法形式:global<全局變量>。使用global對全局變量聲明時,該變量要與外部全局變量同名。

9.C列表索引從0開始,列表遵循正向遞增索引和反向遞減索引,故ls[2][l][-2]是字符。本題選擇C選項(xiàng)。

10.C根據(jù)二叉樹的基本性質(zhì):在任意一棵二叉樹中,度為0的葉子節(jié)點(diǎn)總是比度為2的節(jié)點(diǎn)多一個,所以本題中是5+1=6個。本題選擇C選項(xiàng)。

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

12.Cwhile條件為真時進(jìn)入循環(huán)體,執(zhí)行循環(huán)體中的內(nèi)容。如果x的值為偶數(shù)則if條件為假,不執(zhí)行任何操作,為奇數(shù)則if條件為真,輸出該奇數(shù);進(jìn)入下一次循環(huán),判斷while條件,判斷是否進(jìn)入循環(huán)體,執(zhí)行循環(huán)體中的代碼。后面的操作類似,直到while條件不滿足。經(jīng)過一系列的運(yùn)算,輸出結(jié)果為:97531。

13.Cptint()函數(shù)用于輸出運(yùn)算結(jié)果,根據(jù)輸出內(nèi)容不同,有3種用法:①僅用于輸出字符串,格式為:print(<待輸出字符串>),字符串需要用單引號或者是雙引號括起來;②僅用于輸出一個或多個變量,格式為:print(<變量1>,<變量2>,…<變量n>);③用于混合輸出字符串與變量值,格式為:print(<輸出字符串模板>.format(<變量1>,<變量2>,…<變量n>))。該題考查的是第一種用法。

14.APython使用保留字try和except進(jìn)行異常處理,基本的語法如下。try:\t<語句塊1>except:\t<語句塊2>“語句塊1”是正常執(zhí)行的程序內(nèi)容,當(dāng)執(zhí)行這個語句塊發(fā)生異常時,則執(zhí)行except保留字后面的“語句塊2”。一個try代碼塊可以對應(yīng)多個處理異常的except代碼塊。本題選擇A選項(xiàng)。

15.Cpygame是Python在游戲開發(fā)方向的第三方庫,不屬于Python的標(biāo)準(zhǔn)庫。本題選擇C選項(xiàng)。

16.Alambda關(guān)鍵字用來定義匿名函數(shù)。格式為:<函數(shù)名>=lambda<參數(shù)列表>:<表達(dá)式>。本題是用來比較字符串大小,因?yàn)閍a>bb,所以輸出均為aa。

17.B

18.A扇入是指調(diào)用一個給定模塊的模塊個數(shù),扇出是指由一個模塊直接調(diào)用的其他模塊個數(shù),B項(xiàng)錯誤。從屬模塊是指被另一個模塊調(diào)用的模塊,原子模塊是從屬模塊,但從屬模塊不一定是原子模塊,D項(xiàng)錯誤。結(jié)構(gòu)圖是描述軟件結(jié)構(gòu)的圖形工具,C項(xiàng)錯誤。

19.CPylnstaller工具沒有-L參數(shù);-D是默認(rèn)值,生成dlst目錄;-F是指在dlst文件夾中只生成獨(dú)立的打包文件;-i是指定打包程序使用的圖標(biāo)文件。本題選擇C選項(xiàng)。

20.Drandint(a,b)產(chǎn)生一個[a,b]的整數(shù),因此random.randint(0,2)的返回值可能為0、1或者2(即k的值),ls[0]=2,ls[1]=3,ls[2]=4,所以s也有3個可能的值s+=2,s+=3,s+=4,也就是12、13、14。本題選擇D選項(xiàng)。

21.B輸入5,因?yàn)閚=5滿足第一個if條件,所以n=n-1,n=4,s=4;因?yàn)楝F(xiàn)在n=4,滿足第二個if條件,所以n=n-1,n=3,s=3。最終輸出3。本題選擇B選項(xiàng)。

22.A棧支持子程序調(diào)用。棧是-種只能在-端進(jìn)行插入或刪除的線性表,在主程序調(diào)用子函數(shù)時要首先保存主程序當(dāng)前的狀態(tài),然后轉(zhuǎn)去執(zhí)行子程序,最終把子程序的執(zhí)行結(jié)果返回到主程序中調(diào)用子程序的位置,繼續(xù)向下執(zhí)行,這種調(diào)用符合棧的特點(diǎn),因此本題的答案為A。

23.A(3+4j)*(3-4j)是復(fù)數(shù)的乘法運(yùn)算。設(shè)c1=a+bj,c2=c+dj(a、b、c、d均為實(shí)數(shù)),c1*c2=\n(ac-bd)+(bc+ad)j0結(jié)果是(25+0j)。本題選擇A選項(xiàng)。

24.D浮點(diǎn)數(shù)的取值范圍為-10308~10308,浮點(diǎn)數(shù)之間的區(qū)分精度約為2.22×10-16。對除高精度科學(xué)計(jì)算外的絕大部分運(yùn)算來說,浮點(diǎn)數(shù)類型的數(shù)值范圍和小數(shù)精度足夠“可靠”,一般認(rèn)為浮點(diǎn)數(shù)類型沒有范圍限制。如果計(jì)算結(jié)果超出上限和下限會產(chǎn)生溢出錯誤。本題選擇D選項(xiàng)。

25.Afor-in遍歷結(jié)構(gòu)可以是字符串、文件、range()函數(shù)及組合數(shù)據(jù)類型。本題選擇A選項(xiàng)。

26.B賦值運(yùn)算的一般形式為變量=表達(dá)式,左邊只能是變量。A選項(xiàng)是連續(xù)賦值,C選項(xiàng)是序列賦值,D選項(xiàng)可以寫為x=x+\ny。本題選擇B選項(xiàng)。

27.D

28.APython包括3種控制結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)及循環(huán)結(jié)構(gòu);Python支持的數(shù)據(jù)類型有數(shù)字類型和字符串類型;Python變量使用前需要定義。本題選擇A選項(xiàng)。

29.B用中括號([])表示列表類型,也可以通過list(x)函數(shù)將集合或字符串類型轉(zhuǎn)換成列表類型。此代碼生成列表lis=[0,1,2,3],最后通過print()函數(shù)輸出。本題選B選項(xiàng)。

30.BPython總共有35個關(guān)鍵字,分別是\nand、as、assert、async、await、break、class、continue、def、del、elif、else\n、except、False、finally、for、from、global、if、import、in、is、lambda、None、nonlocal、not、or、pass、raise、re-turn、Tme、try、while、with、yield。本題選擇\nB選項(xiàng)。

31.N

32.Y

33.N

34.Y

35.N

36.Y

37.N

38.N

39.N

40.Y

41.'c:\\test.htm'

42.3

43.r、R

44.0,1,2,

45.5

46.不重復(fù)

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

48.2.0

49.type()

50.[[1,3],[2,4]]

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.(1)fo=open(”PY301一1.txt”,”w”)\r\nclassHorse():

def==init==(self,category,gender,age):\r\n

self.category=category\r\n

self.gender=gender\r\n

self.age=age\r\n

self.horse_speed=0\r\n

defget_descriptive(self):\r\n

info=’thishorseis’+str(self.age)+’yearsold,’+’itscategoryis’+self.category+’,’+'itsfenderis'+self.gender+’.’\r\n

fo.write(info+”\n”)\r\ndefupdate_speed(self,new_speed):\r\n

self.horse_speed=new_speed\r\n

fo.write(’thespeedofthishorseis’+str(self.horse_speed)+”km/h.”)\r\nhorse=Horse("Arab","male","12")\r\nhorse.get_deseriptive()\r\nhorse.update_speed(50)\r\nfo.close()\r\n(2)fo=open(”PY301~2.txt”,”w”)\r\nclassHorse():\r\n

def__init__(self,category,gender,age):\r\n

self.category=category\r\n

self.gender=gender\r\n

self.age=age\r\n

self.horse_speed=0\r\ndefget_descriptive(self):\r\n

info=’thishorseis’+str(self.age)+’yearsold,’+’itscategoryis’+self.category+’,’+\r\n'itsfenderis’+self.gender+’.’\r\n

fo.write(info+”\n”)\r\ndefupdate_speed(self,new_speed):\r\n

self.horse_speed=new_speed\r\n

fo.write(’thespeed0fthishorseis’+str(self.horse_speed)+”km/h.\n”)\r\nclassCamel(Horse):\r\n

def_init_(self,category,gender,age):\r\n

super()_init_(category,gender,age)\r\nself.hump_size=2\r\n

defdescribe_hump_size(self):\r\n

fo.write(’thiscamelhas’+str(self.hump_size)+’hump.’)\r\ncamel=Camel(Doublehump","female","20")\r\ncamel.get_descriptive()\r\ncamel.update_speed(40)\r\ncamel.describe_hump_size()\r\nfo.close()(1)文件的操作需要調(diào)用open()函數(shù)以寫模式打開文件。Python定義類使用的關(guān)鍵字是class,且類的名稱首字母要大寫。_init_()是類的特殊方法,當(dāng)根據(jù)Horse類創(chuàng)建新實(shí)例時,Python都會自動運(yùn)行它。在這個方法中,開頭和結(jié)尾各有兩個下劃線,這是一種約定。_init_()方法中定義了四個形參:self、category、gender和age。在這個方法定義中形參self必不可少,且必須位于其他形參前面。每個定義的變量都要以self為前綴,以self為前綴的變量都可供類中的所有方法使用。調(diào)用方法需要創(chuàng)建實(shí)例,然后使用點(diǎn)號表示法來調(diào)用Horse類中定義的任何方法。使用write()方法將結(jié)果寫入到文件“PY301一1.txt”中,操作完成之后,調(diào)用close()方法關(guān)閉文件。\r\n

(2)在“問題1”的基礎(chǔ)上又添加了一個Camel類,super。()是一個特殊函數(shù),幫助Python將父類和子類關(guān)聯(lián)起來。創(chuàng)建子類時,父類必須包含在當(dāng)前文件中,且位于子類前面。定義子類時,必須在括號內(nèi)指定父類的名稱。

53.count=0\r\n

whilecount<50:\r\n

count+=1\r\n

ifcount%2==0:\r\n

continue\r\n

print(count,end=”,”)判斷一個數(shù)是否為奇數(shù),即判斷這個數(shù)能否被2整除,可以被整除則為偶數(shù),結(jié)束本次循環(huán),使用continue語句;不可以被整除則為奇數(shù),輸出該數(shù)。while循環(huán)不具有自動計(jì)數(shù)的功能,所以需要定義一個變量,初始值為0,每經(jīng)過一次循環(huán),變量加1;當(dāng)變量超過50時,停止循環(huán)。福建省福州市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.下面程序輸出的結(jié)果是()。sl,s2=”Mom”,””Dad"Print(“{}loves{}format(s2,si))

A.DadlovesMomB.MomlovesDadC.sllovess2D.s2lovess1

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

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

3.下列關(guān)于Python內(nèi)置函數(shù)的使用描述錯誤的是()。

A.int(x)是將x轉(zhuǎn)換為一個整數(shù)

B.print(”6+5”)的輸出是11

C.dic.clear()的結(jié)果是清空字典dic

D.使用append()函數(shù)可以向列表添加元素

4.數(shù)據(jù)流圖的作用是()。

A.描述軟件系統(tǒng)的控制流B.支持軟件系統(tǒng)的功能建模C.支持軟件系統(tǒng)的面向?qū)ο蠓治鯠.描述軟件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)

5.以下程序的輸出結(jié)果是()。CLis=list(range(5))print(5inCLis)

A.TrueB.FalseC.0D.-1

6.執(zhí)行以下代碼的結(jié)果是?foo={1,3,3,4}type(foo)

A.setB.dictC.tupleD.object

7.deque是一種()數(shù)據(jù)結(jié)構(gòu)

A.HeapB.StackC.隊(duì)列D.雙端隊(duì)列

8.以下關(guān)于Python全局變量和局部變量的描述中,錯誤的是()。

A.當(dāng)函數(shù)退出時,局部變量依然存在,下次函數(shù)調(diào)用可以繼續(xù)使用

B.全局變量一般指定義在函數(shù)之外的變量

C.使用global保留字聲明后,變量可以作為全局變量使用

D.局部變量在函數(shù)內(nèi)部創(chuàng)建和使用,函數(shù)退出后變量被釋放

9.以下代碼的輸出結(jié)果是()。Is=[‘book’,666,[2018,'python’,314],20]print(ls[2][1][-2])

A.nB.pythonC.oD.結(jié)果錯誤

10.某二叉樹有5個度為2的節(jié)點(diǎn),則該二叉樹中的葉子節(jié)點(diǎn)數(shù)是()。

A.10B.8C.6D.4

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

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

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

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

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

12.下面代碼的輸出結(jié)果是()。x=10whilex:x一=1ifx%2:print(x,end=”)else:pass

A.86420B.975311C.97531D.864200

13.若想要在屏幕上打印輸出Hello,World,應(yīng)該使用下列哪個語句?()

A.printf(”Hello,World”)

B.printf(Hello,World)

C.print(”Hello,World”)

D.print(Hello,World)

14.以下關(guān)于Python中try語句的描述中,錯誤的是()。

A.try用來捕捉執(zhí)行代碼發(fā)生的異常,處理異常后能夠回到異常處繼續(xù)執(zhí)行

B.當(dāng)執(zhí)行try代碼塊觸發(fā)異常后,會執(zhí)行except后面的語句

C.一個try代碼塊可以對應(yīng)多個處理異常的except代碼塊

D.try代碼塊不觸發(fā)異常時,不會執(zhí)行except后面的語句

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

A.timeB.turtleC.pygameD.random

16.下面代碼的輸出結(jié)果是()。f=lambdaX,Y:Xifx<yelseya=f(”aa”,”bb”)b=f(”bb”,”aa”)print(a,b)

A.aaaaB.aabbC.bbaaD.bbbb

17.字典這種數(shù)據(jù)結(jié)構(gòu)相較為其它,最大的特點(diǎn)是()

A.有序存儲B.鍵值對應(yīng)C.成員唯一D.可被迭代

18.對軟件系統(tǒng)總體結(jié)構(gòu)圖描述正確的是()。

A.深度等于控制的層數(shù)B.扇入是一個模塊直接調(diào)用的其他模塊數(shù)C.結(jié)構(gòu)圖是描述軟件系統(tǒng)功能的D.從屬模塊一定是原子模塊

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

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

20.以下程序的輸出結(jié)果不可能是()。importrandomls=[2,3,4,6]s=10k=random.randint(0,2)s+=ls[k]print(s)

A.12B.14C.13D.16

21.從鍵盤輸入數(shù)字5,以下程序的輸出結(jié)果是()。n=eval(input(“請輸入一個整數(shù):”))s=0ifn>=5: n-=1 s=4ifn<5: n-=1 s=3print(s)

A.4B.3C.0D.2

2

溫馨提示

  • 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

提交評論