版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
河北省保定市全國計算機等級考試Python語言程序設(shè)計真題(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.以下關(guān)于Python的描述中,正確的是()。A.條件4<=5<=6是合法的,輸出False
B.條件4<=5<=6是不合法的
C.條件4<=5<=6是合法的,輸出True
D.條件4<=5<=6是不合法的,拋出異常
2.以下不屬于Python的pip工具命令的是()。
A.getB.installC.showD.download
3.在數(shù)據(jù)管理技術(shù)發(fā)展的三個階段中,數(shù)據(jù)共享最好的是()。
A.人工管理階段B.文件系統(tǒng)階段C.數(shù)據(jù)庫系統(tǒng)階段D.三個階段相同
4.數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是()。
A.數(shù)據(jù)庫的設(shè)計B.數(shù)據(jù)庫系統(tǒng)的設(shè)計C.數(shù)據(jù)庫的維護D.數(shù)據(jù)庫管理員的培訓(xùn)
5.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。A.軟件集成測試計劃B.軟件詳細設(shè)計說明書C.用戶手冊D.軟件需求規(guī)格說明書
6.以下程序的輸出結(jié)果是()。defadd(x): ifx>0: returnx+add(x-1) else: return0result=add(10)print(result)
A.0B.10C.55D.45
7.不屬于Python機器學(xué)習(xí)第三方庫的是()。
A.PylonsB.tensorflowC.kerasD.mxnet
8.程序流程圖中帶有箭頭的線段表示的是()。
A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系
9.以下關(guān)于Python文件打開模式的描述中,錯誤的是()。
A.只讀模式rB.覆蓋寫模式wC.追加寫模式aD.創(chuàng)建寫模式n
10.以下關(guān)于Python復(fù)數(shù)類型的描述中,錯誤的是()。
A.復(fù)數(shù)可以進行四則運算
B.實部不可以為0
C.Python中可以使用z.real和a.imag分別獲取它的實部和虛部
D.復(fù)數(shù)類型與數(shù)學(xué)中復(fù)數(shù)的概念一致
11.以下代碼的輸出結(jié)果是()。Is=[”2020”,”1903”,“Python”]Is.append(2050)Is.append([2020,"2020"])print(Is)
A.['2020','1903','Python',2020,[2050,'2020']]
B.['2020','1903','Python',2020]
C.['2020','1903','Python',2050,[2020,'2020']]
D.['2020','1903','Python',2050,['2020']]
12.下面說法錯誤的是()。
A.在UTF-8編碼中一個漢字需要占用3個字節(jié)
B.在GBK和CP936編碼中一個漢字需要占用2個字節(jié)
C.Python運算符“%”不僅可以用來求余數(shù),還可以用來格式化字符串
D.Python字符串方法replace()對字符串進行原地修改
13.以下關(guān)于文件的描述中,錯誤的是()。
A.文件是存儲在外存上的一組數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內(nèi)容
B.可以使用open()打開文件,用Close()關(guān)閉文件
C.使用read()可以從文件中讀入全部內(nèi)容
D.使用readlines()可以從文件中讀入一行內(nèi)容
14.以下代碼的輸出結(jié)果是()。defHello(famlyName,age):ifage>50:print("您好!”+famlyName+”奶奶”)elifage>40:print(“您好!”+famlyName+”阿姨”)elifage>30:print(”您好!”+famlyName+”姐姐”)else:print(“您好!”+”小”+famlyname)Hello(age=43,famlyName="趙")
A.您好!趙奶奶B.您好!趙阿姨C.您好!趙姐姐D.函數(shù)調(diào)用出錯
15.以下關(guān)于Python的描述正確的是()。
A.字典的創(chuàng)建必須使用dict()函數(shù)
B.列表和字符串屬于序列,但元組不屬于序列
C.Python只有一種內(nèi)置的映射類型,就是字典
D.字符串可以進行切片并賦值
16.S和T是兩個集合,對S&T的描述正確的是()。
A.S和T的交運算,包括同時在集合S和T中的元素
B.S和T的并運算,包括在集合S和T中的所有元素
C.S和T的差運算,包括在集合S但不在T中的元素
D.S和T的補運算,包括S和T中的幾個非相同元素
17.列表listV=list(range(10)),以下能夠輸出列表listV中最小元素的是()。
A.print(min(listV))
B.print(min(listV()))
C.print(listV.max())
D.print(listV.reverse(i)[0])
18.下列敘述中錯誤的是()。
A.向量屬于線性結(jié)構(gòu)B.二叉鏈表是二叉樹的存儲結(jié)構(gòu)C.棧和隊列是線性表D.循環(huán)鏈表是循環(huán)隊列的鏈式存儲結(jié)構(gòu)
19.以下程序的輸出結(jié)果是()。foriin“miss”: forjinrange(3): print(i,end=‘’) ifi==“i”: break
A.missmissmissB.mmmissssssC.mmmiiissssssD.mmmssssss
20.在Python中,可以作為源文件擴展名的是()。
A..pngB..pdfC..pyD..ppt
21.以下代碼的輸出結(jié)果是()。d={’food’:{’cake’:1,’egg’:5}}print(d.get(’egg’,’nothisfood’))
A.eggB.1C.foodD.nothisfood
22.以下對Python文件處理的描述中,錯誤的是()。
A.當(dāng)文件以文本方式打開時,讀/寫按照字節(jié)流方式
B.Python能夠以文本和二進制兩種方式處理文件
C.Python通過解釋器內(nèi)置的open()函數(shù)打開一個文件
D.文件使用結(jié)束后可以用close()方法關(guān)閉,釋放文件的使用授權(quán)
23.以下選項中不是Python文件讀/寫操作方法的是()。
A.write()B.writelines()C.readtext()D.read()
24.以下關(guān)于文件的描述中,錯誤的是()。
A.文件是存儲在輔助存儲器上的一組數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內(nèi)容
B.可以使用open()打開文件,用close()關(guān)閉文件
C.使用read()可以從文件中讀入全部文本
D.使用readlines()可以從文件中讀入一行文本
25.以下代碼的輸出結(jié)果是()。a=10.99print(complex(a))
A.0.99B.10.99i+iC.10.99D.(10.99+0j)
26.以下程序的輸出結(jié)果是()。try:print((3+4j)*(3-4j))except:print(”運算錯誤!!”)
A.(25+0j)B.5C.運算錯誤!!D.3
27.關(guān)于以下程序的描述中,正確的是()。.deffunc(a,b): c=a**2+b b=a returnca=10b=2c=func(b,a)+a
A.執(zhí)行該函數(shù)后,變量c的值為112
B.該函數(shù)名稱為fun
C.執(zhí)行該函數(shù)后,變量b的值為2
D.執(zhí)行該函數(shù)后,變量b的值為10
28.以下程序Dog類中的__init__()方法共包含幾個形參()。ClassDog(): def__init__(self,name,age) self.name=name self.age=age
A.0個B.1個C.2個D.3個
29.s=‘1234567890’,以下表示‘1234’的是()。A.s[1:5]B.s[0:3]C.s[-10:-5]D.s[0:4]
30.下面關(guān)于遞歸函數(shù),描述錯誤的是()。
A.遞歸函數(shù)必須有一個明確的結(jié)束條件
B.遞歸函數(shù)就是一個函數(shù)在內(nèi)部調(diào)用自身本身
C.遞歸效率不高,遞歸層次過多會導(dǎo)致棧溢出
D.每進入更深一層的遞歸時,問題規(guī)模相對于前一次遞歸是不變的
二、判斷題(10題)31.創(chuàng)建只包含一個元素的元組時,必須在元素后面加一個逗號,例如(3,)。
A.是B.否
32.表達式{1,3,2}>{1,2,3}的值為True。
A.是B.否
33.二進制文件也可以使用記事本或其他文本編輯器打開,但是一般來說無法正常查看其中的內(nèi)容。
A.是B.否
34.表達式{}==None的值為True。
A.是B.否
35.Python標準庫os中的方法isfile()可以用來測試給定的路徑是否為文件。
A.是B.否
36.在異常處理結(jié)構(gòu)中,不論是否發(fā)生異常,finally子句中的代碼總是會執(zhí)行的。
A.是B.否
37.可以使用del刪除集合中的部分元素。
A.是B.否
38.0o12f是合法的八進制數(shù)字。
A.是B.否
39.Python集合不支持使用下標訪問其中的元素。
A.是B.否
40.元組是不可變的,不支持列表對象的inset()、remove()等方法,也不支持del命令刪除其中的元素,但可以使用del命令刪除整個元組對象。
A.是B.否
三、填空題(10題)41.表達式3**2的值為_________。
42.列表、元組、字符串是Python的_________(有序?無序)序列。
43.假設(shè)正則表達式模塊re已導(dǎo)入,那么表達式re.sub('\d+','1','a12345bbbb67c890d0e')的值為_____________________。
44.已知函數(shù)定義deffunc(**p):return''.join(sorted(p)),那么表達式func(x=1,y=2,z=3)的值為__________。
45.表達式list(range(50,60,3))的值為_______________________。
46.表達式list(filter(None,[0,1,2,3,0,0]))的值為___________________。
47.代碼foriinrange(3):print(i,end=',')的執(zhí)行結(jié)果為_________________。
48.表達式'abcab'.strip('ab')的值為__________。
49.表達式'abc10'.isalpha()的值為________________。
50.表達式str([1,2,3])的值為__________________。
四、操作題(3題)51.考生文件夾下存在兩個Python源文件,分別對應(yīng)兩個問題,請按照文件內(nèi)說明修改代碼,實現(xiàn)以下功能:馬和駱駝都是哺乳動物的一種,它們都有四只腳,體型也差不多大,作為現(xiàn)實世界中的一個類生物,我們將在這里為它們編寫屬于它們各自的類。
問題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”。
試題程序:
#以下代碼為提示框架
#請在…處使用一行或多行代碼替換
#請在_____處使用一行代碼替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準
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),這個類繼承自上一個文件中的馬類但是不對馬類中的屬性和方法進行操作。因為每個駱駝的駝峰數(shù)量不一致,我們在類中添加駝峰數(shù)目這個新屬性,并且添加一個打印出駱駝駝峰數(shù)量的方法。
例如:一個雙峰駝20歲的母駱駝以每小時40千米的速度奔跑在沙漠中,調(diào)用父類的方法和Camel類本身的方法將結(jié)果保存在“PY301—2.txt”中,保存在考生文件夾下。試題程序:#以下代碼為提示框架#請在…處使用一行或多行代碼替換
#請在________處使用一行代碼替換
#注意:提示框架代碼可以任意修改,以完成程序功能為準
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()
52.考生文件夾下存在一個文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改,請在該文件中編寫代碼,以實現(xiàn)如下功能。輸出九九乘法表。按照乘法表的格式輸出九九乘法表,并將輸出的結(jié)果保存在考生文件夾下,命名為“PY202.txt”。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準fo=open("PY202.txt","w")fo.close()
53.某班學(xué)生評選一等獎學(xué)金,學(xué)生的10門主干課成績存在考生文件夾下文件score.txt中,每行為一個學(xué)生的信息,分別記錄了學(xué)生學(xué)號、姓名以及10門課成績,格式如下:
1820161043
鄭珉鎬68668377567361696678
1820161044
沈紅偉91708l919680789l8994
從這些學(xué)生中選出獎學(xué)金候選人,條件是:①總成績排名在前10名;②全部課程及格(成績大于等于60)。
問題1:給出按總成績從高到低排序的前10名學(xué)生名單,并寫入文件candidate0.txt,每行記錄一個學(xué)生的信息,分別為學(xué)生學(xué)號、姓名以及10門課成績。補充考生文件夾下文件PY301一1.py,完成這一功能。試題程序:
#請在…處使用多行代碼替換
##注意:其他已給出代碼僅作為提示,可以修改L=[]
#L中的元素是學(xué)生原始成績和總成績
…#此處可多行
L.sort(key=lambdax:x[一1],reverse=True)拌按學(xué)生總成績從大到小排序
…#此處可多行
問題2:讀取文件candidate0.txt,從中選出候選人,并將學(xué)號和姓名寫入文件candidate.txt,格式如下:
1010112161722
張三
1010112161728
李四
補充考生文件夾下文件PY301—2.py,完成這一功能。
試題程序:'''輸入文件:candidate0.txt輸出文件:candidate.txt'''
參考答案
1.C判斷條件4<=5<=6是成立的,故輸出True。本題選擇C選項。
2.Ainstall命令用于安裝第三方庫;show命令是列出某個已經(jīng)安裝的庫的詳細信息;download命令用于下載第三方庫的安裝包,但并不安裝。get不屬于pip工具的命令。本題選擇A選項。
3.C數(shù)據(jù)管理發(fā)展至今已經(jīng)歷了三個階段:人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中最后一個階段結(jié)構(gòu)簡單,使用方便邏輯性強物理性少,在各方面的表現(xiàn)都最好,一直占據(jù)數(shù)據(jù)庫領(lǐng)域的主導(dǎo)地位,所以選擇C)。
4.A數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是數(shù)據(jù)庫的設(shè)計。本題選擇A選項。
5.D需求分析階段的工作可以概括為:需求獲取、需求分析、編寫需求規(guī)格說明書、需求評審四個方面。所以選擇D。
6.C該函數(shù)是一個遞歸函數(shù),用來計算1到10之間的所有數(shù)的和,使用函數(shù)時必須調(diào)用函數(shù),即函數(shù)名(<參數(shù)>),也可以將函數(shù)對象實例化。結(jié)果為55。本題選擇C選項。
7.APylons是基于Python的一個Web開發(fā)框架的第三方庫,keras、tensorflow和mxnet是Python機器學(xué)習(xí)領(lǐng)域的第三方庫。
8.C解析:程序流程圖是人們對解決問題的方法、思路或算法的一種描述。其中,圖框表示各種操作的類型,圖框中的文字和符號表示操作的內(nèi)容,流程線表示操作的先后次序。帶箭頭的線段在數(shù)據(jù)流程圖中表示數(shù)據(jù)流。帶箭頭的線段在程序流程圖中表示控制流。題中給出的選項中,在圖元之間用帶有箭頭的線段表示圖元關(guān)系。在模塊之間用帶有箭頭的線段表示調(diào)用關(guān)系。構(gòu)成程序流程圖的基本圖符及含義:→或↓表示控制流;□表示加工步驟;
表示邏輯條件。
9.D文件打開模式有:\nr:只讀模式,如果文件不存在,返回異常FileNotFoundError,默認值。\nx:創(chuàng)建寫模式,文件不存在則創(chuàng)建,存在則返回異常FileExistsError。\nw:覆蓋寫模式,文件不存在則創(chuàng)建,存在則完全覆蓋原文件。\na:追加寫模式,文件不存在則創(chuàng)建,存在則在原文件最后追加內(nèi)容。\n文件打開模式中沒有n,故D項錯誤。
10.B在Python中,復(fù)數(shù)類型表示數(shù)學(xué)中的復(fù)數(shù),D選項正確。復(fù)數(shù)可以看作二元有序?qū)崝?shù)對(a,b),表示a+bj,其中a是實數(shù)部分,簡稱實部;b是虛數(shù)部分,簡稱虛部。虛數(shù)部分通過后綴“J”或“j”來表示,實部、虛部都可為0,B選項錯誤。復(fù)數(shù)可以進行四則運算,A選項正確。復(fù)數(shù)類型中,實部和虛部都是浮點類型。對于復(fù)數(shù)z,可以使用z.real和a.imag分別獲取它的實部和虛部,C選項正確。本題選擇B選項。
11.C要向列表中添加元素,可以使用append()方法,添加的元素類型可以不同,可以是數(shù)字、字符串、列表等,要注意的是append()方法不能同時添加多個元素。本題選擇C選項。
12.D字符串方法replace()用來替換字符串中指定字符或子字符串的所有重復(fù)出現(xiàn),每次只能替換一個字符或一個字符串,把指定的字符串參數(shù)作為一個整體對待。該方法并不修改原字符串,而是返回一個新字符串。本題選擇D選項。
13.D文件是存儲在外存上的一組數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內(nèi)容。A選項正確??梢允褂胦pen()打開文件,close()關(guān)閉文件,B選項正確。在Python中,文件的讀取方法(f代表文件變量)如下。f.read():從文件中讀人全部內(nèi)容。f.readline():從文件中讀入一行內(nèi)容。f.readlineS():從文件中讀入所有行,以每行內(nèi)容為元素形成一個列表。f.seek()改變當(dāng)前文件操作指針的位置。C選項正確。本題選擇D選項。
14.B將實參age=43、famlyName=\n”趙”分別賦給形參age和famlyName,之后進入多分支結(jié)構(gòu)進行判斷。因為40
15.Cdict()函數(shù)和{}都可以創(chuàng)建字典;序列類型包括列表、元組及字符串;字符串可以切片訪問,但是不能賦值。本題選擇C選項。
16.AS&T返回一個新集合,包括同時在集合S和T中的元素。本題選擇A選項。
17.A列表操作函數(shù)如下(假設(shè)列表名為ls)。len(ls):返回列表ls的元素個數(shù)(長度)。min(ls):返回列表ls的最小元素。max(ls):返回列表ls的最大元素。llst(x):將x轉(zhuǎn)變?yōu)榱斜眍愋?。使用min(ls)和max(ls)的前提是列表中各元素類型可以進行比較。如果列表元素不能比較,使用這兩個函數(shù)將會報錯。本題選擇A選項。
18.D循環(huán)鏈表是線性表的一種鏈式存儲結(jié)構(gòu),循環(huán)隊列是隊列的一種順序存儲結(jié)構(gòu)。因此D選項敘述錯誤。
19.B外層for循環(huán)依次將字符串“mlss”中的字符賦給變量i,內(nèi)層for控制循環(huán)3次,注意是先執(zhí)行print再判斷if條件,輸出第一個i后,碰到if判斷條件,當(dāng)i==“i”時退出內(nèi)層循環(huán),所以結(jié)果為mmmlssssss。本題選擇B選項。
20.C在Python中,源文件的擴展名一般使用.py。本題選擇C選項。
21.D根據(jù)字典的索引方式可知,d.get(’egg’,’nothisfood’)索引的是字典第一層,但是第一層只有鍵food,沒有鍵egg,故索引不出值,輸出的是“nothisfood”。
22.A文件包括文本文件和二進制文件兩種類型。Python對文本文件和二進制文件采用統(tǒng)一的操作步驟,即“打開-操作-關(guān)閉”,B選項正確。采用文本方式讀入文件,文件經(jīng)過編碼形成字符串,輸出有含義的字符;采用二進制方式打開文件,文件被解析為字節(jié)流,A選項錯誤。Python通過open()函數(shù)打開一個文件,并返回一個操作這個文件的變量,語法格式為<變置名>=open(<文件路徑及文件名>,<打開模式>\n),C選項正確。文件使用結(jié)束后要用clooe()方法關(guān)閉,釋放文件的使用授權(quán),語法格式為<變置名>dose()\n,D選項正確。本題選擇A選項。
23.Cwrite():向文件寫人一個字符或字節(jié)流。wrkelines():將一個元素作為字符串的列表整體寫入文件。read():從文件中讀入整個文件內(nèi)容。本題選擇C選項。
24.D文件是存儲在輔助存儲器上的一組數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內(nèi)容,A選項正確。可以使用open()打開文件,用close()關(guān)閉文件,B選項正確。在Python中,文件讀取方法如下(f代表文件變量)。f.read():從文件中讀入整個文件內(nèi)容。f.readline():從文件中讀入一行內(nèi)容。f.readlineS():從文件中讀入所有行,以每行為元素形成一個列表。f.seek():改變當(dāng)前文件操作指針的位置。C選項正確。本題選擇D選項。
25.Da=10.99,說明實部為10.99,虛部為0,故complex(a)返回復(fù)數(shù)10.99+0j。
26.A(3+4j)*(3-4j)是復(fù)數(shù)的乘法運算。設(shè)c1=a+bj,c2=c+dj(a、b、c、d均為實數(shù)),c1*c2=\n(ac-bd)+(bc+ad)j0結(jié)果是(25+0j)。本題選擇A選項。
27.C程序中,將實參b的值傳給形參a,將實參a的值傳給形參b,則在函數(shù)體中c=2**2+10=14,函數(shù)返回14,則實參c=14+10=24;形參a和b在函數(shù)結(jié)束后會自動釋放,并沒有影響到實參a和b的值,故實參a仍然是10,實參b仍然是2。本題選擇C選項。
28.D__init__()方法是一個特殊的方法,每當(dāng)根據(jù)類創(chuàng)建新實例時,Python就會自動運行該方法。該方法的開頭和結(jié)尾各有兩個下劃線,這是一種約定,旨在避免Python的默認方法和普通方法發(fā)生命名沖突。self、name、age都是__init__()方法的形參,所以共3個。本題選擇D選項。
29.D對字符串中某個子串或區(qū)間的檢索稱為切片。切片的使用方式如下。<字符串或字符串變量>[N:M]切片獲取字符串從N到M(不包含M)的子字符串,其中N和M為字符串的索引,可以混合使用正向遞增索引和反向遞減索引。切片要求N和M都在字符串的索引區(qū)間,如果N大于等于M,則返回空字符串。如果N缺失,則默認將N設(shè)為0;如果M缺失,則默認表示到字符串結(jié)尾。題干中s[1:5]=‘2345’,s[0:3]=‘1231’,s[-10:-5]=‘12345’,s[0:4]=‘1234’。本題選擇D選項。
30.DA選項正確,遞歸函數(shù)必須要有一個明確的結(jié)束條件作為遞歸的出口;B選項正是遞歸函數(shù)的含義,正確;C選項正確,在計算機中,函數(shù)調(diào)用是通過棧這種數(shù)據(jù)結(jié)構(gòu)實現(xiàn)的,每當(dāng)進入一個函數(shù)調(diào)用,棧就會加一層棧幀,每當(dāng)函數(shù)返回,棧就會減一層棧幀,由于棧的大小不是無限的,所以,遞歸調(diào)用的次數(shù)過多,會導(dǎo)致棧溢出;D選項,每當(dāng)進入更深一層的遞歸時,問題規(guī)模顯然會相對前一次遞歸減小。
31.Y
32.N
33.Y
34.N
35.Y
36.Y
37.N
38.N
39.Y
40.Y
41.9
42.有序
43.'a1bbbb1c1d1e'
44.'xyz'
45.[50,53,56,59]
46.[1,2,3]
47.0,1,2,
48.'c'
49.False
50.'[1,2,3]'
51.(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)建新實例時,Python都會自動運行它。在這個方法中,開頭和結(jié)尾各有兩個下劃線,這是一種約定。_init_()方法中定義了四個形參:self、category、gender和age。在這個方法定義中形參self必不可少,且必須位于其他形參前面。每個定義的變量都要以self為前綴,以self為前綴的變量都可供類中的所有方法使用。調(diào)用方法需要創(chuàng)建實例,然后使用點號表示法來調(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)指定父類的名稱。
52.fo=open("PY202.txt","w")Foriinrange(1,10):Forjinrange(1,i+1):Fowrite(“{}={}={}”.format(j,i,i*j))Fo.write(“\\n”)fo.close()輸出《九九乘法表》,首先要先查看乘法表的規(guī)律,乘法表豎向是1-9,橫向的每行是從1到每行的行號,所以可以使用兩個for循環(huán)遍歷輸出。格式可以使用format()方法控制,最后把輸出的《九九乘法表》存入文件\r\nPY202.txt中。
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\nforlineinline
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版商鋪出租合同樣本3篇
- 2024物業(yè)管理系統(tǒng)托管服務(wù)合同
- 2024年標準簡易借款合同模板版B版
- 2024年高清安防監(jiān)控系統(tǒng)安裝協(xié)議版B版
- 2024版測量技術(shù)員勞動協(xié)議范本版B版
- 2024年科技型中小企業(yè)借款擔(dān)保服務(wù)協(xié)議3篇
- 2025年度影視拍攝車輛租賃及場景搭建續(xù)約協(xié)議3篇
- 2024年許可使用合同:知名品牌商標使用許可協(xié)議
- 2024年股權(quán)轉(zhuǎn)讓介紹協(xié)議
- 2024版攝影棚居間合同
- 2023年全國統(tǒng)一建筑工程預(yù)算工程量計算規(guī)則完整版
- 大學(xué)《工程力學(xué)》期末考試試題庫含詳細答案
- cn.7a一種醬香型大曲酒固態(tài)發(fā)酵的生態(tài)控制方法
- TLFSA 003-2020 危害分析與關(guān)鍵控制點(HACCP)體系調(diào)味面制品生產(chǎn)企業(yè)要求
- LY/T 2244.3-2014自然保護區(qū)保護成效評估技術(shù)導(dǎo)則第3部分:景觀保護
- GB/T 8491-2009高硅耐蝕鑄鐵件
- 供水安全與搶修
- DB31 595-2021 冷庫單位產(chǎn)品能源消耗指標
- 第三章果蔬采后生理課件
- 【英語手寫體】26英文字母手寫體描紅書寫字帖
- 實習(xí)護生壓瘡相關(guān)知識掌握情況及預(yù)防態(tài)度的調(diào)查問卷
評論
0/150
提交評論