版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
黑龍江省大慶市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.以下程序的輸出結(jié)果是()。foriin”Nation”:forkinrange(2):ifi==’n’:breakprint(i,end=””)
A.aattiiooB.NNaattiiooC.NaattiioonD.aattiioonn
2.以下關(guān)于字符串的描述正確的是()。
A.字符應(yīng)視為長度為1或2的字符串
B.字符串中的字符可進(jìn)行數(shù)學(xué)運(yùn)算,但進(jìn)行數(shù)學(xué)運(yùn)算的字符必須為數(shù)字
C.在三引號字符串中可包含換行回車符等特殊的字符
D.字符串可以進(jìn)行切片賦值
3.以下代碼的輸出結(jié)果是()。d=[‘food’:{’cake’:1,’egg’:5}}print(d.get(‘egg’,'nothisfood’))
A.eggB.1C.foodD.nothisfood
4.以下代碼的輸出結(jié)果是()。defyoung(age):if25<=age<=30:print(”作為一個(gè)老師,你很年輕”)elifage<25:print(”作為一個(gè)老師,你太年輕了”)elifage>=60:print(”作為一個(gè)老師,你可以退休了”)else:Print("作為一個(gè)老師,你很有愛心”)young(42)
A.作為一個(gè)老師,你很年輕B.作為一個(gè)老師,你太年輕了C.作為一個(gè)老師,你可以退休了D.作為一個(gè)老師,你很有愛心
5.在Python中關(guān)于單引號與雙引號的說法中正確的是()
A.Python中字符串初始化只能使用單引號
B.單引號用于短字符串,雙引號用于長字符串
C.單雙引在使用上沒有區(qū)別
D.單引號針對變量,雙引號針對常量
6.以下代碼的輸出結(jié)果是()。deffibRate(n):ifn<=0:return—1elifn==1:retum—1elifn==2:return1else:L=[1,5]foriinrange(2,n):L.a(chǎn)ppend(L[一1]+L[一2])returnL[一2]%L[一1]print(fibRate(7))
A.0.6B.28C.一1D.1
7.以下關(guān)于函數(shù)作用的描述中,錯誤的是()。
A.復(fù)用代碼B.提高代碼的執(zhí)行速度C.增強(qiáng)代碼的可讀性D.降低代碼編程的復(fù)雜性
8.生成一個(gè)k比特長度的隨機(jī)整數(shù)的函數(shù)是()。
A.random.choice(k)
B.random.shuffle(k)
C.random.getrandbits(k)
D.random.sample(k)
9.在面向?qū)ο蠓椒ㄖ?,不屬于“對象”基本特點(diǎn)的是A.一致性B.分類性C.多態(tài)性D.標(biāo)識唯一性
10.以下關(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
11.以下不屬于Python的pip工具命令的是()。
A.getB.installC.showD.download
12.在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é)果超出上限和下限,則不會報(bào)錯,但會有warning的警告
13.表達(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.異常
14.以下關(guān)于Python全局變量和局部變量的描述中,錯誤的是()。
A.當(dāng)函數(shù)退出時(shí),局部變量依然存在,下次函數(shù)調(diào)用可以繼續(xù)使用
B.全局變量一般指定義在函數(shù)之外的變量
C.使用global保留字聲明后,變量可以作為全局變量使用
D.局部變量在函數(shù)內(nèi)部創(chuàng)建和使用,函數(shù)退出后變量被釋放
15.以下程序的輸出結(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’))}
16.以下關(guān)于函數(shù)的定義與編寫的描述,錯誤的是()。
A.函數(shù)是代碼復(fù)用的一種方式
B.在Python中,使用關(guān)鍵字define定義函數(shù)
C.定義函數(shù)時(shí),即使函數(shù)不需要接收任何參數(shù),也必須保留空的圓括號來表示這是一個(gè)函數(shù)
D.編寫函數(shù)時(shí),一般建議先對參數(shù)進(jìn)行合法性檢查,然后再進(jìn)行編寫
17.下面代碼的輸出結(jié)果是()。a=1deffun(a):a=a+2returnaprint(a,fun(a))
A.1,1B.1,3C.3,3D.3,1
18.關(guān)于二維數(shù)據(jù)描述錯誤的是()。
A.二維列表對象輸出為CSV文件,將遍歷循環(huán)和字符串的split()方法相結(jié)合
B.二維數(shù)據(jù)由關(guān)聯(lián)關(guān)系的數(shù)據(jù)構(gòu)成
C.二維數(shù)據(jù)是一維數(shù)據(jù)的組合形式,由多個(gè)一維數(shù)據(jù)組合形成
D.二維數(shù)據(jù)可以使用二維列表表示,即列表中的每一個(gè)元素對應(yīng)二維數(shù)據(jù)的每一行
19.以下程序的輸出結(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’]
20.下面屬于Python的標(biāo)準(zhǔn)庫的是()。
A.turtleB.jiebaC.SciPyD.Flask
21.在Python中,不屬于組合數(shù)據(jù)類型的是()。
A.浮點(diǎn)數(shù)類型B.列表類型C.字典類型D.字符串類型
22.以下代碼運(yùn)算結(jié)果為:a=7a*=7()
A.1B.14C.49D.7
23.deque是一種()數(shù)據(jù)結(jié)構(gòu)
A.HeapB.StackC.隊(duì)列D.雙端隊(duì)列
24.以下不屬于Python控制結(jié)構(gòu)的是()。
A.順序結(jié)構(gòu)B.循環(huán)結(jié)構(gòu)C.分支結(jié)構(gòu)D.數(shù)據(jù)結(jié)構(gòu)
25.以下關(guān)于字符串類型的操作的描述,正確的是()。
A.想把一個(gè)字符串str所有的字符都大寫,用upper(str)
B.設(shè)x=’nag’,則執(zhí)行x/3的結(jié)果是’a’
C.想獲取字符串str的長度,用字符串處理函數(shù)len(str)
D.str.isnumeric()方法把字符串str中數(shù)字字符變成數(shù)字
26.下面屬于應(yīng)用軟件的是()。
A.安卓(Android)操作系統(tǒng)B.交通管理appC.C語言編譯器D.數(shù)據(jù)庫管理系統(tǒng)
27.下列敘述中正確的是()。
A.鏈表可以是線性結(jié)構(gòu)也可以是非線性結(jié)構(gòu)
B.鏈表只能是非線性結(jié)構(gòu)
C.快速排序也適用于線性鏈表
D.二分法查找也適用于有序鏈表
28.黑盒測試技術(shù)依據(jù)的是()。
A.軟件功能的描述B.程序的邏輯結(jié)構(gòu)C.程序的物理結(jié)構(gòu)D.軟件行為的描述
29.如果文件a.txt在目錄C:\\A下,執(zhí)行以下程序會發(fā)生什么操作()。importosos.rmdir(r‘C:\\A’)
A.刪除文件夾A,保留文件a.txt
B.刪除文件夾A和文件a.txt
C.刪除文件a.txt,保留文件夾A
D.OSError
30.以下關(guān)于Python分支結(jié)構(gòu)的描述中,錯誤的是()。
A.Python分支結(jié)構(gòu)使用保留字if、elif和else來實(shí)現(xiàn),每個(gè)if后面必須有elif或else
B.if-else結(jié)構(gòu)是可以嵌套的
C.if語句會判斷if后面的邏輯表達(dá)式,當(dāng)表達(dá)式為真時(shí),執(zhí)行if后續(xù)的語句塊
D.縮進(jìn)是Python分支語句的語法部分,縮進(jìn)不正確會影響分支功能
二、判斷題(10題)31.不同版本的Python不能安裝到同一臺計(jì)算機(jī)上。
A.是B.否
32.pip命令也支持?jǐn)U展名為.whl的文件直接安裝Python擴(kuò)展庫。
A.是B.否
33.定義類時(shí)實(shí)現(xiàn)了__eq__()方法,該類對象即可支持運(yùn)算符==。
A.是B.否
34.列表對象的append()方法屬于原地操作,用于在列表尾部追加一個(gè)元素。
A.是B.否
35.盡管可以使用import語句一次導(dǎo)入任意多個(gè)標(biāo)準(zhǔn)庫或擴(kuò)展庫,但是仍建議每次只導(dǎo)入一個(gè)標(biāo)準(zhǔn)庫或擴(kuò)展庫。
A.是B.否
36.正則表達(dá)式元字符“s”用來匹配任意空白字符。
A.是B.否
37.形參可以看做是函數(shù)內(nèi)部的局部變量,函數(shù)運(yùn)行結(jié)束之后形參就不可訪問了。
A.是B.否
38.如果僅僅是用于控制循環(huán)次數(shù),那么使用foriinrange(20)和foriinrange(20,40)的作用是等價(jià)的。
A.是B.否
39.在GBK和CP936編碼中一個(gè)漢字需要2個(gè)字節(jié)。A.是B.否
40.Python不允許使用關(guān)鍵字作為變量名,允許使用內(nèi)置函數(shù)名作為變量名,但這會改變函數(shù)名的含義。
A.是B.否
三、填空題(10題)41.表達(dá)式type({3:3})的值為__________。
42.表達(dá)式len('abc'.ljust(20))的值為______________。
43.表達(dá)式sorted(random.sample(range(5),5))的值為_________________________。
44.表達(dá)式16**0.5的值為__________。
45.已知列表對象x=['11','2','3'],則表達(dá)式max(x)的值為___________。
46.表達(dá)式isinstance(3,object)的值為_____________。
47.表達(dá)式sum(range(1,10,2))的值為____________。
48.表達(dá)式3or5的值為________。
49.__________命令既可以刪除列表中的一個(gè)元素,也可以刪除整個(gè)列表或其他任意類型的Python對象。
50.使用運(yùn)算符測試集合A是否為集合B的真子集的表達(dá)式可以寫作__________。
四、操作題(3題)51.某班學(xué)生評選一等獎學(xué)金,學(xué)生的10門主干課成績存在考生文件夾下文件score.txt中,每行為一個(gè)學(xué)生的信息,分別記錄了學(xué)生學(xué)號、姓名以及10門課成績,格式如下:
1820161043
鄭珉鎬68668377567361696678
1820161044
沈紅偉91708l919680789l8994
從這些學(xué)生中選出獎學(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'''
52.考生文件夾下存在一個(gè)文件“PY201.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請?jiān)谠撐募芯帉懘a,以實(shí)現(xiàn)如下功能。使用turtle庫的fd()函數(shù)和right()函數(shù)繪制一個(gè)邊長為100像素的正六邊形,再用circle()函數(shù)繪制半徑為60像素的紅色圓內(nèi)接正六邊形,效果如下所示。
試題程序:#以下代碼為提示框架#請?jiān)赺____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fromturtleimport*pensize(5)foriinrange(6):fd(_____(1)_____)right
(_____(2)_____)color("red")circle(60,_____(3)_____)
53.考生文件夾下存在一個(gè)文件“PY102.py”,請寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。用鍵盤輸入直角三角形的兩條直角邊長度,計(jì)算三角形的面積。
例如:輸入三角形第一條直角邊長:3輸入三角形第二條直角邊長:4直角三角形的面積為:6.0
試題程序:#請?jiān)赺____處使用一行代碼或表達(dá)式替換
#注意:請不要修改其他已給出代碼
a=float(input("輸入三角形第一條直角邊長:"))
b=float(input("輸入三角形第二條直角邊長:"))
_____(1)_____print("直角三角形的面積為:{_____(3)_____}".format(area))
參考答案
1.B在Python中對字母大小寫是敏感的,’N’和’n’是不同的字符。本題中,有兩層for循環(huán),即每個(gè)字符要輸出兩次,直到i=’n’時(shí),跳出循環(huán),執(zhí)行輸出語句。故答案為B項(xiàng)。
2.C字符應(yīng)視為長度為1的字符串;字符串中的字符不可以進(jìn)行數(shù)學(xué)運(yùn)算,如果是數(shù)字字符串需要將其轉(zhuǎn)換為數(shù)值類型方可計(jì)算;字符串可進(jìn)行切片,但不能賦值。本題選擇C選項(xiàng)。
3.D根據(jù)字典的索引方式可知,d.get(’eggthis\nfood’)索引的是字典第一層,但是第一層只有鍵food,沒有鍵egg,故索引不出值,輸出的是“nothisfood”。本題選擇D選項(xiàng)。
4.D將實(shí)參42傳遞給函數(shù)形參變量age,之后進(jìn)入多分支結(jié)構(gòu),依次判斷,因?yàn)?0<42\n<60,故執(zhí)行else后面的語句,即輸出“作為一個(gè)老師,你很有愛心”。本題選擇D選項(xiàng)。
5.C
6.B將實(shí)參7傳遞給函數(shù)形參變量n,之后進(jìn)入多分支結(jié)構(gòu),依次判斷后,執(zhí)行else后面的語句。for語句為:foriinrange(2,7),i從2依次變化到6,循環(huán)5次,將L[一1]+L[一2]的值通過append()方法加入到列表L中。\n當(dāng)i=2時(shí),L[一1]+L[一2]=5+1=6,將6添加到列表L中,此時(shí)L=[1,5,6];\n當(dāng)i=3時(shí),L[一1]+L[一2]=6+5=11,將11添加到列表L中,此時(shí)L=[1,5,6,11];\n當(dāng)i=4時(shí),L[一1]+L[一2]=11+6=17,將17添加到列表L中,此時(shí)L=[1,5,6,11,17];\n當(dāng)i=5時(shí),L[一1]+L[一2]=17+ll=28,將28添加到列表L中,此時(shí)L=[1,5,6,11,17,28];\n當(dāng)i=6時(shí),L[一1]+L[一2]=28+17=45,將45添加到列表L中,此時(shí)L=[1,5,6,11,17,28,45]。\n最后L[一2]%L[一1]=28%45=28,故程序輸出28。本題選擇B選項(xiàng)。
7.B使用函數(shù)可以降低編程復(fù)雜性和增加代碼復(fù)用,增強(qiáng)代碼可讀性。代碼復(fù)用降低了代碼行數(shù)和代碼維護(hù)難度。本題選擇B選項(xiàng)。
8.Crandom.choice(k)用于從序列的元素中隨機(jī)挑選一個(gè)元素;random.shuffle(k)用于將序列的所有元素隨機(jī)排序;random.getrandbits(k)用于生成一個(gè)k比特長度的隨機(jī)整數(shù);random.sample(k)用于隨機(jī)地從指定列表中提取出k個(gè)不同的元素。本題選擇C選項(xiàng)。
9.A對象具有如下特性:標(biāo)識唯一性、分類性、多態(tài)性、封裝性、模塊獨(dú)立性。
10.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)。
11.Ainstall命令用于安裝第三方庫;show命令是列出某個(gè)已經(jīng)安裝的庫的詳細(xì)信息;download命令用于下載第三方庫的安裝包,但并不安裝。get不屬于pip工具的命令。本題選擇A選項(xiàng)。
12.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)。
13.B
14.A根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量指在函數(shù)內(nèi)部定義的變量,僅在函數(shù)內(nèi)部有效,且作用域也在函數(shù)內(nèi)部,當(dāng)函數(shù)退出時(shí)變量將不再存在。全局變量一般指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效。全部變量在函數(shù)內(nèi)部使用時(shí),需要提前使用保留字global聲明,語法形式:global<全局變量>。使用global對全局變量聲明時(shí),該變量要與外部全局變量同名。
15.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’)]}
16.B在Python中,使用關(guān)鍵字def定義函數(shù)。本題選擇B選項(xiàng)。
17.B在函數(shù)中傳入的實(shí)參的值是1,函數(shù)執(zhí)行完后函數(shù)內(nèi)局部變量a為3,而函數(shù)中的局部變量a與函數(shù)外的全局變量a互不相干,所以全局變量a在函數(shù)執(zhí)行完任然是1,所以B項(xiàng)正確。
18.A在Python中,二維列表對象輸出為CSV文件,將遍歷循環(huán)和字符串的join()方法相結(jié)合。split()方法一般在將文件中的數(shù)據(jù)轉(zhuǎn)換為列表時(shí)使用。本題選擇A選項(xiàng)。
19.D遍歷列表letter,當(dāng)i==‘D’時(shí),執(zhí)行l(wèi)etter.remove(i),此時(shí)列表letter=[‘A’,‘B’,‘C’,‘D’,‘D’];再次遍歷列表letter,當(dāng)i==‘D’時(shí),執(zhí)行l(wèi)etter.remove(i),此時(shí)列表letter=[‘A’,‘B’,‘C’,‘D’]。因?yàn)榱斜碇械脑仉S著“D”元素的刪除而減少,當(dāng)刪除第一個(gè)“D”元素之后,列表元素的個(gè)數(shù)變?yōu)?,for循環(huán)又是控制循環(huán)次數(shù)的,因此只遍歷5次;當(dāng)?shù)诙€(gè)“D”元素刪除時(shí),循環(huán)結(jié)束。本題選擇D選項(xiàng)。
20.Aturtle庫是Python的標(biāo)準(zhǔn)庫,用于基本圖形的繪制;jieba庫是Python的第三方中文分詞庫;SciPy是數(shù)據(jù)分析方向的第三方庫;Flask是Web開發(fā)方向的第三方庫。本題選擇A選項(xiàng)。
21.APython的組合數(shù)據(jù)類型包括元組、列表、字典及集合等。本題選擇A選項(xiàng)。
22.C
23.D
24.DPython控制結(jié)構(gòu)包括順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)及分支結(jié)構(gòu)。本題選擇D選項(xiàng)。
25.CA項(xiàng),將字符串str所有的字符都大寫的方法是str.upper(),排除;B項(xiàng),x為字符串類型,字符串類型不能執(zhí)行除法,排除;isnumeric()方法用于檢測字符串是否只由數(shù)字組成,如果字符串中只包括數(shù)字,就返回Ture,否則返回False,排除;c項(xiàng),len()函數(shù)用于返回字符串的長度,要想獲取字符串str的長度,其形式為len(str),故C項(xiàng)當(dāng)選。
26.B計(jì)算機(jī)軟件按功能分為應(yīng)用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件)。安卓(Android)操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)均屬于系統(tǒng)軟件,C語言編譯器屬于支撐軟件,交通管理app屬于應(yīng)用軟件。
27.A線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)稱為線性鏈表,線性鏈表可以是線性結(jié)構(gòu)也可以是非線性結(jié)構(gòu)??焖倥判蚝投址ú檎疫m用于順序存儲的線性表。本題選擇A選項(xiàng)。
28.A黑盒測試又稱功能測試或數(shù)據(jù)驅(qū)動測試,著重測試軟件功能,是把程序看成一只黑盒子,測試者完全不了解,或不考慮程序的結(jié)構(gòu)和處理過程。它根據(jù)規(guī)格說明書的功能來設(shè)計(jì)測試用例,檢查程序的功能是否符合規(guī)格說明的要求。\n白盒測試是把程序看成裝在一只透明的白盒子里,測試者完全了解程序的結(jié)構(gòu)和處理過程。它根據(jù)程序的內(nèi)部邏輯來設(shè)計(jì)測試用例,檢查程序中的邏輯通路是否都按預(yù)定的要求正確地工作。
29.D使用rmdir()刪除目錄之前要先清除其中所有的文件,否則會產(chǎn)生OSError錯誤。本題選擇D選項(xiàng)。
30.APython分支結(jié)構(gòu)使用保留字if、elif和else來實(shí)現(xiàn),每個(gè)if后面不一定要有elif或else,A選項(xiàng)錯誤;if-else結(jié)構(gòu)是可以嵌套的,B選項(xiàng)正確;if語句會判斷if后面的邏輯表達(dá)式,當(dāng)表達(dá)式為真時(shí),執(zhí)行if后續(xù)的語句塊,C選項(xiàng)正確;縮進(jìn)是Python分支語句的語法部分,縮進(jìn)不正確會影響分支功能,D選項(xiàng)正確。本題選擇A選項(xiàng)。
31.N
32.Y
33.Y
34.Y
35.Y
36.Y
37.Y
38.Y
39.Y
40.Y
41.dict
42.20
43.[0,1,2,3,4]
44.4
45.'3'
46.True
47.25
48.3
49.del
50.A
51.(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()\r\n
student=line.split('')\r\n
foriinstudent[-10:]:\r\n
ifint(i)<60:\r\n
break\r\n
else:\r\n
I:append(student[:2])\r\nforiinL:\r\n
fi.write(''.join(i)+'\\n')\r\nfo.close()\r\nfi.close()(1)本題涉及”score.txt”和”candidate0.txt”兩個(gè)文件。首先要讀取”score.txt”文件中的信息,通過程序求出每個(gè)學(xué)生的總成績,然后按總成績從大到小排序,將總成績排名前10的學(xué)生的學(xué)號、姓名以及10門課成績寫入到”candidate0.txt”文件中。打開文件用open()函數(shù),用”r”只讀模式打開文件”score.txt”,用”w”模式創(chuàng)建文件”cand:idate0.txt”。\r\n
”score.txt”文件中每行為一個(gè)學(xué)生的信息,需要用readlines()函數(shù)讀入所有行,以每行為元素形成列表lines,然后用for循環(huán)遍歷該列表中的每個(gè)元素。在遍歷每個(gè)元素時(shí),用strip()方法刪除元素首尾出現(xiàn)的空格,用split()方法以空格分隔學(xué)生的學(xué)號、姓名以及10門課成績得到列表student。由于要求出總成績,因此要使用for遍歷每個(gè)學(xué)生的10門課成績,將其累加賦值給sum,并將sum追加到student中。最后將student中所有元素追加到列表L中。\r\n
隨后,對列表L中的元素進(jìn)行排序,用到sort()方法,參數(shù)”key=lambdax:x[一1]”中l(wèi)ambda是一個(gè)隱函數(shù),是固定寫法,不能寫成別的單詞;x表示列表中的一個(gè)元素,在這里表示一個(gè)列表(即一個(gè)學(xué)生的信息),x只是臨時(shí)起的一個(gè)名字,也可以使用任意的名字;x[一1]表示以列表中的最后一個(gè)元素(即總成績)排序。參數(shù)”reverse=True”表示按降序排序;若該參數(shù)缺省或”reverse=False”,表示按升序排序。\r\n
最后,通過for循環(huán)在
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度文化創(chuàng)意產(chǎn)業(yè)園區(qū)房屋聯(lián)建合同3篇
- 2025年度演藝經(jīng)紀(jì)合同:藝人經(jīng)紀(jì)公司3篇
- 2024年精簡版房地產(chǎn)買賣協(xié)議樣本版B版
- 二零二五年度加油站消防安全管理與應(yīng)急演練協(xié)議3篇
- 2025年度智慧城市推廣合作合同3篇
- 二零二五年度影視劇本創(chuàng)意征集與評選服務(wù)合同3篇
- 二零二五年度二手車買賣合同包含車輛過戶手續(xù)服務(wù)2篇
- 房產(chǎn)證抵押貸款合同抵押物管理協(xié)議(2025年度)3篇
- 2025年度建材租賃與施工協(xié)調(diào)合同3篇
- 二零二五年度房產(chǎn)車輛共有權(quán)設(shè)立及子女婚嫁籌備金合同3篇
- 八年級上綜合性學(xué)習(xí) 我們的互聯(lián)網(wǎng)時(shí)代 練習(xí)卷(含答案)
- 2022-2023學(xué)年四川省成都市高新區(qū)八年級(下)期末語文試卷(含解析)
- 中西文化概論(第三版)PPT完整全套教學(xué)課件
- 食品批發(fā)銷售記錄制度
- 2024學(xué)年上海市浦東新區(qū)物理高二上期末聯(lián)考試題含解析
- 粉塵應(yīng)急演練記錄
- 持續(xù)交付2 0:業(yè)務(wù)引領(lǐng)的DevOps精要(增訂本)
- 管理學(xué)基礎(chǔ)知識點(diǎn)總結(jié)(精華)
- (2022年整理)人民幣含硬幣教具正反面完美打印版
- 醫(yī)院心電監(jiān)護(hù)術(shù)考核表
- 谷文昌精神報(bào)告會稿件課件
評論
0/150
提交評論