廣東省東莞市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)知識點(diǎn)匯總(含答案)_第1頁
廣東省東莞市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)知識點(diǎn)匯總(含答案)_第2頁
廣東省東莞市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)知識點(diǎn)匯總(含答案)_第3頁
廣東省東莞市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)知識點(diǎn)匯總(含答案)_第4頁
廣東省東莞市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)知識點(diǎn)匯總(含答案)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

廣東省東莞市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)知識點(diǎn)匯總(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.以下關(guān)于文件的描述中,錯(cuò)誤的是()。

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

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

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

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

2.以下程序的輸出結(jié)果是()。x=[90,87,93]y=(”Aele”,”Bob”,”lala”)z={}foriinrange(len(x)):z[i]=list(zip(x,y))print(z)

A.{0:[(90,’Aele’),(87,’Bob’),(93,’lala’)],1:[(90,’Aele’),(87,’Bob’),(93,’lala’)],2:[(90,’Aele’),(87,’Bob’),(93,’lala’)]}

B.{0:(90,’Aele’),1:(87,’Bob’),2:(93,’lala’)}

C.{0:[90,’Aele’],1:[87,’Bob’],2:[93,’lala’]}

D.{0:([90,87,93],(’Aele’,’Bob’,’lala’)),1:([90,87,93],(’Aele’,’Bob’,’lala’)),2:([90,87,93],(’Aele’,’Bob’,’lala’))}

3.下列表達(dá)式會返回('julyedu',)[0]()

A.異常B.julyeduC.jD.('julyedu')

4.確定軟件項(xiàng)目是否進(jìn)行開發(fā)的文檔是()。

A.需求分析規(guī)格說明書B.可行性報(bào)告C.軟件開發(fā)計(jì)劃D.測試報(bào)告

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

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

6.下面代碼的輸出結(jié)果是()。foriin“PYTHON":forkinrange(2):print(i,end=“”)ifi=='H':break

A.PPYYTTHHOONNB.PPYYTT00NNC.PPYYTTH00NND.PPYYTTH

7.執(zhí)行以下代碼的結(jié)果是()A.3B.5C.6D.8

8.下面關(guān)于Python語言的說法正確的是()。

A.Python不支持面向?qū)ο蟪绦蛟O(shè)計(jì)

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

C.Python中的內(nèi)置函數(shù)需要用關(guān)鍵字import來導(dǎo)入,而不能直接使用

D.Python中如果導(dǎo)入了某個(gè)模塊,在后面的代碼中就可以使用它的所有公共函數(shù)、類和屬性

9.以下關(guān)于分支和循環(huán)結(jié)構(gòu)的描述中,正確的是()。

A.在循環(huán)中,continue語句的作用是跳出當(dāng)前循環(huán)

B.在循環(huán)中,break語句的作用是結(jié)束該語句所在的循環(huán)

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

D.在Python中,分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)必須帶有else子句

10.一棵二叉樹共有25個(gè)節(jié)點(diǎn),其中5個(gè)是葉子節(jié)點(diǎn),則度為1的節(jié)點(diǎn)數(shù)為()。

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

11.以下程序的輸出結(jié)果是()。fo=open(“book.txt”,“w”)ls=[‘C語言’,‘Java’,‘C#’,‘Python’]fo.writelines(ls)fo.close()

A.‘語言’‘Java’‘C#’‘Python’

B.C語言JavaC#Python

C.[C語言,Java,C#,Python]

D.[‘C語言’‘Java’‘C#’,‘Python’]

12.以下程序的輸出結(jié)果是()。forsin“PythonNCRE”: ifs==“N”: break print(s,end=“”)

A.PythonCREB.NC.PythonD.PythonNCRE

13.下列關(guān)于列表的說法正確的是()。

A.列表中的值可以是任何數(shù)據(jù)類型,被稱為元素或項(xiàng)

B.列表的索引序號是從1開始的,以此類推

C.使用append()函數(shù)可以向列表的指定位置插入元素

D.使用remove()函數(shù)可以從列表中刪除元素,但必須知道元素在列表中的位置

14.S=’1234567890’,以下表示’1234’的選項(xiàng)是()。

A.s[1:5]B.s[0:3]C.s[一10:-5]D.s[0:4]

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

A.—個(gè)關(guān)系中應(yīng)該有一個(gè)或多個(gè)候選關(guān)鍵字

B.—個(gè)關(guān)系中只能有一個(gè)候選關(guān)鍵字

C.一個(gè)關(guān)系中必須有多個(gè)候選關(guān)鍵字

D.—個(gè)關(guān)系中可以沒有候選關(guān)鍵字

16.正則非貪婪模式使用()符號設(shè)置

A.\$B.\∧C.\{}D.\?

17.以下關(guān)于Python處理二進(jìn)制文件的描述中,錯(cuò)誤的是()。

A.Python不可以處理PDF文件

B.Python能處理Excel文件

C.Python能處理音頻文件

D.Python能處理圖形圖像文件

18.以下關(guān)于文件的打開和關(guān)閉的描述中,正確的是()。

A.二進(jìn)制文件不能使用記事本程序打開

B.二進(jìn)制文件也可以使用記事本或其他文本編輯器打開,但是一般來說無法正常查看其中的內(nèi)容

C.使用內(nèi)置函數(shù)open()且以“w”模式打開文件,若文件存在,則會引發(fā)異常

D.使用內(nèi)置函數(shù)open()打開文件時(shí),只要文件路徑正確就總可以正確打開

19.ls=[‘a(chǎn)’,‘2’,‘3’],以下關(guān)于循環(huán)結(jié)構(gòu)的描述,錯(cuò)誤的是()。

A.表達(dá)式foriinrange(len(ls))的循環(huán)次數(shù)與foriinls的循環(huán)次數(shù)是一樣的

B.表達(dá)式foriinrange(len(ls))與foriinIs的循環(huán)中i的值是一樣的

C.表達(dá)式foriinrange(len(ls))的循環(huán)次數(shù)與foriinrange(0,len(ls))的循環(huán)次數(shù)是一樣的

D.表達(dá)式foriinrange(len(ls))的循環(huán)次數(shù)與foriinrange(1,len(ls)+1)的循環(huán)次數(shù)是一樣的

20.下面代碼的輸出結(jié)果是()。a=1deffun(a):a=a+2returnaprint(a,fun(a))

A.l,lB.l,3C.3,3D.3,l

21.以下不屬于Python控制結(jié)構(gòu)的是()。

A.順序結(jié)構(gòu)B.循環(huán)結(jié)構(gòu)C.分支結(jié)構(gòu)D.數(shù)據(jù)結(jié)構(gòu)

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

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

23.以下關(guān)于Python文件打開模式的描述中,錯(cuò)誤的是()。

A.只讀模式“r”B.覆蓋寫模式“w”C.追加寫模式“a”D.創(chuàng)建寫模式“n”

24.以下選項(xiàng)中不是Python文件目錄操作方法的是()。

A.split()B.rename()C.getcwd()D.rmdir()

25.以下代碼的輸出結(jié)果是()。fo=open(”book.txt”,”w”)ls=[’C語言’,’Java’,’C#’,’Python’]fo.writelines(ls)fo.close()

A.’C語言“Java”C#”Python’

B.C語言JavaC#Python

C.[C語言,Java,C#,Python]

D.[’C語言’,’Java’,’C#’,’Python’]

26.以下代碼的輸出結(jié)果是()。whileTrue:guess=eval(input())ifguess==0x452//2:breakprint(guess)

A.0x452B.breakC.553D.”0x452//2”

27.關(guān)于Python元組類型,描述錯(cuò)誤的是()。

A.元組不可以被修改

B.Python中元組使用圓括號和逗號表示

C.元組中的元素要求是相同類型

D.—個(gè)元組可以作為另一個(gè)元祖的元素,可以采用多級索引獲取信息

28.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程

B.軟件從需求分析、設(shè)計(jì)、實(shí)現(xiàn)到測試完成的過程

C.軟件的開發(fā)過程

D.軟件的運(yùn)行維護(hù)過程

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

A.passB.useC.withD.None

30.以下程序的輸出結(jié)果是()。lis1=[1,2,[‘python’]]lis2=[‘loves’]lis1[1]=lis2print(lis1)

A.[lis2,2,[‘python’]]

B.[1,[‘love’],[‘python’]]

C.[1,2,‘python’,‘loves']

D.[1,2,[‘python’,‘loves’]

二、判斷題(10題)31.在一個(gè)軟件的設(shè)計(jì)與開發(fā)中,所有類名、函數(shù)名、變量名都應(yīng)該遵循統(tǒng)一的風(fēng)格和規(guī)范。

A.是B.否

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

A.是B.否

33.如果需要連接大量字符串成為一個(gè)字符串,那么使用字符串對象的join()方法比運(yùn)算符+具有更高的效率。

A.是B.否

34.在Python中定義函數(shù)時(shí)不需要聲明函數(shù)參數(shù)的類型。

A.是B.否

35.相同內(nèi)容的字符串使用不同的編碼格式進(jìn)行編碼得到的結(jié)果并不完全相同。

A.是B.否

36.函數(shù)是代碼復(fù)用的一種方式。

A.是B.否

37.3+4j不是合法的Python表達(dá)式。

A.是B.否

38.Python變量名必須以字母或下劃線開頭,并且區(qū)分字母大小寫。

A.是B.否

39.Python變量使用前必須先聲明,并且一旦聲明就不能再當(dāng)前作用域內(nèi)改變其類型。

A.是B.否

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

A.是B.否

三、填空題(10題)41.已知x={1:2},那么執(zhí)行語句x[2]=3之后,x的值為________________。

42.表達(dá)式'%s'%[1,2,3]的值為_____________。

43.已知x={1:2,2:3},那么表達(dá)式x.get(3,4)的值為____。

44.表達(dá)式[indexforindex,valueinenumerate([3,5,7,3,7])ifvalue==max([3,5,7,3,7])]的值為__________________。

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

46.表達(dá)式'%c'%65的值為_________。

47.已知x=[1,2,3,4,5],那么執(zhí)行語句delx[:3]之后,x的值為__________。

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

49.表達(dá)式len('中國'.encode('gbk'))的值為____________。

50.表達(dá)式':'.join('abcdefg'.split('cd'))的值為______________。

四、操作題(3題)51.考生文件夾下存在兩個(gè)Python源文件,分別對應(yīng)兩個(gè)問題,請按照文件內(nèi)說明修改代碼,實(shí)現(xiàn)以下功能。馬和駱駝都是哺乳動物,它們都有4只腳,體型也差不多大,我們將在這里為它們編寫屬于它們各自的類。問題1:在“PY301-l.py”文件中修改代碼,代碼中編寫了一個(gè)馬(Horse)的類,在這個(gè)類中馬有3個(gè)屬性,分別是年齡(age)、品種(category)及性別(gender)。在每創(chuàng)建一個(gè)馬的對象時(shí),我們需要為其指定它的年齡、品種及性別。該類中還編寫一個(gè)get_descriptive()方法,能夠輸出馬的這3個(gè)屬性。每一匹馬都有自己的最快速度,所以類中有一個(gè)speed()方法,可以輸出馬的最快速度值。并且在馬的生命過程中,它的速度一直在變,類中還有一個(gè)update_Speed()方法用來更新馬當(dāng)前的最快速度值。例如:一匹12歲的阿拉伯公馬,在草原上奔跑的速度為50千米每小時(shí),要求調(diào)用get_descriptive()和up-date_speed()方法,將輸出的結(jié)果保存在考生文件夾下,文件命名為“PY301-1.txt”。試題程序:#以下代碼為提示框架#請?jiān)?..處使用一行或多行代碼替換#請?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”文件中修改代碼,該代碼編寫了一個(gè)駱駝?lì)?Camel),這個(gè)類繼承自上一個(gè)文件中的馬類但是不對馬類中的屬性和方法進(jìn)行操作。因?yàn)槊總€(gè)駱駝的駝峰數(shù)量不一致,我們在類中添加駝峰數(shù)目這個(gè)新屬性,并且添加一個(gè)輸出駱駝駝峰數(shù)目的方法。例如:一個(gè)20歲的雙峰母駱駝以每小時(shí)40千米的速度奔跑在沙漠中,調(diào)用父類的方法和Camel類本身的方法將結(jié)果保存在“PY301-2.txt”中,保存在考生文件夾下。試題程序:#以下代碼為提示框架#請?jiān)?..處使用一行或多行代碼替換#請?jiān)赺____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fo=open("PY301-2.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.\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()

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

試題程序:

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

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

ifcount%2==0:

print(count,end=”,”)

53.某班學(xué)生評選一等獎(jiǎng)學(xué)金,學(xué)生的10門主干課成績存在考生文件夾下文件score.txt中,每行為一個(gè)學(xué)生的信息,分別記錄了學(xué)生學(xué)號、姓名以及10門課成績,格式如下:

1820161043

鄭珉鎬68668377567361696678

1820161044

沈紅偉91708l919680789l8994

從這些學(xué)生中選出獎(jiǎng)學(xué)金候選人,條件是:①總成績排名在前10名;②全部課程及格(成績大于等于60)。

問題1:給出按總成績從高到低排序的前10名學(xué)生名單,并寫入文件candidate0.txt,每行記錄一個(gè)學(xué)生的信息,分別為學(xué)生學(xué)號、姓名以及10門課成績。補(bǔ)充考生文件夾下文件PY301一1.py,完成這一功能。試題程序:

#請?jiān)凇幨褂枚嘈写a替換

##注意:其他已給出代碼僅作為提示,可以修改L=[]

#L中的元素是學(xué)生原始成績和總成績

…#此處可多行

L.sort(key=lambdax:x[一1],reverse=True)拌按學(xué)生總成績從大到小排序

…#此處可多行

問題2:讀取文件candidate0.txt,從中選出候選人,并將學(xué)號和姓名寫入文件candidate.txt,格式如下:

1010112161722

張三

1010112161728

李四

補(bǔ)充考生文件夾下文件PY301—2.py,完成這一功能。

試題程序:'''輸入文件:candidate0.txt輸出文件:candidate.txt'''

參考答案

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

2.Azip()是P)rthon的一個(gè)內(nèi)建函數(shù),它接受一系列可迭代的對象作為參數(shù),將對象中對應(yīng)的元素打包成一個(gè)個(gè)元組,然后返回由這些元組組成的列表。若傳入?yún)?shù)的長度不等,則返回list的長度和參數(shù)中長度最短的對象相同。本題中,x為列表類型,y為元組類型,zip(x,y)返回的結(jié)果為[(90,’Aele’),(87,’Bob’),.(93,’lala,’)]。for循環(huán)中i的值依次為0、1、2,因此z(字典類型)的值為{0:[(90,’Aele’),(87,’Bob’),(93,’lala’)],1:[(90,’.Aele’),(87,’Bob’),(93,’lala’)],2:[(90,’Aele’),(87,’Bob’),(93,’lala’)]}

3.B

4.B可行性報(bào)告產(chǎn)生于軟件定義階段,用于確定軟件項(xiàng)目是否進(jìn)行開發(fā)。

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

6.C外層循環(huán)用來遍歷字符串PYTHON,內(nèi)層循環(huán)用來控制輸出每個(gè)字符的次數(shù)。當(dāng)i==’H’時(shí),break結(jié)束內(nèi)層循環(huán),故輸出結(jié)果中只有一個(gè)’H’,其他字符均為兩個(gè)。本題選擇C選項(xiàng)。

7.A

8.DA選項(xiàng),Python是支持面向?qū)ο蟪绦蛟O(shè)計(jì)的;B選項(xiàng),并不是所有的函數(shù)庫都是采用Python語言編寫的,很多采用C、C++、Java等語言編寫的專業(yè)庫可以經(jīng)過簡單的接口封裝供Python程序調(diào)用;C選項(xiàng),Python中的內(nèi)置函數(shù)可以直接使用而不需要用import來導(dǎo)入。D選項(xiàng)說法正確。

9.Bcontinue語句用于中斷本次循環(huán)的執(zhí)行,繼續(xù)執(zhí)行下一輪循環(huán)的條件,而不是跳出當(dāng)前循環(huán);Python中的for、while循環(huán)都有一個(gè)可選的else子句,如果用break語句終止循環(huán),那么else語句將不會執(zhí)行。

10.A根據(jù)二叉樹的性質(zhì)3:在任意一棵二叉樹中,度為0的葉子結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)多一個(gè),所以本題中度為2的結(jié)點(diǎn)是5-1\n=4個(gè),所以度為1的結(jié)點(diǎn)的個(gè)數(shù)是25-5-4=16個(gè)。本題選擇A選項(xiàng)。

11.B文件打開模式中“w”表示覆蓋寫模式,文件不存在則創(chuàng)建,存在則完全覆蓋原文件。文件寫入方法中,writelines()直接將列表類型的各元素連接起來寫入文件中。此代碼就是將列表ls中的內(nèi)容整體寫入文件中。本題選擇B選項(xiàng)。

12.Cfor循環(huán)將字符串“PythonNCRE”的字符依次賦給變量S,當(dāng)s==“N”時(shí),跳出for循環(huán),故輸出為Python。本題選擇C選項(xiàng)。

13.A列表的索引序號是從0開始的,以此類推;使用append()函數(shù)可以向列表插入元素,但只能插入到列表的末尾;使用remove(x)函數(shù)是將列表中出現(xiàn)的第一個(gè)x元素刪除。

14.D對字符串中某個(gè)子串或區(qū)間的檢索稱為切片。切片的使用方式如下:\n<字符串或字符串變量>[N:M]\n切片獲取字符串從N到M(不包含M)的子字符串,其中N和M為字符串的索引序號,可以混合使用正向遞增序號和反向遞減序號。切片要求N和M都在字符串的索引區(qū)間,如果N大于等于M,則返回空字符串。如果N缺失,則默認(rèn)將N設(shè)為0;如果M缺失,則默認(rèn)表示到字符串結(jié)尾。\n題干中s[1:5]=’2345’,s[0:3]=’123’,s[一10:一5]=’12345’,s[0:4]=’1234’。

15.A實(shí)體完整性約束要求關(guān)系的主鍵中屬性值不能為空值,本題選擇A選項(xiàng)。

16.D

17.APython能處理的二進(jìn)制文件包含圖形圖像文件、音頻文件、視頻文件、可執(zhí)行文件、各種數(shù)據(jù)庫文件、各類Office文件等。

18.B二進(jìn)制文件也可以使用記事本或其他文本編輯器打開,但是一般來說無法正常查看其中的內(nèi)容;用內(nèi)置函數(shù)open()且以”w”模式打開文件,若文件存在,則會覆蓋原來的內(nèi)容而不會引發(fā)異常。本題選擇B選項(xiàng)。

19.Brange()函數(shù)只有一個(gè)參數(shù)時(shí)會產(chǎn)生從0開始計(jì)數(shù)到輸入?yún)?shù)的前一位整數(shù)結(jié)束的整數(shù)列表;有兩個(gè)參數(shù)時(shí),則將第一個(gè)參數(shù)作為起始位,第二個(gè)參數(shù)作為結(jié)束位,輸出從起始位到結(jié)束位的前一位的整數(shù)列表;有3個(gè)參數(shù)時(shí),第三個(gè)參數(shù)表示步長,起始位按照步長遞增或遞減。len(ls)函數(shù)返回列表ls的元素個(gè)數(shù)3。B選項(xiàng),foriinrange(len(s))中i的值分別為0、1、2,而在foriinls中每一步的i為‘1’、‘2’、‘3’,所以i的值不相同。本題選擇B選項(xiàng)。

20.B在函數(shù)中傳入的實(shí)參的值是1,函數(shù)執(zhí)行完后函數(shù)內(nèi)局部變量a為3,而函數(shù)中的局部變量a與函數(shù)外的全局變量a互不相干,所以全局變量a在函數(shù)執(zhí)行完仍然是1本題選擇B選項(xiàng)。

21.DPython控制結(jié)構(gòu)包括順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)及分支結(jié)構(gòu)。本題選擇D選項(xiàng)。

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

23.D文件打開模式如下?!癡”:只讀模式,如果文件不存在,返回異常FileNotFmindError,默認(rèn)值。“X”:創(chuàng)建寫模式,文件不存在則創(chuàng)建,存在則返回異常FileExlstsError?!皐”:覆蓋寫模式,文件不存在則創(chuàng)建,存在則完全覆蓋原文件?!癮”:追加寫模式,文件不存在則創(chuàng)建,存在則在原文件最后追加內(nèi)容。文件打開模式中沒有“n”。本題選擇D選項(xiàng)。

24.Arename():給文件重命名;getcwd():得到當(dāng)前工作目錄,即當(dāng)前Python腳本工作的目錄路徑;rmdir():刪除目錄。split():按給出的分隔符分隔字符串,返回的是列表類型。

25.B文件打開模式中w表示覆蓋寫模式,文件不存在則創(chuàng)建,存在則完全覆蓋原文件。文件寫入方法中,writelines表示直接將列表類型的各元素連接起來寫入文件中。此代碼就是將列表ls中的內(nèi)容整體寫入文件中,本題選B選項(xiàng)。

26.C該程序最外層是while循環(huán),while循環(huán)的條件是True,由此可知while內(nèi)的語句會無限循環(huán)。input()函數(shù)是用來獲取用戶從鍵盤輸入的內(nèi)容并以字符串類型返回。eval()函數(shù)是把字符串轉(zhuǎn)換成Python可用的語言。if語句的作用是來控制程序是否繼續(xù)循環(huán),判斷條件中0x452是十六進(jìn)制數(shù),對2整除的結(jié)果是553,如果用戶輸入的數(shù)據(jù)是553,則將結(jié)果輸出并終止循環(huán);如果輸入其他數(shù)據(jù),程序會一直要求用戶輸入直到輸入正確的數(shù)據(jù)才會終止循環(huán)。本題選C選項(xiàng)。

27.C元組與列表類似,可存儲不同類型的數(shù)據(jù);元組是不可改變的,創(chuàng)建后不能再做任何修改操作。本題選擇C選項(xiàng)。

28.A通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為軟件生命周期。也就是說,軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。

29.BPython總共有35個(gè)關(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)。

30.B列表索引從0開始,lisl[1]=lis2是為列表lis2賦值并覆蓋lisl[1]位置上的元素,運(yùn)算后lis1=[1,[‘loves’],[‘python’]]。本題選擇B選項(xiàng)。

31.Y

32.N

33.Y

34.Y

35.Y

36.Y

37.N

38.Y

39.N

40.N

41.{1:2,2:3}

42.'[1,2,3]'

43.4

44.[2,4]

45.set

46.'A'

47.[4,5]

48.id()

49.4

50.'ab:efg'

51.(1)fo=open(”PY301一1.txt”,”w”)classHorse():Def__init__(self,category,gender,age):self.category=categoryself.gender=genderself.age=ageself.horse_speed=0defget_descriptive(self):info=’thishorseis’+str(self.age)+’yearsold,’+’itscategory\r\nis’+self.category+’,’+'itsfenderis'+self.gender+’.’fo.write(info+”\\n”)defupdate_speed(self,new_speed):self.horse_speed=new_speedfo.write(’thespeedofthishorseis’+str(self.horse_speed)+”km/h.”)\r\nhorse=Horse("Arab","male","12")horse.get_deseriptive()horse.update_speed(50)fo.close()(2)fo=open(”PY301-2.txt”,”w”)classHorse():def__init__(self,category,gender,age):self.category=categoryself.gender=genderself.age=ageself.horse_speed=0defget_descriptive(self):info=’thishorseis’+str(self.age)+’yearsold,’+’itscategory\r\nis’+self.category+’,’+'itsfenderis’+self.gender+’.’fo.write(info+”\\n”)defupdate_speed(self,new_speed):self.horse_speed=new_speedfo.write(’thespeed0fthishorseis’+str(self.horse_speed)+”km/h.\\n”)classCamel(Horse):def_init_(self,category,gender,age):super()_init_(category,gender,age)self.hump_size=2defdescribe_hump_size(self):fo.write(’thiscamelhas’+str(self.hump_size)+’hump.’)camel=Camel(Doublehump","female","20")camel.get_descriptive()camel.update_speed(40)camel.describe_hump_size()fo.close()(1)文件的操作需要調(diào)用open()函數(shù)以寫模式打開文件。Python定義類使用的關(guān)鍵字是class,且類的名稱首字母要大寫。_init_()是類的特殊方法,當(dāng)根據(jù)Horse類創(chuàng)建新實(shí)例時(shí),Python都會自動運(yùn)行它。在這個(gè)方法中,開頭和結(jié)尾各有兩個(gè)下劃線,這是一種約定。_init_()方法中定義了四個(gè)形參:self、category、gender和age。在這個(gè)方法定義中形參self必不可少,且必須位于其他形參前面。每個(gè)定義的變量都要以self為前綴,以self為前綴的變量都可供類中的所有方法使用。調(diào)用方法需要?jiǎng)?chuàng)建實(shí)例,然后使用點(diǎn)號表示法來調(diào)用Horse類中定義的任何方法。使用write()方法將結(jié)果寫入到文件“PY301一1.txt”中,操作完成之后,調(diào)用close()方法關(guān)閉文件。(2)在“問題1”的基礎(chǔ)上又添加了一個(gè)Camel類,super。()是一個(gè)特殊函數(shù),幫助Python將父類和子類關(guān)聯(lián)起來。創(chuàng)建子類時(shí),父類必須包含在當(dāng)前文件中,且位于子類前面。定義子類時(shí),必須在括號內(nèi)指定父類的名稱。

52.count=0\r\n

whilecount<50:\r\n

count+=1\r\n

ifcount%2==0:\r\n

continue\r\n

print(count,end=”,”)判斷一個(gè)數(shù)是否為奇數(shù),即判斷這個(gè)數(shù)能否被2整除,可以被整除則為偶數(shù),結(jié)束本次循環(huán),使用continue語句;不可以被整除則為奇數(shù),輸出該數(shù)。while循環(huán)不具有自動計(jì)數(shù)的功能,所以需要定義一個(gè)變量,初始值為0,每經(jīng)過一次循環(huán),變量加1;當(dāng)變量超過50時(shí),停止循環(huán)。

53.(1)L=[]\r\n

fo=open("score.txt","r")\r\n

fi=open("candidate0.txt","w")\r\n

lines=fo.readlines()\r\n

forlineinlines:\r\n

line=line.strip()\r\n

student=line.split('')\r\n

sum=0\r\n

foriinrange(1,11):\r\n

sum+=int(student[-i])\r\n

studene.append(str(sum))\r\n

L.append(student):\r\n

L.sort(key=lambda.x:x[一1],reverse=True)\r\nforiinrange(10):\r\nfi.write('',join(L[i][:-1])+'\\n')\r\nfo.close()\r\nfi.close()(2)'''\r\n輸入文件:candidate0.txt\r\n輸出文件:candidate.txt\r\n'''\r\nfo=open("candidate0.txt","r")\r\nfi=open("candlidate.txt","w")\r\nL=[]#存儲候選人\r\nlines=fo.readlines()\r\nforlineinlines:\r\n

line=line.strip

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論