版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
廣東省韶關(guān)市全國計算機(jī)等級考試Python語言程序設(shè)計預(yù)測試題(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.表達(dá)式list(map(lambdax:x*2,[1,2,3,4,’hi’]))的返回值是()
A.[1,2,3,4,’hi’]
B.[2,4,6,8,'hihi']
C.[2,4,6,8,'hi','hi']
D.異常
2.如果一個函數(shù)沒有return語句,調(diào)用它后的返回值為()
A.0B.TrueC.FalseD.None
3.以下程序的輸出結(jié)果是()。a=3.6e-1b=4.2e3print(b-a)
A.4199.64B.7.8e2C.0.6e-4D.4199.064
4.以下程序的輸出結(jié)果是()。d={}foriinrange(26): d[chr(i+ord(“A”))]=chr((i+13)%26+ord(“A”))forcin“Python”: print(d.get(c,c),end=“”)
A.PlgubaB.CabuglC.PythonD.Cython
5.以下代碼的輸出結(jié)果是()。a=[[1,2,3],[4,5,6],[7,8,9]]s=0forcina:forjinrange(3):s+=c[j]print(s)
A.[l,2,3,4,5,6,7,8,9]B.45C.24D.0
6.下面關(guān)于遞歸函數(shù),描述錯誤的是()。
A.遞歸函數(shù)必須有一個明確的結(jié)束條件
B.遞歸函數(shù)就是一個函數(shù)在內(nèi)部調(diào)用自身本身
C.遞歸效率不高,遞歸層次過多會導(dǎo)致棧溢出
D.每進(jìn)入更深一層的遞歸時,問題規(guī)模相對于前一次遞歸是不變的
7.以下代碼的輸出結(jié)果是()。Is=[[1,2,3],’python’,[[4,5,’ABC’],6],[7,8]]print(ls[2][l])
A.'ABC'B.pC.4D.6
8.執(zhí)行以下代碼的結(jié)果是()A.2B.5C.8D.Anexceptionisthrown
9.關(guān)于以下代碼的描述中,正確的是()。deffact(n):s=1foriinrange(1,n+1):s*=ireturns
A.代碼中n是可選參數(shù)
B.fact(n)函數(shù)功能為求n的階乘
C.s是全局變量
D.range()函數(shù)的范圍是[1,n+1]
10.生成一個k比特長度的隨機(jī)整數(shù)的函數(shù)是()。
A.random.choice(k)
B.random.shuffle(k)
C.random.getrandbits(k)
D.random.sample(k)
11.對以下代碼的輸出,描述正確的是()。lis=list(range(6))print(lis)
A.[0,l,2,3,4,5]
B.[0,l,2,3,4,5,6]
C.0,1,2,3,4,5
D.0,l,2,3,4,5,6
12.以下代碼的輸出結(jié)果是()。CLis=list(range(5))print(5inCLis)
A.TrueB.FalseC.0D.一1
13.以下關(guān)于文件的打開和關(guān)閉的描述中,正確的是()。
A.二進(jìn)制文件不能使用記事本程序打開
B.二進(jìn)制文件也可以使用記事本或其他文本編輯器打開,但是一般來說無法正常查看其中的內(nèi)容
C.使用內(nèi)置函數(shù)open()且以“w”模式打開文件,若文件存在,則會引發(fā)異常
D.使用內(nèi)置函數(shù)open()打開文件時,只要文件路徑正確就總可以正確打開
14.在Python語言中,不屬于組合數(shù)據(jù)類型的是()。
A.浮點(diǎn)數(shù)類型B.列表類型C.字典類型D.字符串類型
15.以下關(guān)于Python處理二進(jìn)制文件的描述中,錯誤的是()。
A.Python不可以處理PDF文件
B.Python能處理Excel文件
C.Python能處理音頻文件
D.Python能處理圖形圖像文件
16.以下程序的輸出結(jié)果是()。x=10y=0if(x>5)or(x/y>5):print(’Right’)else:print(’Wrong’)
A.RightB.WrongC.報錯:ZeroDivisionErrorD.不報錯,但不輸出任何結(jié)果
17.執(zhí)行以下代碼的結(jié)果是?A.300B.400C.500D.600
18.算法的有窮性是指A.算法程序的運(yùn)行時間是有限的
B.算法程序所處理的數(shù)據(jù)量是有限的
C.算法程序的長度是有限的
D.算法只能被有限的用戶使用
19.若想要在屏幕上輸出Hello,World,應(yīng)該使用下列哪個語句?()
A.printf(“Hello,World")
B.printf(Hello,World)
C.print(“Hello,World")
D.print(Hello,World)
20.下列說法正確的是()。
A.set()可以將任何類型轉(zhuǎn)換為集合類型
B.remove()方法刪除集合中的元素,不管元素存不存在都不報錯
C.集合中的元素不可重復(fù),元素類型只能是不可變數(shù)據(jù)類型
D.集合元素是有序的
21.在數(shù)據(jù)庫設(shè)計中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于()。
A.物理設(shè)計階段B.需求分析階段C.概念設(shè)計階段D.邏輯設(shè)計階段
22.用戶自定義類時,如果想讓該類實(shí)例對象被print調(diào)用時返回類的特定信息,就必須實(shí)現(xiàn)Python魔術(shù)方法中的()A.initB.strC.repD.cmp
23.以下程序的輸出結(jié)果是()。ls1=[1,2,3,4,5]ls2=ls1ls2.reverse()print(ls1)
A.5,4,3,2,1B.[1,2,3,4,5]C.[5,4,3,2,1]D.1,2,3,4,5
24.以下關(guān)于Python全局變量和局部變量的描述中,錯誤的是()。
A.局部變量在使用過后立即被釋放
B.全局變量一般沒有縮進(jìn)
C.全局變量和局部變量的命名不能相同
D.—個程序中的變量包含兩類:全局變量和局部變量
25.以下代碼的輸出結(jié)果是()。whileTrue:guess=eval(input())ifguess==0x452//2:breakprint(guess)
A.0x452B.breakC.553D.”0x452//2”
26.下面的說法錯誤的是()。
A.調(diào)用函數(shù)時,在實(shí)參前面加一個星號*表示序列解包
B.在Python3.x中語句print(*[1,2,3])不能正確執(zhí)行
C.函數(shù)是代碼復(fù)用的一種方式
D.編寫函數(shù)時,一般建議先對參數(shù)進(jìn)行合法性檢查,然后再編寫正常的功能代碼
27.以下程序的輸出結(jié)果是()。letter=[‘A’,‘B’,‘C’,‘D’,‘D’,‘D’]foriinletter: ifi==‘D’: letter.remove(i)print(letter)
A.[‘A’,‘B’,‘C’]
B.[‘A’,‘B’,‘C’,‘D’,‘D’]
C.[‘A’,‘B’,‘C’,‘D’,‘D’,‘D’]
D.[‘A’,‘B’,‘C’,‘D’]
28.S=’1234567890’,以下表示’1234’的選項是()。
A.s[1:5]B.s[0:3]C.s[一10:-5]D.s[0:4]
29.下面的排序算法中初始數(shù)據(jù)集的排列順序?qū)λ惴ǖ男阅軣o影響的是()A.插入排序B.堆排序C.冒泡排序D.快速排序
30.給以下程序填空,能輸出{0:[90,‘Aele’],1:[87,‘Bob’],2:[93,‘lala’]!結(jié)果的選項是()。x=[90,87,93]y=(“Aele”,“Bob”,“l(fā)ala”)z={}foriinrange(len(x)): ________ print(z)
A.z[i]=[x[i],y[i]]
B.z[i]=x[i],y[i]
C.z[i]=list(zip(x,y))
D.z[i]=x,y
二、判斷題(10題)31.在定義函數(shù)時,某個參數(shù)名字前面帶有兩個*符號表示可變長度參數(shù),可以接收任意多個關(guān)鍵參數(shù)并將其存放于一個字典之中。
A.是B.否
32.繼承自threading.Thread類的派生類中不能有普通的成員方法。
A.是B.否
33.Python變量名區(qū)分大小寫,所以student和Student不是同一個變量。
A.是B.否
34.在Python中可以使用for作為變量名。
A.是B.否
35.形參可以看做是函數(shù)內(nèi)部的局部變量,函數(shù)運(yùn)行結(jié)束之后形參就不可訪問了。
A.是B.否
36.在函數(shù)內(nèi)部沒有辦法定義全局變量。
A.是B.否
37.只能通過切片訪問列表中的元素,不能使用切片修改列表中的元素。
A.是B.否
38.Python字符串方法replace()對字符串進(jìn)行原地修改。
A.是B.否
39.表達(dá)式{1,3,2}>{1,2,3}的值為True。
A.是B.否
40.Python使用縮進(jìn)來體現(xiàn)代碼之間的邏輯關(guān)系。
A.是B.否
三、填空題(10題)41.表達(dá)式[1,2,3].count(4)的值為_______________。
42.已知x=[3,2,3,3,4],那么表達(dá)式[indexforindex,valueinenumerate(x)ifvalue==3]的值為____________。
43.已知列表x=[1,3,2],那么執(zhí)行語句y=list(reversed(x))之后,y的值為__________。
44.表達(dá)式set([1,2,3])=={1,2,3}的值為____________。
45.表達(dá)式round(3.4)的值為___________。
46.表達(dá)式print(0b10101)的值為____________。
47.表達(dá)式3or5的值為________。
48.如果函數(shù)中沒有return語句或者return語句不帶任何返回值,那么該函數(shù)的返回值為_________________。
49.表達(dá)式{1,2,3}=={1,3,2}的值為___________。
50.表達(dá)式int('101',2)的值為__________。
四、操作題(3題)51.考生文件夾下存在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之間試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(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é)假日序號:試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(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é)假日編號:試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的處用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)Is=[]print("{}({})假期是{}月{}日至{}月{}日之間".format())ifflag==False:print("輸入節(jié)假日編號有誤!”)...
52.考生文件夾下存在3個Python源文件,分別對應(yīng)3個問題;1個文本文件,作為本題目的輸入數(shù)據(jù),請按照源文件內(nèi)部說明修改代碼,實(shí)現(xiàn)以下功能。《賣火柴的小女孩》是丹麥童話故事作家安徒生寫的一篇童話故事,發(fā)表于1846年。主要講了一個賣火柴的小女孩在富人闔家歡樂、舉杯共慶的大年夜凍死在街頭的故事。這里給出《賣火柴的小女孩》的一個網(wǎng)絡(luò)版本文件,文件名為“小女孩.txt”。問題1:在“PY301-1.py”文件中修改代碼,對“小女孩.txt”文件進(jìn)行字符頻次統(tǒng)計,輸出頻次最高的中文字符(不包含標(biāo)點(diǎn)符號)及其頻次,字符與頻次之間采用英文冒號(:)分隔,將輸出結(jié)果保存在考生文件夾下,命名為“PY301-l.txt”。示例格式如下。的:83試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)…fo=open("PY301-1.txt","w")d={}fo.write("{}:{}".format(_____))fo.close()問題L在“PY301-2.Py”文件中修改代碼,對“小女孩.txt”文件進(jìn)行字符頻次統(tǒng)計,按照頻次由高到低,輸出前10個頻次最高的字符,不包含回車符,字符之間無間隔,連續(xù)輸出,將輸出結(jié)果保存在考生文件夾下,命名為“PY301-2.txt”。示例格式如下。,的一...(共10個字符)試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(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)計,將所有字符按照頻次從高到低排序,字符包括中文、標(biāo)點(diǎn)、英文等,但不包含空格符和回車符。將排序后的字符及頻次輸出到考生文件夾下,文件名為“小女孩-頻次排序.txt”。字符與頻次之間采用英文冒號(:)分隔,各字符之間采用英文逗號(,)分隔,參考CSV格式,最后無逗號,文件內(nèi)部示例格式如下。著:30,那:29,火:29試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)…d={}…Is=list(d.items())Is.sort(key=lambdax:x[1]#reverse=True)#此行可以按照字符頻次由高到低排序
53.考生文件夾下存在一個文件PY103.py,請寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能:使用循環(huán)輸出從1到50之間的奇數(shù)。
試題程序:
#請在_____處使用一行代碼或表達(dá)式替換
#注意:請不要修改其他已給出代碼______whilecount<50:
ifcount%2==0:
print(count,end=”,”)
參考答案
1.B
2.D
3.A程序中b=4200,a=0.36,b-a=4199.64。本題選擇A選項。
4.Dord()函數(shù)是把字符轉(zhuǎn)換成對應(yīng)的ASCII值,chr()函數(shù)是ord()函數(shù)的逆運(yùn)算,即把ASCII值轉(zhuǎn)換成對應(yīng)的字符輸出,所以ord(“A”)為65。第一個for循環(huán)的作用是生成鍵值對存儲在字典變量d中。例如,當(dāng)i=0,d[A]=N;i=1,d[B]=0……—直到i=13,d[N]=A,后面的鍵和值與前面的是互換位置的,如i=14,d[0]=B;i=15,d[P]=C……依次循環(huán)賦值,直到i=25時結(jié)束for循環(huán)。第二個for循環(huán)的作用是輸出字典的值,get(key,default=None)函數(shù)有兩個參數(shù):第一個參數(shù)是字典的鍵;第二個參數(shù)是默認(rèn)值,作用是返回字典中key對應(yīng)的值,如果key不存在,則返回默認(rèn)值,如d={“A”:“N”,“0”:“B”,“Z”:“M”},d.get(“A”,“C”)返回的是N。當(dāng)c=“P”時,在字典中查找是否存在鍵為“P”的值,遍歷后發(fā)現(xiàn)存在這樣的值,所以返回C。for循環(huán)繼續(xù)遍歷剩下的字符,在字典中找不到對應(yīng)的鍵,則返回默認(rèn)值,所以結(jié)果返回為Cython。本題選擇D選項。
5.B外層for循環(huán)將a[0]=[l,2,3],a[l]=[4,5,6],a[2]=[7,8,9]依次賦給變量c;內(nèi)層for循環(huán)將變量j從0遞增到2,即累加c[l]+c[2]\n+c[3]的值,所以內(nèi)層循環(huán)加外層循環(huán)用于計算1+2+3+4+5+6+7+8+9的值,s=450本題選擇B選項。
6.DA選項正確,遞歸函數(shù)必須要有一個明確的結(jié)束條件作為遞歸的出口;B選項正是遞歸函數(shù)的含義,正確;C選項正確,在計算機(jī)中,函數(shù)調(diào)用是通過棧這種數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)的,每當(dāng)進(jìn)入一個函數(shù)調(diào)用,棧就會加一層棧幀,每當(dāng)函數(shù)返回,棧就會減一層棧幀,由于棧的大小不是無限的,所以,遞歸調(diào)用的次數(shù)過多,會導(dǎo)致棧溢出;D選項,每當(dāng)進(jìn)入更深一層的遞歸時,問題規(guī)模顯然會相對前一次遞歸減小。
7.D列表索引從0開始,所以ls[2]\n[1]指的是列表中索引為2的元素[[4,5,’ABC’],6]中索引為1的元素6,所以輸出結(jié)果是6。本題選擇D選項。
8.D
9.B函數(shù)定義時的語法如下:\ndef<函數(shù)名>(<非可選參數(shù)列表>,<可選參數(shù)>=<默認(rèn)值>):\n<函數(shù)體>\nreturn<返回值列表>\n可選參數(shù)一般都放置在非可選參數(shù)的后面。本題代碼中,n為非可選參數(shù),fact(n)函數(shù)的功能為求n的階乘。s在函數(shù)內(nèi)部定義,為局部變量。根據(jù)range函數(shù)的定義,range(1,n+1)的范圍是[1,n],不包含n+1。
10.Crandom.choice(k)用于從序列的元素中隨機(jī)挑選一個元素;random.shuffle(k)用于將序列的所有元素隨機(jī)排序;random.getrandbits(k)用于生成一個k比特長度的隨機(jī)整數(shù);random.sample(k)用于隨機(jī)地從指定列表中提取出k個不同的元素。本題選擇C選項。
11.
12.Brange()函數(shù)的語法:range(start,stop,step),作用是生成一個從start參數(shù)的值開始,到stop參數(shù)的值結(jié)束的數(shù)字序列(注意不包含數(shù)stop),step是步進(jìn)參數(shù)。cLis=list(range(5)),生成一個列表,包含0,1,2,3,4。因為5不在CLis列表中,故返回False。
13.B二進(jìn)制文件也可以使用記事本或其他文本編輯器打開,但是一般來說無法正常查看其中的內(nèi)容;用內(nèi)置函數(shù)open()且以”w”模式打開文件,若文件存在,則會覆蓋原來的內(nèi)容而不會引發(fā)異常。本題選擇B選項。
14.APython中組合數(shù)據(jù)類型包括元組、列表、字典和集合等。
15.APython能處理的二進(jìn)制文件包含圖形圖像文件、音頻文件、視頻文件、可執(zhí)行文件、各種數(shù)據(jù)庫文件、各類Office文件等。
16.A在Python中,or表示多個條件之間的”或”關(guān)系。xory,若x為True,則xory的結(jié)果為True,不再對y進(jìn)行判斷。本題中,x>5為True,故(x>5)0r(x/y>5)的結(jié)果為True,輸出結(jié)果為Right。
17.B
18.A算法的有窮性,是指算法必須能在有限的時間內(nèi)做完,即算法必須能在執(zhí)行有限個步驟之后終止。
19.CprintO函數(shù)用于輸出運(yùn)算結(jié)果,根據(jù)輸出內(nèi)容不同,有3種用法:①僅用于輸出字符串,語法格式為Print(<待輸出字符串\n>),字符串需要用單引號或者是雙引號括起來;②僅用于輸出一個或多個變量,語法格式為print(<變量1>,<變量2>,…\n<變量/I>);③用于混合輸出字符串與變量值,語法格式為print(<輸出字符串模板>.format(<變量1>,<變量2>,…<變量n>\n))。該題考查的是第一種用法。本題選擇C選項。
20.Cset()函數(shù)將其他組合數(shù)據(jù)類型變成集合類型;remove()刪除集合中指定的元素,不存在則產(chǎn)生KeyError異常;集合元素是無序的,集合的輸出順序與定義順序可以不一致。
21.D數(shù)據(jù)庫的邏輯設(shè)計工作主要是將E-R圖轉(zhuǎn)換成指定關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RelationalDa-tabaseManagement\nSystem,RDBMS)中的關(guān)系模式。本題選擇D選項。
22.B
23.C在Python中,列表對象的賦值就是簡單的對象引用。本題中,ls1和ls2是一樣的,他們指向同一片內(nèi)存,ls2不過是ls1的別名,是引用。對l2做修改,11也會跟著變化。ls2.reverse()是指將列表ls2中的元素反轉(zhuǎn),結(jié)果為[5,4,3,2,1],則ls1的值也為[5,4,3,2,1]。
24.C根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量指在函數(shù)內(nèi)部定義的變量,僅在函數(shù)內(nèi)部有效,且作用域也在函數(shù)內(nèi)部,當(dāng)函數(shù)退出時變量將不再存在。全局變量一般指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效,一般沒有縮進(jìn)。全局變量和局部變量的命名可以相同。本題選擇C選項。
25.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選項。
26.B在Python3.x中語句print(*[1,2,3])可以正確執(zhí)行,且結(jié)果為123。
27.D遍歷列表letter,當(dāng)i==‘D’時,執(zhí)行l(wèi)etter.remove(i),此時列表letter=[‘A’,‘B’,‘C’,‘D’,‘D’];再次遍歷列表letter,當(dāng)i==‘D’時,執(zhí)行l(wèi)etter.remove(i),此時列表letter=[‘A’,‘B’,‘C’,‘D’]。因為列表中的元素隨著“D”元素的刪除而減少,當(dāng)刪除第一個“D”元素之后,列表元素的個數(shù)變?yōu)?,for循環(huán)又是控制循環(huán)次數(shù)的,因此只遍歷5次;當(dāng)?shù)诙€“D”元素刪除時,循環(huán)結(jié)束。本題選擇D選項。
28.D對字符串中某個子串或區(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’。
29.B
30.A由最后輸出的字典可以看出,它由0、1、2作鍵,列表x的元素作為每個值的第一個元素,元組y的元素作為每個值的第二個元素,即字典z中鍵i對應(yīng)的值為[x[i],y[i]]。本題選擇A選項。
31.Y
32.N
33.Y
34.N
35.Y
36.N
37.N
38.N
39.N
40.Y
41.0
42.[0,2,3]
43.[2,3,1]
44.True
45.3
46.21
47.3
48.None
49.True
50.5
51.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(“PY301-vacations.csv”,”r”)Is=[]Foulineinfi:Is.append(line.strip(“\\n”).split(“,”))S=input(“請輸入節(jié)假日序號”).split(“”)WhiletrueForiins:Forlineinis:Ifi==line[0]Print(“{}({})的假期位于{}月{}日之間”.format(line[1],line[0],line[2][0]+line[2][1],line[2][2]+line[2][3],line[3][0]+line[3][1],line[3][2]+line[3][3]))S=input(“請輸入節(jié)假日序號:”).split(“”)(3)Fi=open(“PY301-vacations.csv”,”r”)Is=[]Foulineinfi:Is.append(line.strip(“\\n”).split(“,”))S=input(“請輸入節(jié)假日序號”).split(“”)Whiles!=””:Foriins:Flag=falseForlineinis:Ifi==line[0]Print(“{}({})的假期位于{}月{}日之間”.format(line[1],line[0],line[2][0]+line[2][1],line[2][2]+line[2][3],line[3][0]+line[3][1],line[3][2]+line[3][3]))Flag=TureIfflag==falsePrint(“輸入節(jié)假日編號有誤!”)S=input(“請輸入節(jié)假日序號:”).split(“”)(1)\r\n對文件的讀操作需要使用open()函數(shù),模式為”r";將文件讀入后,需要把CSV文件的內(nèi)容轉(zhuǎn)換成二維數(shù)據(jù),并將其轉(zhuǎn)換成二維列表對象。首先定義一個列表Is,把讀入的每行數(shù)據(jù)使用strip()函數(shù)清除掉換行符,再使用split()函數(shù)在元素之間以逗號分隔存儲在列表Is中,split()函數(shù)返回的是一個列表,因此把CSV文件轉(zhuǎn)換成二維列表對象。使用input()函數(shù)獲取用戶輸入,再用for循環(huán)遍歷二維列表,如果輸入的節(jié)假日名稱在列表中,則輸出對應(yīng)的時間段。(2)\r\n用戶可以輸入多個節(jié)假日的序號,因此可以考慮使用split()方法把輸入的序號放在一個列表中,然后使用兩個for循環(huán),一個用來遍歷二維列表,一個用來遍歷輸入的序號列表,當(dāng)輸入的序號與二維列表中的一樣時,輸出結(jié)果。因為題目的示例輸出在數(shù)字月和日期之間加入了漢字,此時分析存入二維列表中的數(shù)字,可以知道存入的是字符串,即在CSV文件中初始月日和結(jié)束月日都是長度為4的字符串,屬于序列類型,因此可以使用索引訪問。(3)在問題2的基礎(chǔ)上,加上一個標(biāo)記,如果輸入的序號正確,則標(biāo)記為True;輸入錯誤,標(biāo)記為False,最后根據(jù)標(biāo)記判斷是否輸出“輸入節(jié)假日編號有誤!\r\n”。分析題目要求可知,標(biāo)記是在輸入的序號在二維列表中可以查到時變?yōu)門rue,其他情況都為False,所以標(biāo)記應(yīng)該放在遍歷序號列表的for循環(huán)內(nèi)、遍歷二維列表的for循環(huán)外。
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(小女孩-頻
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版城市更新項目施工環(huán)保及文明施工協(xié)議3篇
- 2025年度高標(biāo)準(zhǔn)住宅木工支模與裝修一體化承包協(xié)議4篇
- 2025年度個人設(shè)備租賃借款合同模板7篇
- 2025年染料中間體項目可行性研究報告
- 個人信用貸款合同2024年度3篇
- 2025年度挖掘機(jī)交易信息服務(wù)平臺合作協(xié)議4篇
- 2025版木跳板生產(chǎn)設(shè)備采購合同示范文本4篇
- 二零二五年度鐘點(diǎn)工家庭保姆綜合服務(wù)合同
- 二零二五年度港口集裝箱運(yùn)輸公司股權(quán)轉(zhuǎn)讓合同
- 2025年度酒店客房滿意度調(diào)查與改進(jìn)合同
- 2024年高考八省聯(lián)考地理適應(yīng)性試卷附答案解析
- 足浴技師與店內(nèi)禁止黃賭毒協(xié)議書范文
- 中國高血壓防治指南(2024年修訂版)要點(diǎn)解讀
- 2024-2030年中國光電干擾一體設(shè)備行業(yè)發(fā)展現(xiàn)狀與前景預(yù)測分析研究報告
- 湖南省岳陽市岳陽樓區(qū)2023-2024學(xué)年七年級下學(xué)期期末數(shù)學(xué)試題(解析版)
- 農(nóng)村自建房安全合同協(xié)議書
- 杜仲葉藥理作用及臨床應(yīng)用研究進(jìn)展
- 4S店售后服務(wù)6S管理新規(guī)制度
- 高性能建筑鋼材的研發(fā)與應(yīng)用
- 無線廣播行業(yè)現(xiàn)狀分析
- 漢語言溝通發(fā)展量表(長表)-詞匯及手勢(8-16月齡)
評論
0/150
提交評論