版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
河北省保定市全國計(jì)算機(jī)等級(jí)考試Python語言程序設(shè)計(jì)真題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(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ā)展的三個(gè)階段中,數(shù)據(jù)共享最好的是()。
A.人工管理階段B.文件系統(tǒng)階段C.數(shù)據(jù)庫系統(tǒng)階段D.三個(gè)階段相同
4.數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是()。
A.數(shù)據(jù)庫的設(shè)計(jì)B.數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)C.數(shù)據(jù)庫的維護(hù)D.數(shù)據(jù)庫管理員的培訓(xùn)
5.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。A.軟件集成測(cè)試計(jì)劃B.軟件詳細(xì)設(shè)計(jì)說明書C.用戶手冊(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機(jī)器學(xué)習(xí)第三方庫的是()。
A.PylonsB.tensorflowC.kerasD.mxnet
8.程序流程圖中帶有箭頭的線段表示的是()。
A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系
9.以下關(guān)于Python文件打開模式的描述中,錯(cuò)誤的是()。
A.只讀模式rB.覆蓋寫模式wC.追加寫模式aD.創(chuàng)建寫模式n
10.以下關(guān)于Python復(fù)數(shù)類型的描述中,錯(cuò)誤的是()。
A.復(fù)數(shù)可以進(jìn)行四則運(yùn)算
B.實(shí)部不可以為0
C.Python中可以使用z.real和a.imag分別獲取它的實(shí)部和虛部
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.下面說法錯(cuò)誤的是()。
A.在UTF-8編碼中一個(gè)漢字需要占用3個(gè)字節(jié)
B.在GBK和CP936編碼中一個(gè)漢字需要占用2個(gè)字節(jié)
C.Python運(yùn)算符“%”不僅可以用來求余數(shù),還可以用來格式化字符串
D.Python字符串方法replace()對(duì)字符串進(jìn)行原地修改
13.以下關(guān)于文件的描述中,錯(cuò)誤的是()。
A.文件是存儲(chǔ)在外存上的一組數(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)用出錯(cuò)
15.以下關(guān)于Python的描述正確的是()。
A.字典的創(chuàng)建必須使用dict()函數(shù)
B.列表和字符串屬于序列,但元組不屬于序列
C.Python只有一種內(nèi)置的映射類型,就是字典
D.字符串可以進(jìn)行切片并賦值
16.S和T是兩個(gè)集合,對(duì)S&T的描述正確的是()。
A.S和T的交運(yùn)算,包括同時(shí)在集合S和T中的元素
B.S和T的并運(yùn)算,包括在集合S和T中的所有元素
C.S和T的差運(yùn)算,包括在集合S但不在T中的元素
D.S和T的補(bǔ)運(yùn)算,包括S和T中的幾個(gè)非相同元素
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.下列敘述中錯(cuò)誤的是()。
A.向量屬于線性結(jié)構(gòu)B.二叉鏈表是二叉樹的存儲(chǔ)結(jié)構(gòu)C.棧和隊(duì)列是線性表D.循環(huán)鏈表是循環(huán)隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
19.以下程序的輸出結(jié)果是()。foriin“miss”: forjinrange(3): print(i,end=‘’) ifi==“i”: break
A.missmissmissB.mmmissssssC.mmmiiissssssD.mmmssssss
20.在Python中,可以作為源文件擴(kuò)展名的是()。
A..pngB..pdfC..pyD..ppt
21.以下代碼的輸出結(jié)果是()。d={’food’:{’cake’:1,’egg’:5}}print(d.get(’egg’,’nothisfood’))
A.eggB.1C.foodD.nothisfood
22.以下對(duì)Python文件處理的描述中,錯(cuò)誤的是()。
A.當(dāng)文件以文本方式打開時(shí),讀/寫按照字節(jié)流方式
B.Python能夠以文本和二進(jìn)制兩種方式處理文件
C.Python通過解釋器內(nèi)置的open()函數(shù)打開一個(gè)文件
D.文件使用結(jié)束后可以用close()方法關(guān)閉,釋放文件的使用授權(quán)
23.以下選項(xiàng)中不是Python文件讀/寫操作方法的是()。
A.write()B.writelines()C.readtext()D.read()
24.以下關(guān)于文件的描述中,錯(cuò)誤的是()。
A.文件是存儲(chǔ)在輔助存儲(chǔ)器上的一組數(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(”運(yùn)算錯(cuò)誤!!”)
A.(25+0j)B.5C.運(yùn)算錯(cuò)誤!!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__()方法共包含幾個(gè)形參()。ClassDog(): def__init__(self,name,age) self.name=name self.age=age
A.0個(gè)B.1個(gè)C.2個(gè)D.3個(gè)
29.s=‘1234567890’,以下表示‘1234’的是()。A.s[1:5]B.s[0:3]C.s[-10:-5]D.s[0:4]
30.下面關(guān)于遞歸函數(shù),描述錯(cuò)誤的是()。
A.遞歸函數(shù)必須有一個(gè)明確的結(jié)束條件
B.遞歸函數(shù)就是一個(gè)函數(shù)在內(nèi)部調(diào)用自身本身
C.遞歸效率不高,遞歸層次過多會(huì)導(dǎo)致棧溢出
D.每進(jìn)入更深一層的遞歸時(shí),問題規(guī)模相對(duì)于前一次遞歸是不變的
二、判斷題(10題)31.創(chuàng)建只包含一個(gè)元素的元組時(shí),必須在元素后面加一個(gè)逗號(hào),例如(3,)。
A.是B.否
32.表達(dá)式{1,3,2}>{1,2,3}的值為True。
A.是B.否
33.二進(jìn)制文件也可以使用記事本或其他文本編輯器打開,但是一般來說無法正常查看其中的內(nèi)容。
A.是B.否
34.表達(dá)式{}==None的值為True。
A.是B.否
35.Python標(biāo)準(zhǔn)庫os中的方法isfile()可以用來測(cè)試給定的路徑是否為文件。
A.是B.否
36.在異常處理結(jié)構(gòu)中,不論是否發(fā)生異常,finally子句中的代碼總是會(huì)執(zhí)行的。
A.是B.否
37.可以使用del刪除集合中的部分元素。
A.是B.否
38.0o12f是合法的八進(jìn)制數(shù)字。
A.是B.否
39.Python集合不支持使用下標(biāo)訪問其中的元素。
A.是B.否
40.元組是不可變的,不支持列表對(duì)象的inset()、remove()等方法,也不支持del命令刪除其中的元素,但可以使用del命令刪除整個(gè)元組對(duì)象。
A.是B.否
三、填空題(10題)41.表達(dá)式3**2的值為_________。
42.列表、元組、字符串是Python的_________(有序?無序)序列。
43.假設(shè)正則表達(dá)式模塊re已導(dǎo)入,那么表達(dá)式re.sub('\d+','1','a12345bbbb67c890d0e')的值為_____________________。
44.已知函數(shù)定義deffunc(**p):return''.join(sorted(p)),那么表達(dá)式func(x=1,y=2,z=3)的值為__________。
45.表達(dá)式list(range(50,60,3))的值為_______________________。
46.表達(dá)式list(filter(None,[0,1,2,3,0,0]))的值為___________________。
47.代碼foriinrange(3):print(i,end=',')的執(zhí)行結(jié)果為_________________。
48.表達(dá)式'abcab'.strip('ab')的值為__________。
49.表達(dá)式'abc10'.isalpha()的值為________________。
50.表達(dá)式str([1,2,3])的值為__________________。
四、操作題(3題)51.考生文件夾下存在兩個(gè)Python源文件,分別對(duì)應(yīng)兩個(gè)問題,請(qǐng)按照文件內(nèi)說明修改代碼,實(shí)現(xiàn)以下功能:馬和駱駝都是哺乳動(dòng)物的一種,它們都有四只腳,體型也差不多大,作為現(xiàn)實(shí)世界中的一個(gè)類生物,我們將在這里為它們編寫屬于它們各自的類。
問題1:在PY301一1.py文件中修改代碼,代碼中編寫了一個(gè)馬(Home)的類,在這個(gè)類中馬有三個(gè)屬性,分別是年齡(age)、品種(category)和性別(gender)。在每創(chuàng)建一個(gè)馬的對(duì)象時(shí),我們需要為其指定它的年齡、品種和性別。該類中還編寫一個(gè)get_deseriptive()方法,能夠打印出馬的這三個(gè)屬性。每一匹馬都有自己的最快速度,所以類中有一個(gè)speed()方法,可以打印出馬的最快速度值。并且在馬的生命過程中,它的速度一直在變,類中還有一個(gè)update_speed()方法用來更新馬當(dāng)前的最快速度值。
例如:一匹12歲的阿拉伯公馬,在草原上奔跑的速度為50km/h,要求調(diào)用get_descriptive()和update_speed()方法,將輸出的結(jié)果保存在考生文件夾下,文件命名為“PY301—1.txt”。
試題程序:
#以下代碼為提示框架
#請(qǐng)?jiān)凇幨褂靡恍谢蚨嘈写a替換
#請(qǐng)?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ì)悾–amel),這個(gè)類繼承自上一個(gè)文件中的馬類但是不對(duì)馬類中的屬性和方法進(jìn)行操作。因?yàn)槊總€(gè)駱駝的駝峰數(shù)量不一致,我們?cè)陬愔刑砑玉劮鍞?shù)目這個(gè)新屬性,并且添加一個(gè)打印出駱駝駝峰數(shù)量的方法。
例如:一個(gè)雙峰駝20歲的母駱駝以每小時(shí)40千米的速度奔跑在沙漠中,調(diào)用父類的方法和Camel類本身的方法將結(jié)果保存在“PY301—2.txt”中,保存在考生文件夾下。試題程序:#以下代碼為提示框架#請(qǐng)?jiān)凇幨褂靡恍谢蚨嘈写a替換
#請(qǐng)?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()
52.考生文件夾下存在一個(gè)文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改,請(qǐng)?jiān)谠撐募芯帉懘a,以實(shí)現(xiàn)如下功能。輸出九九乘法表。按照乘法表的格式輸出九九乘法表,并將輸出的結(jié)果保存在考生文件夾下,命名為“PY202.txt”。試題程序:#以下代碼為提示框架#請(qǐng)?jiān)?..處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fo=open("PY202.txt","w")fo.close()
53.某班學(xué)生評(píng)選一等獎(jiǎng)學(xué)金,學(xué)生的10門主干課成績存在考生文件夾下文件score.txt中,每行為一個(gè)學(xué)生的信息,分別記錄了學(xué)生學(xué)號(hào)、姓名以及10門課成績,格式如下:
1820161043
鄭珉鎬68668377567361696678
1820161044
沈紅偉91708l919680789l8994
從這些學(xué)生中選出獎(jiǎng)學(xué)金候選人,條件是:①總成績排名在前10名;②全部課程及格(成績大于等于60)。
問題1:給出按總成績從高到低排序的前10名學(xué)生名單,并寫入文件candidate0.txt,每行記錄一個(gè)學(xué)生的信息,分別為學(xué)生學(xué)號(hào)、姓名以及10門課成績。補(bǔ)充考生文件夾下文件PY301一1.py,完成這一功能。試題程序:
#請(qǐng)?jiān)凇幨褂枚嘈写a替換
##注意:其他已給出代碼僅作為提示,可以修改L=[]
#L中的元素是學(xué)生原始成績和總成績
…#此處可多行
L.sort(key=lambdax:x[一1],reverse=True)拌按學(xué)生總成績從大到小排序
…#此處可多行
問題2:讀取文件candidate0.txt,從中選出候選人,并將學(xué)號(hào)和姓名寫入文件candidate.txt,格式如下:
1010112161722
張三
1010112161728
李四
補(bǔ)充考生文件夾下文件PY301—2.py,完成這一功能。
試題程序:'''輸入文件:candidate0.txt輸出文件:candidate.txt'''
參考答案
1.C判斷條件4<=5<=6是成立的,故輸出True。本題選擇C選項(xiàng)。
2.Ainstall命令用于安裝第三方庫;show命令是列出某個(gè)已經(jīng)安裝的庫的詳細(xì)信息;download命令用于下載第三方庫的安裝包,但并不安裝。get不屬于pip工具的命令。本題選擇A選項(xiàng)。
3.C數(shù)據(jù)管理發(fā)展至今已經(jīng)歷了三個(gè)階段:人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中最后一個(gè)階段結(jié)構(gòu)簡單,使用方便邏輯性強(qiáng)物理性少,在各方面的表現(xiàn)都最好,一直占據(jù)數(shù)據(jù)庫領(lǐng)域的主導(dǎo)地位,所以選擇C)。
4.A數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是數(shù)據(jù)庫的設(shè)計(jì)。本題選擇A選項(xiàng)。
5.D需求分析階段的工作可以概括為:需求獲取、需求分析、編寫需求規(guī)格說明書、需求評(píng)審四個(gè)方面。所以選擇D。
6.C該函數(shù)是一個(gè)遞歸函數(shù),用來計(jì)算1到10之間的所有數(shù)的和,使用函數(shù)時(shí)必須調(diào)用函數(shù),即函數(shù)名(<參數(shù)>),也可以將函數(shù)對(duì)象實(shí)例化。結(jié)果為55。本題選擇C選項(xiàng)。
7.APylons是基于Python的一個(gè)Web開發(fā)框架的第三方庫,keras、tensorflow和mxnet是Python機(jī)器學(xué)習(xí)領(lǐng)域的第三方庫。
8.C解析:程序流程圖是人們對(duì)解決問題的方法、思路或算法的一種描述。其中,圖框表示各種操作的類型,圖框中的文字和符號(hào)表示操作的內(nèi)容,流程線表示操作的先后次序。帶箭頭的線段在數(shù)據(jù)流程圖中表示數(shù)據(jù)流。帶箭頭的線段在程序流程圖中表示控制流。題中給出的選項(xiàng)中,在圖元之間用帶有箭頭的線段表示圖元關(guān)系。在模塊之間用帶有箭頭的線段表示調(diào)用關(guān)系。構(gòu)成程序流程圖的基本圖符及含義:→或↓表示控制流;□表示加工步驟;
表示邏輯條件。
9.D文件打開模式有:\nr:只讀模式,如果文件不存在,返回異常FileNotFoundError,默認(rèn)值。\nx:創(chuàng)建寫模式,文件不存在則創(chuàng)建,存在則返回異常FileExistsError。\nw:覆蓋寫模式,文件不存在則創(chuàng)建,存在則完全覆蓋原文件。\na:追加寫模式,文件不存在則創(chuàng)建,存在則在原文件最后追加內(nèi)容。\n文件打開模式中沒有n,故D項(xiàng)錯(cuò)誤。
10.B在Python中,復(fù)數(shù)類型表示數(shù)學(xué)中的復(fù)數(shù),D選項(xiàng)正確。復(fù)數(shù)可以看作二元有序?qū)崝?shù)對(duì)(a,b),表示a+bj,其中a是實(shí)數(shù)部分,簡稱實(shí)部;b是虛數(shù)部分,簡稱虛部。虛數(shù)部分通過后綴“J”或“j”來表示,實(shí)部、虛部都可為0,B選項(xiàng)錯(cuò)誤。復(fù)數(shù)可以進(jìn)行四則運(yùn)算,A選項(xiàng)正確。復(fù)數(shù)類型中,實(shí)部和虛部都是浮點(diǎn)類型。對(duì)于復(fù)數(shù)z,可以使用z.real和a.imag分別獲取它的實(shí)部和虛部,C選項(xiàng)正確。本題選擇B選項(xiàng)。
11.C要向列表中添加元素,可以使用append()方法,添加的元素類型可以不同,可以是數(shù)字、字符串、列表等,要注意的是append()方法不能同時(shí)添加多個(gè)元素。本題選擇C選項(xiàng)。
12.D字符串方法replace()用來替換字符串中指定字符或子字符串的所有重復(fù)出現(xiàn),每次只能替換一個(gè)字符或一個(gè)字符串,把指定的字符串參數(shù)作為一個(gè)整體對(duì)待。該方法并不修改原字符串,而是返回一個(gè)新字符串。本題選擇D選項(xiàng)。
13.D文件是存儲(chǔ)在外存上的一組數(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():從文件中讀入所有行,以每行內(nèi)容為元素形成一個(gè)列表。f.seek()改變當(dāng)前文件操作指針的位置。C選項(xiàng)正確。本題選擇D選項(xiàng)。
14.B將實(shí)參age=43、famlyName=\n”趙”分別賦給形參age和famlyName,之后進(jìn)入多分支結(jié)構(gòu)進(jìn)行判斷。因?yàn)?0
15.Cdict()函數(shù)和{}都可以創(chuàng)建字典;序列類型包括列表、元組及字符串;字符串可以切片訪問,但是不能賦值。本題選擇C選項(xiàng)。
16.AS&T返回一個(gè)新集合,包括同時(shí)在集合S和T中的元素。本題選擇A選項(xiàng)。
17.A列表操作函數(shù)如下(假設(shè)列表名為ls)。len(ls):返回列表ls的元素個(gè)數(shù)(長度)。min(ls):返回列表ls的最小元素。max(ls):返回列表ls的最大元素。llst(x):將x轉(zhuǎn)變?yōu)榱斜眍愋汀J褂胢in(ls)和max(ls)的前提是列表中各元素類型可以進(jìn)行比較。如果列表元素不能比較,使用這兩個(gè)函數(shù)將會(huì)報(bào)錯(cuò)。本題選擇A選項(xiàng)。
18.D循環(huán)鏈表是線性表的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu)。因此D選項(xiàng)敘述錯(cuò)誤。
19.B外層for循環(huán)依次將字符串“mlss”中的字符賦給變量i,內(nèi)層for控制循環(huán)3次,注意是先執(zhí)行print再判斷if條件,輸出第一個(gè)i后,碰到if判斷條件,當(dāng)i==“i”時(shí)退出內(nèi)層循環(huán),所以結(jié)果為mmmlssssss。本題選擇B選項(xiàng)。
20.C在Python中,源文件的擴(kuò)展名一般使用.py。本題選擇C選項(xiàng)。
21.D根據(jù)字典的索引方式可知,d.get(’egg’,’nothisfood’)索引的是字典第一層,但是第一層只有鍵food,沒有鍵egg,故索引不出值,輸出的是“nothisfood”。
22.A文件包括文本文件和二進(jìn)制文件兩種類型。Python對(duì)文本文件和二進(jìn)制文件采用統(tǒng)一的操作步驟,即“打開-操作-關(guān)閉”,B選項(xiàng)正確。采用文本方式讀入文件,文件經(jīng)過編碼形成字符串,輸出有含義的字符;采用二進(jìn)制方式打開文件,文件被解析為字節(jié)流,A選項(xiàng)錯(cuò)誤。Python通過open()函數(shù)打開一個(gè)文件,并返回一個(gè)操作這個(gè)文件的變量,語法格式為<變置名>=open(<文件路徑及文件名>,<打開模式>\n),C選項(xiàng)正確。文件使用結(jié)束后要用clooe()方法關(guān)閉,釋放文件的使用授權(quán),語法格式為<變置名>dose()\n,D選項(xiàng)正確。本題選擇A選項(xiàng)。
23.Cwrite():向文件寫人一個(gè)字符或字節(jié)流。wrkelines():將一個(gè)元素作為字符串的列表整體寫入文件。read():從文件中讀入整個(gè)文件內(nèi)容。本題選擇C選項(xiàng)。
24.D文件是存儲(chǔ)在輔助存儲(chǔ)器上的一組數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內(nèi)容,A選項(xiàng)正確??梢允褂胦pen()打開文件,用close()關(guān)閉文件,B選項(xiàng)正確。在Python中,文件讀取方法如下(f代表文件變量)。f.read():從文件中讀入整個(gè)文件內(nèi)容。f.readline():從文件中讀入一行內(nèi)容。f.readlineS():從文件中讀入所有行,以每行為元素形成一個(gè)列表。f.seek():改變當(dāng)前文件操作指針的位置。C選項(xiàng)正確。本題選擇D選項(xiàng)。
25.Da=10.99,說明實(shí)部為10.99,虛部為0,故complex(a)返回復(fù)數(shù)10.99+0j。
26.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)。
27.C程序中,將實(shí)參b的值傳給形參a,將實(shí)參a的值傳給形參b,則在函數(shù)體中c=2**2+10=14,函數(shù)返回14,則實(shí)參c=14+10=24;形參a和b在函數(shù)結(jié)束后會(huì)自動(dòng)釋放,并沒有影響到實(shí)參a和b的值,故實(shí)參a仍然是10,實(shí)參b仍然是2。本題選擇C選項(xiàng)。
28.D__init__()方法是一個(gè)特殊的方法,每當(dāng)根據(jù)類創(chuàng)建新實(shí)例時(shí),Python就會(huì)自動(dòng)運(yùn)行該方法。該方法的開頭和結(jié)尾各有兩個(gè)下劃線,這是一種約定,旨在避免Python的默認(rèn)方法和普通方法發(fā)生命名沖突。self、name、age都是__init__()方法的形參,所以共3個(gè)。本題選擇D選項(xiàng)。
29.D對(duì)字符串中某個(gè)子串或區(qū)間的檢索稱為切片。切片的使用方式如下。<字符串或字符串變量>[N:M]切片獲取字符串從N到M(不包含M)的子字符串,其中N和M為字符串的索引,可以混合使用正向遞增索引和反向遞減索引。切片要求N和M都在字符串的索引區(qū)間,如果N大于等于M,則返回空字符串。如果N缺失,則默認(rèn)將N設(shè)為0;如果M缺失,則默認(rèn)表示到字符串結(jié)尾。題干中s[1:5]=‘2345’,s[0:3]=‘1231’,s[-10:-5]=‘12345’,s[0:4]=‘1234’。本題選擇D選項(xiàng)。
30.DA選項(xiàng)正確,遞歸函數(shù)必須要有一個(gè)明確的結(jié)束條件作為遞歸的出口;B選項(xiàng)正是遞歸函數(shù)的含義,正確;C選項(xiàng)正確,在計(jì)算機(jī)中,函數(shù)調(diào)用是通過棧這種數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)的,每當(dāng)進(jìn)入一個(gè)函數(shù)調(diào)用,棧就會(huì)加一層棧幀,每當(dāng)函數(shù)返回,棧就會(huì)減一層棧幀,由于棧的大小不是無限的,所以,遞歸調(diào)用的次數(shù)過多,會(huì)導(dǎo)致棧溢出;D選項(xiàng),每當(dāng)進(jìn)入更深一層的遞歸時(shí),問題規(guī)模顯然會(huì)相對(duì)前一次遞歸減小。
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)建新實(shí)例時(shí),Python都會(huì)自動(dòng)運(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)號(hào)表示法來調(diào)用Horse類中定義的任何方法。使用write()方法將結(jié)果寫入到文件“PY301一1.txt”中,操作完成之后,調(diào)用close()方法關(guān)閉文件。\r\n
(2)在“問題1”的基礎(chǔ)上又添加了一個(gè)Camel類,super。()是一個(gè)特殊函數(shù),幫助Python將父類和子類關(guān)聯(lián)起來。創(chuàng)建子類時(shí),父類必須包含在當(dāng)前文件中,且位于子類前面。定義子類時(shí),必須在括號(hào)內(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到每行的行號(hào),所以可以使用兩個(gè)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=[]#存儲(chǔ)候選人\r\nlines=fo.readlines()\r\nforlineinline
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2021年物流項(xiàng)目管理年終工作總結(jié)5篇
- 小學(xué)五年級(jí)英語教學(xué)總結(jié)
- 會(huì)計(jì)述職報(bào)告范文15篇
- 2023年實(shí)驗(yàn)室工作計(jì)劃安排(四篇)
- 世界風(fēng)險(xiǎn)投資企業(yè)案例
- MLEM算法全過程推導(dǎo)
- 國內(nèi)外護(hù)理人員等級(jí)現(xiàn)狀及我國護(hù)理人員等級(jí)劃分的設(shè)想
- 市場(chǎng)營銷學(xué)習(xí)心得10篇
- 自我介紹演講稿怎么寫?【5篇】
- 2022新學(xué)期中學(xué)生勵(lì)志演講稿三篇
- 執(zhí)業(yè)藥師管理 (藥事管理與法規(guī)課件)
- 三年級(jí)下冊(cè)美術(shù)教案-第9課 畫古樹 ▏人美版(北京)
- GB/T 11085-1989散裝液態(tài)石油產(chǎn)品損耗
- 紫外線燈管強(qiáng)度監(jiān)測(cè)表
- 市場(chǎng)營銷中心項(xiàng)目建設(shè)方案
- 質(zhì)量信得過班組創(chuàng)建計(jì)劃
- 浙江英語中考作文范文10篇
- 遼寧大學(xué)2023年畢業(yè)生就業(yè)質(zhì)量報(bào)告(同名21742)
- 新聞學(xué)概論重點(diǎn)總結(jié)
- 制袋機(jī)的基礎(chǔ)知識(shí)課件
- 電力排管工程施工組織方案
評(píng)論
0/150
提交評(píng)論