遼寧省遼陽市全國計(jì)算機(jī)等級(jí)考試Python語言程序設(shè)計(jì)_第1頁
遼寧省遼陽市全國計(jì)算機(jī)等級(jí)考試Python語言程序設(shè)計(jì)_第2頁
遼寧省遼陽市全國計(jì)算機(jī)等級(jí)考試Python語言程序設(shè)計(jì)_第3頁
遼寧省遼陽市全國計(jì)算機(jī)等級(jí)考試Python語言程序設(shè)計(jì)_第4頁
遼寧省遼陽市全國計(jì)算機(jī)等級(jí)考試Python語言程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

遼寧省遼陽市全國計(jì)算機(jī)等級(jí)考試Python語言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(30題)1.以下程序的意義是()。>>>car=‘BWM’>>>id(car)

A.查看變量所占的位數(shù)B.轉(zhuǎn)換成布爾值C.查看變量在內(nèi)存中的地址D.把變量中的元素隨機(jī)排列

2.以下程序的輸出結(jié)果是()。foriin”Nation”:forkinrange(2):ifi==’n’:breakprint(i,end=””)

A.aattiiooB.NNaattiiooC.NaattiioonD.aattiioonn

3.以下程序的輸出結(jié)果是()。a=divmod(5,2)b=divmod(2,6)c=set(a+b)print(sum(c))

A.3B.5C.2D.0

4.如果文件a.txt在目錄“C:\\A”下,執(zhí)行以下代碼會(huì)發(fā)生的操作是()。importosos.rmdir(r'C:\\A’)

A.刪除文件夾A,保留文件a.txt

B.刪除文件夾A和文件a.txt

C.刪除文件a.txt,保留文件夾A

D.OSError

5.下面程序輸出的結(jié)果是()。sl,s2=”Mom”,””Dad"Print(“{}loves{}format(s2,si))

A.DadlovesMomB.MomlovesDadC.sllovess2D.s2lovess1

6.下面關(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ì)于前一次遞歸是不變的

7.在Python中,屬于Web開發(fā)的第三方庫是()。

A.mayaviB.flaskC.PyQt5D.time

8.以下關(guān)于Python列表的描述中,正確的是()。

A.列表的長度和內(nèi)容都可以改變,但元素類型必須相同

B.不可以對(duì)列表進(jìn)行成員運(yùn)算操作、長度計(jì)算和分片

C.列表的索引是從1開始的

D.可以使用比較操作符(如>或<等)對(duì)列表進(jìn)行比較

9.在Python中,使用open()打開一個(gè)Windows操作系統(tǒng)D盤下的文件,路徑名錯(cuò)誤的是()。

A.D:\PythonTest\a.txt

B.D:\\PythonTest\\a.txt

C.D:/PythonTest/a.txt

D.D://PythonTest//a.txt

10.下面哪一種定義是類的私有成員?()

A._xxB._xx_C._xxxD.xxx

11.以下哪個(gè)語句不適宜對(duì)異常捕獲()

A.try..catchB.assertC.withD.ifelif

12.下面代碼的輸出結(jié)果是()。n=2deff(a):n=bool(a-2)returnnb=f(2)print(n,b)

A.20

B.0True

C.2False

D.0False

13.在E-R圖中,用來表示實(shí)體的圖形是()。

A.橢圓形B.矩形C.菱形D.三角形

14.以下代碼的輸出結(jié)果是()。a=5.2b=2.5print(a//b)

A.2.08B.2.1C.2D.2.0

15.下面代碼的輸出結(jié)果是()。print("calculationerror*')else:print("noerror")

A.calculationerrorB.noerrorC.9.0D.9.0noerror

16.關(guān)于Python文件打開模式,表示錯(cuò)誤的是()。

A.rtB.nbC.abD.wt

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

A.只讀模式rB.覆蓋寫模式wC.追加寫模式aD.創(chuàng)建寫模式n

18.樹的度為3,且有9個(gè)度為3的節(jié)點(diǎn),5個(gè)度為1的節(jié)點(diǎn),但沒有度為2的節(jié)點(diǎn)。則該樹中的葉子節(jié)點(diǎn)數(shù)為()。

A.18B.33C.19D.32

19.下載但不安裝一個(gè)第三方庫的命名格式是()。

A.pipdownload<第三方庫名>

B.pipuninstall<第三方庫名>

C.pipinstall<第三方庫名>

D.pipsearch<第三方庫名>

20.現(xiàn)要將某氣象觀測(cè)站每天不同時(shí)間點(diǎn)的氣溫及濕度的觀察值保存,方便以后進(jìn)行調(diào)用及查詢,在Python3哪種數(shù)據(jù)結(jié)構(gòu)更合適()

A.字符串B.列表C.集合D.字典

21.以下語句不會(huì)引發(fā)異常的是()。

A.a=b=3+1jB.1+“1”C.3/0D.print“noerror”

22.下面代碼的輸出結(jié)果是()。>>>s=(3,)>>>type(s)

A.<class'diet'>

B.<class'tuple’>

C.<class'list'>

D.<class'set’>

23.下面代碼的輸出結(jié)果是()。deff(n):ifn==1:return1else:returnn*f(n—1)print(f(4))

A.24B.4C.0D.10

24.下列關(guān)于Python中復(fù)數(shù)類型的描述錯(cuò)誤的是()。

A.復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成

B.復(fù)數(shù)可以看作二元有序?qū)崝?shù)對(duì)(a,b)

C.虛數(shù)部分必須有后綴j,且為小寫

D.復(fù)數(shù)中的虛數(shù)部分不能單獨(dú)存在,必須有實(shí)數(shù)部分

25.Python中文件的打開模式為“t”,對(duì)應(yīng)的文件打開模式為()。

A.只讀模式B.覆蓋寫模式C.文本文件模式D.二進(jìn)制文件模式

26.以下保留字不用于循環(huán)邏輯的是()。

A.tryB.elseC.forD.continue

27.下面代碼的輸出結(jié)果是()。list=[“1”,”3”,”5”]defapp(x):list.a(chǎn)ppend(x)app(”7”)print(list)

A.[’1’,’3’,’5’]B.[’1’,’3’,’5’,’7’]C.[’7’]D.”1,3,5,7”

28.以下關(guān)于分支結(jié)構(gòu)的描述中,錯(cuò)誤的是()。

A.if語句中語句塊執(zhí)行與否依賴于條件判斷

B.if語句中條件部分可以使用任何能夠產(chǎn)生True和False的語句和函數(shù)

C.二分支結(jié)構(gòu)有一種緊湊形式,使用保留字if和elif實(shí)現(xiàn)

D.多分支結(jié)構(gòu)用于設(shè)置多個(gè)判斷條件以及對(duì)應(yīng)的多條執(zhí)行路徑

29.下面的d是一個(gè)字典變量,能夠輸出數(shù)字2的語句是()。d={’food’:{’cake’:1,’egg’:5},’cake’:2,’egg’:3}

A.print(d[’food’][’egg’])

B.print(d[’cake’])

C.print(d[’food’][一1])

D.print(d[’cake’][1])

30.下列敘述中正確的是()。

A.找是“先進(jìn)先出”的線性表

B.隊(duì)列是“先進(jìn)后出”的線性表

C.循環(huán)隊(duì)列是非線性結(jié)構(gòu)

D.有序線性表既可以釆用順序存儲(chǔ)結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

二、判斷題(10題)31.執(zhí)行語句frommathimportsin之后,可以直接使用sin()函數(shù),例如sin(3)。

A.是B.否

32.異常處理結(jié)構(gòu)也不是萬能的,處理異常的代碼也有引發(fā)異常的可能。

A.是B.否

33.定義函數(shù)時(shí),即使該函數(shù)不需要接收任何參數(shù),也必須保留一對(duì)空的圓括號(hào)來表示這是一個(gè)函數(shù)。

A.是B.否

34.放在一對(duì)三引號(hào)之間的任何內(nèi)容將被認(rèn)為是注釋。

A.是B.否

35.程序中異常處理結(jié)構(gòu)在大多數(shù)情況下是沒必要的。

A.是B.否

36.已知x=3,那么賦值語句x='abcedfg'是無法正常執(zhí)行的。

A.是B.否

37.異常處理結(jié)構(gòu)中的finally塊中代碼仍然有可能出錯(cuò)從而再次引發(fā)異常。

A.是B.否

38.無法刪除集合中指定位置的元素,只能刪除特定值的元素。

A.是B.否

39.字典可以作為集合的元素。

A.是B.否

40.在Python3.x中可以使用中文作為變量名。

A.是B.否

三、填空題(10題)41.表達(dá)式int(4**0.5)的值為____________。

42.Python擴(kuò)展庫______________和______________提供了圖像處理功能。

43.已知列表x=[1,2],那么執(zhí)行語句x.append([3])之后,x的值為_____________。

44.已知x={1:2},那么執(zhí)行語句x[2]=3之后,x的值為________________。

45.表達(dá)式1<2<3的值為_________。

46.表達(dá)式type(3)==int的值為__________。

47.表達(dá)式'abcabcabc'.count('abc')的值為_____________。

48.表達(dá)式abs(3+4j)的值為____________。

49.查看變量類型的Python內(nèi)置函數(shù)是________________。

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

四、操作題(3題)51.考生文件夾下存在一個(gè)Python源文件“PY301.py”,請(qǐng)按照文件內(nèi)說明修改代碼,實(shí)現(xiàn)以下功能。愷撒密碼是一種非常古老的加密算法,相傳當(dāng)年愷撒大帝行軍打仗時(shí)為了保證自己的命令不被敵軍知道,它采用了替換方法將信息中的每一個(gè)英文字母循環(huán)替換為字母表序列中該字母后面的第三個(gè)字母,即循環(huán)后三位,對(duì)應(yīng)關(guān)系如下。原文:ABCDEFGHIJKLMNOPQRSTUVWXYZ密文:DEFGHIJKLMNOPQRSTUVWXYZABC原文字母P,其密文字母C滿足如下條件。C=(P+3)mod26解密方法反之,滿足如下條件。P=(C-3)mod26愷撒密碼包括加密算法和解密算法兩個(gè)部分。愷撒密碼的加密算法程序首先接收用戶輸入的文本,然后對(duì)字母a?z和字母A?Z按照密碼算法進(jìn)行轉(zhuǎn)換,同時(shí)輸出。其他非英文字母原樣輸出。試題程序:#以下代碼為提示框架#請(qǐng)?jiān)?..處使用一行或多行代碼替換#注意..提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)intxt=input(“請(qǐng)輸入明文:")

52.考生文件夾下存在一個(gè)文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請(qǐng)?jiān)谠撐募芯帉懘a,以實(shí)現(xiàn)如下功能。用鍵盤輸入兩個(gè)大于0的整數(shù),按要求輸出這兩個(gè)整數(shù)之間(不包括這兩個(gè)整數(shù))的所有素?cái)?shù)。素?cái)?shù)又稱質(zhì)數(shù),是指除了1和它本身以外不能被其他整數(shù)整除的數(shù)。試題程序:#以下代碼為提示框架#請(qǐng)?jiān)?..處使用一行或多行代碼替換#請(qǐng)?jiān)赺____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)lower=int(input(‘輸入?yún)^(qū)間最小值:’))upper=int(inputs(‘輸入?yún)^(qū)間最大值:’))fornuminrange(_____,_____):

53.考生文件夾下存在一個(gè)文件PY101.py,請(qǐng)寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能:隨機(jī)選擇一個(gè)手機(jī)品牌屏幕輸出。

試題程序:

#請(qǐng)?jiān)诔绦虻摹幨褂靡恍谢蚨嘈写a替換

#請(qǐng)?jiān)诔绦虻腳_____處使用一行代碼替換#注意:請(qǐng)不要修改其他已給出代碼

import________brandlist=[’三星’,’蘋果’,’vivo’,’OPPO’,’魅族’]random.seed(0)

……

print(name)

參考答案

1.Cid(x)是Python中的內(nèi)置函數(shù),用來查看變量在內(nèi)存中的地址。本題選擇C選項(xiàng)。

2.B在Python中對(duì)字母大小寫是敏感的,’N’和’n’是不同的字符。本題中,有兩層for循環(huán),即每個(gè)字符要輸出兩次,直到i=’n’時(shí),跳出循環(huán),執(zhí)行輸出語句。故答案為B項(xiàng)。

3.Adivmod(a,b)函數(shù)返回的是兩個(gè)數(shù)值的商和余數(shù),那么a和b的值分別是(2,1)和(0,2),而c是把a(bǔ)、b相加后轉(zhuǎn)為集合型,那么a+b為(2,1,0,2),轉(zhuǎn)成集合后即{0,1,2},最后是取總和的sum()函數(shù),所以相加的總和為3。本題選擇A選項(xiàng)。

4.D使用rmdir()刪除目錄之前要先清除其中所有的文件,否則會(huì)報(bào)OSError錯(cuò)誤。本題選擇D選項(xiàng)。

5.APython使用format()格式化方法,語法格式為<模板字符串>.format(\n<逗號(hào)分隔的參數(shù)>),其中模板字符串是一個(gè)由字符串和槽組成的字符串,用來控制字符串和變量的顯示效果。槽用花括號(hào)({})表示,對(duì)應(yīng)fcmnat()方法中逗號(hào)分隔的參數(shù)。如果模板字符串有多個(gè)槽,且槽內(nèi)沒有指定序號(hào),則按照槽出現(xiàn)的順序分別對(duì)應(yīng)format()方法中的不同參數(shù)。參數(shù)根據(jù)出現(xiàn)先后存在一個(gè)默認(rèn)序號(hào)。本題選擇A選項(xiàng)。

6.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ì)前一次遞歸減小。

7.B在Python中,屬于Web開發(fā)的第三方庫的有Django庫、pyramid庫及Flask庫。本題選擇B選項(xiàng)。

8.D列表是包含0個(gè)或多個(gè)元素的有序序列,屬于序列類型。列表用中括號(hào)([])表示,由于列表屬于序列類型,故繼承了序列類型的所有屬性和方法。索引是列表的基本操作,用于獲得列表中的一個(gè)元素,該操作沿用序列類型的索引方式,即正向遞增序號(hào)或反向遞減序號(hào),使用中括號(hào)作為索引操作符,索引號(hào)不得超過列表的元素范圍,否則將產(chǎn)生lndexError錯(cuò)誤。索引下標(biāo)從0開始。列表可以進(jìn)行元素增加、刪除、替換、查找等操作。列表沒有長度限制,元素類型可以不同,能夠包含其他的組合數(shù)據(jù)類型,可以使用比較操作符(如>或<等)對(duì)列表進(jìn)行比較,也可以對(duì)列表進(jìn)行成員運(yùn)算操作、長度計(jì)算和分片。故D項(xiàng)正確。

9.A在Python中,使用open()打開文件的操作過程中需要注意,由于“\\”是字符串中的轉(zhuǎn)義符,所以表示路徑時(shí),使用“\\\\”,“/”或“//”代替“\\”。本題選擇A選項(xiàng)。

10.C在Python中,類的定義中以一個(gè)下劃線開頭是成員的保護(hù)成員,以兩個(gè)下劃線開頭和結(jié)束的成員是系統(tǒng)定義的特殊成員,以兩個(gè)或多個(gè)下劃線開頭但不以兩個(gè)或多個(gè)下劃線結(jié)束的成員是私有成員,所以選C。

11.D

12.C這段代碼是全局變量、局部變量以及Python內(nèi)置函數(shù)bool()的一個(gè)結(jié)合。在函數(shù)內(nèi)部的局部變量名和函數(shù)外部全局變量名相同時(shí),調(diào)用函數(shù)時(shí),總是先找到函數(shù)內(nèi)部的局部變量名,所以當(dāng)a為2時(shí),經(jīng)過布爾型轉(zhuǎn)換之后的a\r\n-2,即b為False,而在函數(shù)外部只能訪問全局變量名,所以n仍為2,本題選擇C選項(xiàng)。

13.B在E—R圖中實(shí)體集用矩形,屬性用橢圓,聯(lián)系用菱形。

14.D“//”返回兩個(gè)數(shù)的整數(shù)商,且返回的類型滿足以下關(guān)系:①整數(shù)和浮點(diǎn)數(shù)混合運(yùn)算,輸出結(jié)果是浮點(diǎn)數(shù);②整數(shù)之間運(yùn)算,結(jié)果為整數(shù)。因此,5.2//2.5=2.0。

15.D只有當(dāng)程序未引發(fā)異常順利執(zhí)行完try中的代碼后,else語句塊內(nèi)的代碼才會(huì)執(zhí)行。本題中try中無異常,輸出變量C的值,再執(zhí)行else中的代碼。本題選擇D選項(xiàng)。

16.BPython中open()函數(shù)提供了7種基本的文件打開模式:r、w、x、a、b、t、+。其中,r、w、x、a可以和b、t、+組合使用。故表示錯(cuò)誤的是B項(xiàng)。

17.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ò)誤。

18.C設(shè)葉子結(jié)點(diǎn)數(shù)為〃,則該樹的結(jié)點(diǎn)數(shù)為n+9+5=n+\n14,根據(jù)樹中的結(jié)點(diǎn)數(shù)=樹中所有結(jié)點(diǎn)的度之和+1,得9×3+0×2+5×1+n×0+1=n+14,則n=19。本題選擇C選項(xiàng)。

19.Apipdownload<第三方庫名>用于下載第三方庫的安裝包,但并不安裝;pipuninstall<第三方庫名>用于卸載一個(gè)已經(jīng)安裝的第三方庫;pipinstall<第三方庫名>用于安裝第三方庫;pipsearch<第三方庫名>用于聯(lián)網(wǎng)搜索庫名或摘要中的關(guān)鍵字。本題選擇A選項(xiàng)。

20.D

21.A不同類型之間不能相互運(yùn)算;除數(shù)不能為0;print“noerror”語句是Python2.x系列的語法,不適用Python3.x系列。本題選擇A選項(xiàng)。

22.B變量s是元組類型,type()返回的是表達(dá)式的值的類型。本題選擇B選項(xiàng)。

23.A該代碼的功能是根據(jù)傳人的參數(shù)求取該數(shù)的階乘,經(jīng)過一系列的運(yùn)算將結(jié)果返回,4的階乘為24。

24.CPython中復(fù)數(shù)類型的虛數(shù)部分的后綴可以為j或者J;復(fù)數(shù)的實(shí)部可以單獨(dú)存在,但是虛部不可以單獨(dú)存在;復(fù)數(shù)由實(shí)部和虛部構(gòu)成,可以使用z.\nreal和z.imag分別獲得它的實(shí)部和虛部。本題選擇C選項(xiàng)。

25.C在Python中,文件的打開模式對(duì)應(yīng)為:r表示只讀;w表示覆蓋寫;t表示文本文件模式;b表示二進(jìn)制文件模式。本題選擇D選項(xiàng)。

26.A用于循環(huán)邏輯的保留字:while、for、else、break、continue。try用于捕捉異常。

27.Bappend()是向列表元素的結(jié)尾增加元素。

28.CPython的單分支結(jié)構(gòu)使用if保留字對(duì)條件進(jìn)行判斷,使用方式為:\nif<條件>:\n<語句塊>\nPython的二分支結(jié)構(gòu)使用if—else保留字對(duì)條件進(jìn)行判斷,語法格式為:\nif<條件>:\n<語句塊1>\nelse:\n<語句塊2>\nPython的多分支結(jié)構(gòu)使用if—elif—else保留字對(duì)多個(gè)相關(guān)條件進(jìn)行判斷,并根據(jù)不同條件的結(jié)果按照順\n序選擇執(zhí)行路徑,語法格式為:\nif<條件l>:\n<語句塊1>\nelif<條件2>:\n<語句塊2>\nelse:\n<語句塊3>

29.B在Python語言中,字典是存儲(chǔ)可變數(shù)量鍵值對(duì)的數(shù)據(jù)結(jié)構(gòu),鍵和值可以是任意數(shù)據(jù)類型,通過鍵索引值,并可以通過鍵修改值。因此,可以直接利用鍵值對(duì)關(guān)系索引元素。索引模式:<值>=<字典變量>[<鍵>]。故能夠正確索引字典并輸出數(shù)字2的語句是pnnt(d[’cake’]),B項(xiàng)正確。

30.D棧是先進(jìn)后出的線性表,所以A選項(xiàng)錯(cuò)誤;隊(duì)列是先進(jìn)先出的線性表,所以B選項(xiàng)錯(cuò)誤;循環(huán)隊(duì)列是線性結(jié)構(gòu)的線性表,所以C選項(xiàng)錯(cuò)誤。本題選擇D選項(xiàng)。

31.Y

32.Y

33.Y

34.N

35.N

36.N

37.Y

38.Y

39.N

40.Y

41.2

42.PIL、pillow

43.[1,2,[3]]

44.{1:2,2:3}

45.True

46.TrueTrue

47.3

48.5.0

49.type()

50.'ab:efg'

51.intxt=input(”請(qǐng)輸入明文:”)ForpinintxtIf”a”<=p<=”z”:Print(chr(ord(“a”)+(ord(p)-ord(“a”)+3%26),end=””)Elif”A”<=p<=”z”:Print(chr(ord(“A”)+(ord(p)-ord(“A”)+3%26),end=””)Else:Print(p,end=””)使用for循環(huán)遍歷輸入的每一個(gè)字符:如果輸入的字符是大小寫字母,把該字母替換為該字母后面的第三個(gè)字母,將轉(zhuǎn)換后的字母進(jìn)行輸出;如果輸入的字符不是大小寫字母,則原樣輸出字符,該部分功能通過if多分支結(jié)構(gòu)實(shí)現(xiàn)。

52.lower=int(input(‘輸入?yún)^(qū)間最小值:’))upper=int(inputs(‘輸入?yún)^(qū)間最大值:’))fornuminrange(lower+1,upper):Ifnum>1:Foriin染個(gè)(2,num):If(num%i)==0:BreakElse:Print(num)題目要求輸出兩個(gè)整數(shù)之間(不包括這兩個(gè)整數(shù))的所有素?cái)?shù),因此mnge()函數(shù)的參數(shù)應(yīng)為lower+1和upper。for循環(huán)遍歷range(lower\n+l,upper)返回的每個(gè)整數(shù)num,判斷該數(shù)是否為素?cái)?shù)。如果num大于1(1既不是素?cái)?shù)也不是合數(shù)),且該數(shù)能被取值范圍為[2,num-1\n]的任何一個(gè)整數(shù)整除,那么該數(shù)一定不是素?cái)?shù),否則一定是素?cái)?shù)。

53.importrandom\r\nbrandlist=[’三星’,’蘋果’,’vivo’,’OPPO’,’魅族’]\r\nrandom.seed(0)\r\nname=brandlist[random.randint(0,4)]

print(name)題目要求隨機(jī)輸出列表中的一個(gè)手機(jī)名稱,“隨機(jī)”需要用到Python的標(biāo)準(zhǔn)庫random,random.seed(0)的作用是設(shè)置初始化隨機(jī)數(shù)種子,設(shè)置種子的好處就是可以重復(fù)再現(xiàn)相同的隨機(jī)數(shù)序列。輸出列表中的元素可以使用索引的方法,分析代碼可知,列表中共有5個(gè)元素,所以元素的序號(hào)由0到4,需要用到random庫的randint()方法。random.randint(a,b)的作用是產(chǎn)生一個(gè)[a,b]之間的隨機(jī)整數(shù)。遼寧省遼陽市全國計(jì)算機(jī)等級(jí)考試Python語言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(30題)1.以下程序的意義是()。>>>car=‘BWM’>>>id(car)

A.查看變量所占的位數(shù)B.轉(zhuǎn)換成布爾值C.查看變量在內(nèi)存中的地址D.把變量中的元素隨機(jī)排列

2.以下程序的輸出結(jié)果是()。foriin”Nation”:forkinrange(2):ifi==’n’:breakprint(i,end=””)

A.aattiiooB.NNaattiiooC.NaattiioonD.aattiioonn

3.以下程序的輸出結(jié)果是()。a=divmod(5,2)b=divmod(2,6)c=set(a+b)print(sum(c))

A.3B.5C.2D.0

4.如果文件a.txt在目錄“C:\\A”下,執(zhí)行以下代碼會(huì)發(fā)生的操作是()。importosos.rmdir(r'C:\\A’)

A.刪除文件夾A,保留文件a.txt

B.刪除文件夾A和文件a.txt

C.刪除文件a.txt,保留文件夾A

D.OSError

5.下面程序輸出的結(jié)果是()。sl,s2=”Mom”,””Dad"Print(“{}loves{}format(s2,si))

A.DadlovesMomB.MomlovesDadC.sllovess2D.s2lovess1

6.下面關(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ì)于前一次遞歸是不變的

7.在Python中,屬于Web開發(fā)的第三方庫是()。

A.mayaviB.flaskC.PyQt5D.time

8.以下關(guān)于Python列表的描述中,正確的是()。

A.列表的長度和內(nèi)容都可以改變,但元素類型必須相同

B.不可以對(duì)列表進(jìn)行成員運(yùn)算操作、長度計(jì)算和分片

C.列表的索引是從1開始的

D.可以使用比較操作符(如>或<等)對(duì)列表進(jìn)行比較

9.在Python中,使用open()打開一個(gè)Windows操作系統(tǒng)D盤下的文件,路徑名錯(cuò)誤的是()。

A.D:\PythonTest\a.txt

B.D:\\PythonTest\\a.txt

C.D:/PythonTest/a.txt

D.D://PythonTest//a.txt

10.下面哪一種定義是類的私有成員?()

A._xxB._xx_C._xxxD.xxx

11.以下哪個(gè)語句不適宜對(duì)異常捕獲()

A.try..catchB.assertC.withD.ifelif

12.下面代碼的輸出結(jié)果是()。n=2deff(a):n=bool(a-2)returnnb=f(2)print(n,b)

A.20

B.0True

C.2False

D.0False

13.在E-R圖中,用來表示實(shí)體的圖形是()。

A.橢圓形B.矩形C.菱形D.三角形

14.以下代碼的輸出結(jié)果是()。a=5.2b=2.5print(a//b)

A.2.08B.2.1C.2D.2.0

15.下面代碼的輸出結(jié)果是()。print("calculationerror*')else:print("noerror")

A.calculationerrorB.noerrorC.9.0D.9.0noerror

16.關(guān)于Python文件打開模式,表示錯(cuò)誤的是()。

A.rtB.nbC.abD.wt

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

A.只讀模式rB.覆蓋寫模式wC.追加寫模式aD.創(chuàng)建寫模式n

18.樹的度為3,且有9個(gè)度為3的節(jié)點(diǎn),5個(gè)度為1的節(jié)點(diǎn),但沒有度為2的節(jié)點(diǎn)。則該樹中的葉子節(jié)點(diǎn)數(shù)為()。

A.18B.33C.19D.32

19.下載但不安裝一個(gè)第三方庫的命名格式是()。

A.pipdownload<第三方庫名>

B.pipuninstall<第三方庫名>

C.pipinstall<第三方庫名>

D.pipsearch<第三方庫名>

20.現(xiàn)要將某氣象觀測(cè)站每天不同時(shí)間點(diǎn)的氣溫及濕度的觀察值保存,方便以后進(jìn)行調(diào)用及查詢,在Python3哪種數(shù)據(jù)結(jié)構(gòu)更合適()

A.字符串B.列表C.集合D.字典

21.以下語句不會(huì)引發(fā)異常的是()。

A.a=b=3+1jB.1+“1”C.3/0D.print“noerror”

22.下面代碼的輸出結(jié)果是()。>>>s=(3,)>>>type(s)

A.<class'diet'>

B.<class'tuple’>

C.<class'list'>

D.<class'set’>

23.下面代碼的輸出結(jié)果是()。deff(n):ifn==1:return1else:returnn*f(n—1)print(f(4))

A.24B.4C.0D.10

24.下列關(guān)于Python中復(fù)數(shù)類型的描述錯(cuò)誤的是()。

A.復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成

B.復(fù)數(shù)可以看作二元有序?qū)崝?shù)對(duì)(a,b)

C.虛數(shù)部分必須有后綴j,且為小寫

D.復(fù)數(shù)中的虛數(shù)部分不能單獨(dú)存在,必須有實(shí)數(shù)部分

25.Python中文件的打開模式為“t”,對(duì)應(yīng)的文件打開模式為()。

A.只讀模式B.覆蓋寫模式C.文本文件模式D.二進(jìn)制文件模式

26.以下保留字不用于循環(huán)邏輯的是()。

A.tryB.elseC.forD.continue

27.下面代碼的輸出結(jié)果是()。list=[“1”,”3”,”5”]defapp(x):list.a(chǎn)ppend(x)app(”7”)print(list)

A.[’1’,’3’,’5’]B.[’1’,’3’,’5’,’7’]C.[’7’]D.”1,3,5,7”

28.以下關(guān)于分支結(jié)構(gòu)的描述中,錯(cuò)誤的是()。

A.if語句中語句塊執(zhí)行與否依賴于條件判斷

B.if語句中條件部分可以使用任何能夠產(chǎn)生True和False的語句和函數(shù)

C.二分支結(jié)構(gòu)有一種緊湊形式,使用保留字if和elif實(shí)現(xiàn)

D.多分支結(jié)構(gòu)用于設(shè)置多個(gè)判斷條件以及對(duì)應(yīng)的多條執(zhí)行路徑

29.下面的d是一個(gè)字典變量,能夠輸出數(shù)字2的語句是()。d={’food’:{’cake’:1,’egg’:5},’cake’:2,’egg’:3}

A.print(d[’food’][’egg’])

B.print(d[’cake’])

C.print(d[’food’][一1])

D.print(d[’cake’][1])

30.下列敘述中正確的是()。

A.找是“先進(jìn)先出”的線性表

B.隊(duì)列是“先進(jìn)后出”的線性表

C.循環(huán)隊(duì)列是非線性結(jié)構(gòu)

D.有序線性表既可以釆用順序存儲(chǔ)結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

二、判斷題(10題)31.執(zhí)行語句frommathimportsin之后,可以直接使用sin()函數(shù),例如sin(3)。

A.是B.否

32.異常處理結(jié)構(gòu)也不是萬能的,處理異常的代碼也有引發(fā)異常的可能。

A.是B.否

33.定義函數(shù)時(shí),即使該函數(shù)不需要接收任何參數(shù),也必須保留一對(duì)空的圓括號(hào)來表示這是一個(gè)函數(shù)。

A.是B.否

34.放在一對(duì)三引號(hào)之間的任何內(nèi)容將被認(rèn)為是注釋。

A.是B.否

35.程序中異常處理結(jié)構(gòu)在大多數(shù)情況下是沒必要的。

A.是B.否

36.已知x=3,那么賦值語句x='abcedfg'是無法正常執(zhí)行的。

A.是B.否

37.異常處理結(jié)構(gòu)中的finally塊中代碼仍然有可能出錯(cuò)從而再次引發(fā)異常。

A.是B.否

38.無法刪除集合中指定位置的元素,只能刪除特定值的元素。

A.是B.否

39.字典可以作為集合的元素。

A.是B.否

40.在Python3.x中可以使用中文作為變量名。

A.是B.否

三、填空題(10題)41.表達(dá)式int(4**0.5)的值為____________。

42.Python擴(kuò)展庫______________和______________提供了圖像處理功能。

43.已知列表x=[1,2],那么執(zhí)行語句x.append([3])之后,x的值為_____________。

44.已知x={1:2},那么執(zhí)行語句x[2]=3之后,x的值為________________。

45.表達(dá)式1<2<3的值為_________。

46.表達(dá)式type(3)==int的值為__________。

47.表達(dá)式'abcabcabc'.count('abc')的值為_____________。

48.表達(dá)式abs(3+4j)的值為____________。

49.查看變量類型的Python內(nèi)置函數(shù)是________________。

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

四、操作題(3題)51.考生文件夾下存在一個(gè)Python源文件“PY301.py”,請(qǐng)按照文件內(nèi)說明修改代碼,實(shí)現(xiàn)以下功能。愷撒密碼是一種非常古老的加密算法,相傳當(dāng)年愷撒大帝行軍打仗時(shí)為了保證自己的命令不被敵軍知道,它采用了替換方法將信息中的每一個(gè)英文字母循環(huán)替換為字母表序列中該字母后面的第三個(gè)字母,即循環(huán)后三位,對(duì)應(yīng)關(guān)系如下。原文:ABCDEFGHIJKLMNOPQRSTUVWXYZ密文:DEFGHIJKLMNOPQRSTUVWXYZABC原文字母P,其密文字母C滿足如下條件。C=(P+3)mod26解密方法反之,滿足如下條件。P=(C-3)mod26愷撒密碼包括加密算法和解密算法兩個(gè)部分。愷撒密碼的加密算法程序首先接收用戶輸入的文本,然后對(duì)字母a?z和字母A?Z按照密碼算法進(jìn)行轉(zhuǎn)換,同時(shí)輸出。其他非英文字母原樣輸出。試題程序:#以下代碼為提示框架#請(qǐng)?jiān)?..處使用一行或多行代碼替換#注意..提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)intxt=input(“請(qǐng)輸入明文:")

52.考生文件夾下存在一個(gè)文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請(qǐng)?jiān)谠撐募芯帉懘a,以實(shí)現(xiàn)如下功能。用鍵盤輸入兩個(gè)大于0的整數(shù),按要求輸出這兩個(gè)整數(shù)之間(不包括這兩個(gè)整數(shù))的所有素?cái)?shù)。素?cái)?shù)又稱質(zhì)數(shù),是指除了1和它本身以外不能被其他整數(shù)整除的數(shù)。試題程序:#以下代碼為提示框架#請(qǐng)?jiān)?..處使用一行或多行代碼替換#請(qǐng)?jiān)赺____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)lower=int(input(‘輸入?yún)^(qū)間最小值:’))upper=int(inputs(‘輸入?yún)^(qū)間最大值:’))fornuminrange(_____,_____):

53.考生文件夾下存在一個(gè)文件PY101.py,請(qǐng)寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能:隨機(jī)選擇一個(gè)手機(jī)品牌屏幕輸出。

試題程序:

#請(qǐng)?jiān)诔绦虻摹幨褂靡恍谢蚨嘈写a替換

#請(qǐng)?jiān)诔绦虻腳_____處使用一行代碼替換#注意:請(qǐng)不要修改其他已給出代碼

import________brandlist=[’三星’,’蘋果’,’vivo’,’OPPO’,’魅族’]random.seed(0)

……

print(name)

參考答案

1.Cid(x)是Python中的內(nèi)置函數(shù),用來查看變量在內(nèi)存中的地址。本題選擇C選項(xiàng)。

2.B在Python中對(duì)字母大小寫是敏感的,’N’和’n’是不同的字符。本題中,有兩層for循環(huán),即每個(gè)字符要輸出兩次,直到i=’n’時(shí),跳出循環(huán),執(zhí)行輸出語句。故答案為B項(xiàng)。

3.Adivmod(a,b)函數(shù)返回的是兩個(gè)數(shù)值的商和余數(shù),那么a和b的值分別是(2,1)和(0,2),而c是把a(bǔ)、b相加后轉(zhuǎn)為集合型,那么a+b為(2,1,0,2),轉(zhuǎn)成集合后即{0,1,2},最后是取總和的sum()函數(shù),所以相加的總和為3。本題選擇A選項(xiàng)。

4.D使用rmdir()刪除目錄之前要先清除其中所有的文件,否則會(huì)報(bào)OSError錯(cuò)誤。本題選擇D選項(xiàng)。

5.APython使用format()格式化方法,語法格式為<模板字符串>.format(\n<逗號(hào)分隔的參數(shù)>),其中模板字符串是一個(gè)由字符串和槽組成的字符串,用來控制字符串和變量的顯示效果。槽用花括號(hào)({})表示,對(duì)應(yīng)fcmnat()方法中逗號(hào)分隔的參數(shù)。如果模板字符串有多個(gè)槽,且槽內(nèi)沒有指定序號(hào),則按照槽出現(xiàn)的順序分別對(duì)應(yīng)format()方法中的不同參數(shù)。參數(shù)根據(jù)出現(xiàn)先后存在一個(gè)默認(rèn)序號(hào)。本題選擇A選項(xiàng)。

6.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ì)前一次遞歸減小。

7.B在Python中,屬于Web開發(fā)的第三方庫的有Django庫、pyramid庫及Flask庫。本題選擇B選項(xiàng)。

8.D列表是包含0個(gè)或多個(gè)元素的有序序列,屬于序列類型。列表用中括號(hào)([])表示,由于列表屬于序列類型,故繼承了序列類型的所有屬性和方法。索引是列表的基本操作,用于獲得列表中的一個(gè)元素,該操作沿用序列類型的索引方式,即正向遞增序號(hào)或反向遞減序號(hào),使用中括號(hào)作為索引操作符,索引號(hào)不得超過列表的元素范圍,否則將產(chǎn)生lndexError錯(cuò)誤。索引下標(biāo)從0開始。列表可以進(jìn)行元素增加、刪除、替換、查找等操作。列表沒有長度限制,元素類型可以不同,能夠包含其他的組合數(shù)據(jù)類型,可以使用比較操作符(如>或<等)對(duì)列表進(jìn)行比較,也可以對(duì)列表進(jìn)行成員運(yùn)算操作、長度計(jì)算和分片。故D項(xiàng)正確。

9.A在Python中,使用open()打開文件的操作過程中需要注意,由于“\\”是字符串中的轉(zhuǎn)義符,所以表示路徑時(shí),使用“\\\\”,“/”或“//”代替“\\”。本題選擇A選項(xiàng)。

10.C在Python中,類的定義中以一個(gè)下劃線開頭是成員的保護(hù)成員,以兩個(gè)下劃線開頭和結(jié)束的成員是系統(tǒng)定義的特殊成員,以兩個(gè)或多個(gè)下劃線開頭但不以兩個(gè)或多個(gè)下劃線結(jié)束的成員是私有成員,所以選C。

11.D

12.C這段代碼是全局變量、局部變量以及Python內(nèi)置函數(shù)bool()的一個(gè)結(jié)合。在函數(shù)內(nèi)部的局部變量名和函數(shù)外部全局變量名相同時(shí),調(diào)用函數(shù)時(shí),總是先找到函數(shù)內(nèi)部的局部變量名,所以當(dāng)a為2時(shí),經(jīng)過布爾型轉(zhuǎn)換之后的a\r\n-2,即b為False,而在函數(shù)外部只能訪問全局變量名,所以n仍為2,本題選擇C選項(xiàng)。

13.B在E—R圖中實(shí)體集用矩形,屬性用橢圓,聯(lián)系用菱形。

14.D“//”返回兩個(gè)數(shù)的整數(shù)商,且返回的類型滿足以下關(guān)系:①整數(shù)和浮點(diǎn)數(shù)混合運(yùn)算,輸出結(jié)果是浮點(diǎn)數(shù);②整數(shù)之間運(yùn)算,結(jié)果為整數(shù)。因此,5.2//2.5=2.0。

15.D只有當(dāng)程序未引發(fā)異常順利執(zhí)行完try中的代碼后,else語句塊內(nèi)的代碼才會(huì)執(zhí)行。本題中try中無異常,輸出變量C的值,再執(zhí)行else中的代碼。本題選擇D選項(xiàng)。

16.BPython中open()函數(shù)提供了7種基本的文件打開模式:r、w、x、a、b、t、+。其中,r、w、x、a可以和b、t、+組合使用。故表示錯(cuò)誤的是B項(xiàng)。

17.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ò)誤。

18.C設(shè)葉子結(jié)點(diǎn)數(shù)為〃,則該樹的結(jié)點(diǎn)數(shù)為n+9+5=n+\n14,根據(jù)樹中的結(jié)點(diǎn)數(shù)=樹中所有結(jié)點(diǎn)的度之和+1,得9×3+0×2+5×1+n×0+1=n+14,則n=19。本題選擇C選項(xiàng)。

19.Apipdownload<第三方庫名>用于下載第三方庫的安裝包,但并不安裝;pipuninstall<第三方庫名>用于卸載一個(gè)已經(jīng)安裝的第三方庫;pipinstall<第三方庫名>用于安裝第三方庫;pipsearch<第三方庫名>用于聯(lián)網(wǎng)搜索庫名或摘要中的關(guān)鍵字。本題選擇A選項(xiàng)。

20.D

21.A不同類型之間不能相互運(yùn)算;除數(shù)不能為0;print“noerror”語句是Python2.x系列的語法,不適用Python3.x系列。本題選擇A選項(xiàng)。

22.B變量s是元組類型,type()返回的是表達(dá)式的值的類型。本題選擇B選項(xiàng)。

23.A該代碼的功能是根據(jù)傳人的參數(shù)求取該數(shù)的階乘,經(jīng)過一系列的運(yùn)算將結(jié)果返回,4的階乘為24。

24.CPython中復(fù)數(shù)類型的虛數(shù)部分的后綴可以為j或者J;復(fù)數(shù)的實(shí)部可以單獨(dú)存在,但是虛部不可以單獨(dú)存在;復(fù)數(shù)由實(shí)部和虛部構(gòu)成,可以使用z.\nreal和z.imag分別獲得它的實(shí)部和虛部。本題選擇C選項(xiàng)。

25.C在Python中,文件的打開模式對(duì)應(yīng)為:r表示只讀;w表示覆蓋寫;t表示文本文件模式;b表示二進(jìn)制文件模式。本題選擇D選項(xiàng)。

26.A用于循環(huán)邏輯的保留字:while、for、else、break、continue。try用于捕捉異常。

27.Bappend()是向列表元素的結(jié)尾增加元素。

28.CPython的單分支結(jié)構(gòu)使用if保留字對(duì)條件進(jìn)行判斷,使用方式為:\nif<條件>:\n<語句塊>\nPython的二分支結(jié)構(gòu)使用if—else保留字對(duì)條件進(jìn)行判斷,語法格式為:\nif<條件>:\n<語句塊1>\nelse:\n<語句塊2>\nPython的多分支結(jié)構(gòu)使用if—elif—else保留字對(duì)多個(gè)相關(guān)條件進(jìn)行判斷,并根據(jù)不同條件的結(jié)果按照順\n序選擇執(zhí)行路徑,語法格式為:\nif<條件l>:\n<語句塊1>\nelif<條件2>:\n<語句塊2>\nelse:\n<語句塊3>

29.B在Python語言中,字典是存儲(chǔ)可變數(shù)量鍵值對(duì)的數(shù)據(jù)結(jié)構(gòu),鍵和值可以是任意數(shù)據(jù)類型,通過鍵索引值,并可以通過鍵修改值。因此,可以直接利用鍵值對(duì)關(guān)系索引元素。索引模式:<值>=<字典變量>[<鍵>]。故能夠正確索引字典并輸出數(shù)字2的語句是pnnt(d[’cake’]),B項(xiàng)正確。

30.D棧是先進(jìn)后出的線性表,所以A選項(xiàng)錯(cuò)誤;隊(duì)列是先進(jìn)先出的線性表,所以B選項(xiàng)錯(cuò)誤;循環(huán)隊(duì)列是線性結(jié)構(gòu)的線性表,所以C選項(xiàng)錯(cuò)誤。本題選擇D選項(xiàng)。

31.Y

32.Y

33.Y

34.N

35.N

36.N

37.Y

38.Y

39.N

40.Y

41.2

42.PIL、pillow

43.[1,2,[3]]

44.{1:2,2:3}

45.True

46.TrueTrue

47.3

48.5.0

49.type()

50.'ab:efg'

51.intxt=input(”請(qǐng)輸入明文:”)ForpinintxtIf”a”<=p<=”z”:Print(chr(ord(“a”)+(ord(p)-ord(“a”)+3%26),end=””)Elif”A”<=p<=”z”:Print(chr(ord(“A”)+(ord(p)-ord(“A”)+3%26),end=””)Else:Print(p,end=””)使用for循環(huán)遍歷輸入的每一個(gè)字符:如果輸入的字符是大小寫字母,把該字母替換為該字母后面的第三個(gè)字母,將轉(zhuǎn)換后的字母進(jìn)行輸出;如果輸入的字符不是大小寫字母,則原樣輸出字符,該部分功能通過if多分支結(jié)構(gòu)實(shí)現(xiàn)。

52.lower=int(input(‘輸入?yún)^(qū)間最小值:’))upper=int(inputs(‘輸入?yún)^(qū)間最大值:’))fornuminrange(lower+1,upper):Ifnum>1:Foriin染個(gè)(2,num):If(num%i)==0:BreakElse:Print(num)題目要求輸出兩個(gè)整數(shù)之間(不包括這兩個(gè)整數(shù))的所有素?cái)?shù),因此mnge()函數(shù)的參數(shù)應(yīng)為lower+1和upper。for循環(huán)遍歷range(lower\n+l,upper)返回的每個(gè)整數(shù)num,判斷該數(shù)是否為素?cái)?shù)。如果num大于1(1既不是素?cái)?shù)也不是合數(shù)),且該數(shù)能被取值范圍為[2,num-1\n]的任何一個(gè)整數(shù)整除,那么該數(shù)一定不是素?cái)?shù),否則一定是素?cái)?shù)。

53.importrandom\r\nbrandlist=[’三星’,’蘋果’,’vivo’,’OPPO’,’魅族’]\r\nrandom.seed(0)\r\nname=brandlist[random.randint(0,4)]

print(name)題目要求隨機(jī)輸出列表中的一個(gè)手機(jī)名稱,“隨機(jī)”需要用到Python的標(biāo)準(zhǔn)庫random,random.seed(0)的作用是設(shè)置初始化隨機(jī)數(shù)種子,設(shè)置種子的好處就是可以重復(fù)再現(xiàn)相同的隨機(jī)數(shù)序列。輸出列表中的元素可以使用索引的方法,分析代碼可知,列表中共有5個(gè)元素,所以元素的序號(hào)由0到4,需要用到random庫的randint()方法。random.randint(a,b)的作用是產(chǎn)生一個(gè)[a,b]之間的隨機(jī)整數(shù)。遼寧省遼陽市全國計(jì)算機(jī)等級(jí)考試Python語言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(30題)1.以下程序的意義是()。>>>car=‘BWM’>>>id(car)

A.查看變量所占的位數(shù)B.轉(zhuǎn)換成布爾值C.查看變量在內(nèi)存中的地址D.把變量中的元素隨機(jī)排列

2.以下程序的輸出結(jié)果是()。foriin”Nation”:forkinrange(2):ifi==’n’:breakprint(i,end=””)

A.aattiiooB.NNaattiiooC.NaattiioonD.aattiioonn

3.以下程序的輸出結(jié)果是()。a=divmod(5,2)b=divmod(2,6)c=set(a+b)print(sum(c))

A.3B.5C.2D.0

4.如果文件a.txt在目錄“C:\\A”下,執(zhí)行以下代碼會(huì)發(fā)生的操作是()。importosos.rmdir(r'C:\\A’)

A.刪除文件夾A,保留文件a.txt

B.刪除文件夾A和文件a.txt

C.刪除文件a.txt,保留文件夾A

D.OSError

5.下面程序輸出的結(jié)果是()。sl,s2=”Mom”,””Dad"Print(“{}loves{}format(s2,si))

A.DadlovesMomB.MomlovesDadC.sllovess2D.s2lovess1

6.下面關(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ì)于前一次遞歸是不變的

7.在Python中,屬于Web開發(fā)的第三方庫是()。

A.mayaviB.flaskC.PyQt5D.time

8.以下關(guān)于Python列表的描述中,正確的是()。

A.列表的長度和內(nèi)容都可以改變,但元素類型必須相同

B.不可以對(duì)列表進(jìn)行成員運(yùn)算操作、長度計(jì)算和分片

C.列表的索引是從1開始的

D.可以使用比較操作符(如>或<等)對(duì)列表進(jìn)行比較

9.在Python中,使用open()打開一個(gè)Windows操作系統(tǒng)D盤下的文件,路徑名錯(cuò)誤的是()。

A.D:\PythonTest\a.txt

B.D:\\PythonTest\\a.txt

C.D:/PythonTest/a.txt

D.D://PythonTest//a.txt

10.下面哪一種定義是類的私有成員?()

A._xxB._xx_C._xxxD.xxx

11.以下哪個(gè)語句不適宜對(duì)異常捕獲()

A.try..catchB.assertC.withD.ifelif

12.下面代碼的輸出結(jié)果是()。n=2deff(a):n=bool(a-2)returnnb=f(2)print(n,b)

A.20

B.0True

C.2False

D.0False

13.在E-R圖中,用來表示實(shí)體的圖形是()。

A.橢圓形B.矩形C.菱形D.三角形

14.以下代碼的輸出結(jié)果是()。a=5.2b=2.5print(a//b)

A.2.08B.2.1C.2D.2.0

15.下面代碼的輸出結(jié)果是()。print("calculationerror*')else:print("noerror")

A.calculationerrorB.noerrorC.9.0D.9.0noerror

16.關(guān)于Python文件打開模式,表示錯(cuò)誤的是()。

A.rtB.nbC.abD.wt

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

A.只讀模式rB.覆蓋寫模式wC.追加寫模式aD.創(chuàng)建寫模式n

18.樹的度為3,且有9個(gè)度為3的節(jié)點(diǎn),5個(gè)度為1的節(jié)點(diǎn),但沒有度為2的節(jié)點(diǎn)。則該樹中的葉子節(jié)點(diǎn)數(shù)為()。

A.18B.33C.19D.32

19.下載但不安裝一個(gè)第三方庫的命名格式是()。

A.pipdownload<第三方庫名>

B.pipuninstall<第三方庫名>

C.pipinstall<第三方庫名>

D.pipsearch<第三方庫名>

20.現(xiàn)要將某氣象觀測(cè)站每天不同時(shí)間點(diǎn)的氣溫及濕度的觀察值保存,方便以后進(jìn)行調(diào)用及查詢,在Python3哪種數(shù)據(jù)結(jié)構(gòu)更合適()

A.字符串B.列表C.集合D.字典

21.以下語句不會(huì)引發(fā)異常的是()。

A.a=b=3+1jB.1+“1”C.3/0D.print“noerror”

22.下面代碼的輸出結(jié)果是()。>>>s=(3,)>>>type(s)

A.<class'diet'>

B.<class'tuple’>

C.<class'list'>

D.<class'set’>

23.下面代碼的輸出結(jié)果是()。deff(n):ifn==1:return1else:returnn*f(n—1)print(f(4))

A.24B.4C.0D.10

24.下列關(guān)于Python中復(fù)數(shù)類型的描述錯(cuò)誤的是()。

A.復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成

B.復(fù)數(shù)可以看作二元有序?qū)崝?shù)對(duì)(a,b)

C.虛數(shù)部分必須有后綴j,且為小寫

D.復(fù)數(shù)中的虛數(shù)部分不能單獨(dú)存在,必須有實(shí)數(shù)部分

25.Python中文件的打開模式為“t”,對(duì)應(yīng)的文件打開模式為()。

A.只讀模式B.覆蓋寫模式C.文本文件模式D.二進(jìn)制文件模式

26.以下保留字不用于循環(huán)邏輯的是()。

A.tryB.elseC.forD.continue

27.下面代碼的輸出結(jié)果是()。list=[“1”,”3”,”5”]defapp(x):list.a(chǎn)ppend(x)app(”7”)print(list)

A.[’1’,’3’,’5’]B.[’1’,’3’,’5’,’7’]C.[’7’]D.”1,3,5,7”

28.以下關(guān)于分支結(jié)構(gòu)的描述中,錯(cuò)誤的是()。

A.if語句中語句塊執(zhí)行與否依賴于條件判斷

B.if語句中條件部分可以使用任何能夠產(chǎn)生True和False的語句和函數(shù)

C.二分支結(jié)構(gòu)有一種緊湊形式,使用保留字if和elif實(shí)現(xiàn)

D.多分支結(jié)構(gòu)用于設(shè)置多個(gè)判斷條件以及對(duì)應(yīng)的多條執(zhí)行路徑

29.下面的d是一個(gè)字典變量,能夠輸出數(shù)字2的語句是()。d={’food’:{’cake’:1,’egg’:5},’cake’:2,’egg’:3}

A.print(d[’food’][’egg’])

B.print(d[’cake’])

C.print(d[’food’][一1])

D.print(d[’cake’][1])

30.下列敘述中正確的是()。

A.找是“先進(jìn)先出”的線性表

B.隊(duì)列是“先進(jìn)后出”的線性表

C.循環(huán)隊(duì)列是非線性結(jié)構(gòu)

D.有序線性表既可以釆用順序存儲(chǔ)結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

二、判斷題(10題)31.執(zhí)行語句frommathimportsin之后,可以直接使用sin()函數(shù),例如sin(3)。

A.是B.否

32.異常處理結(jié)構(gòu)也不是萬能的,處理異常的代碼也有引發(fā)異常的可能。

A.是B.否

33.定義函數(shù)時(shí),即使該函數(shù)不需要接收任何參數(shù),也必須保留一對(duì)空的圓括號(hào)來表示這是一個(gè)函數(shù)。

A.是B.否

34.放在一對(duì)三引號(hào)之間的任何內(nèi)容將被認(rèn)為是注釋。

A.是B.否

35.程序中異常處理結(jié)構(gòu)在大多數(shù)情況下是沒必要的。

A.是B.否

36.已知x=3,那么賦值語句x='abcedfg'是無法正常執(zhí)行的。

A.是B.否

37.異常處理結(jié)構(gòu)中的finally塊中代碼仍然有可能出錯(cuò)從而再次引發(fā)異常。

A.是B.否

38.無法刪除集合中指定位置的元素,只能刪除特定值的元素。

A.是B.否

39.字典可以作為集合的元素。

A.是B.否

40.在Python3.x中可以使用中文作為變量名。

A.是B.否

三、填空題(10題)41.表達(dá)式int(4**0.5)的值為____________。

42.Python擴(kuò)展庫______________和______________提供了圖像處理功能。

43.已知列表x=[1,2],那么執(zhí)行語句x.append([3])之后,x的值為_____________。

44.已知x={1:2},那么執(zhí)行語句x[2]=3之后,x的值為________________。

45.表達(dá)式1<2<3的值為_________。

46.表達(dá)式type(3)==int的值為__________。

47.表達(dá)式'abcabcabc'.count('abc')的值為_____________。

48.表達(dá)式abs(3+4j)的值為____________。

49.查看變量類型的Python內(nèi)置函數(shù)是________________。

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

四、操作題(3題)51.考生文件夾下存在一個(gè)Python源文件“PY301.py”,請(qǐng)按照文件內(nèi)說明修改代碼,實(shí)現(xiàn)以下功能。愷撒密碼是一種非常古老的加密算法,相傳當(dāng)年愷撒大帝行軍打仗時(shí)為了保證自己的命令不被敵軍知道,它采用了替換方法將信息中的每一個(gè)英文字母循環(huán)替換為字母表序列中該字母后面的第三個(gè)字母,即循環(huán)后三位,對(duì)應(yīng)關(guān)系如下。原文:ABCDEFGHIJKLMNOPQRSTUVWXYZ密文:DEFGHIJKLMNOPQRSTUVWXYZABC原文字母P,其密文字母C滿足如下條件。C=(P+3)mod26解密方法反之,滿足如下條件。P=(C-3)mod26愷撒密碼包括加密算法和解密算法兩個(gè)部分。愷撒密碼的加密算法程序首先接收用戶輸入的文本,然后對(duì)字母a?z和字母A?Z按照密碼算法進(jìn)行轉(zhuǎn)換,同時(shí)輸出。其他非英文字母原樣輸出。試題程序:#以下代碼為提示框架#請(qǐng)?jiān)?..處使用一行或多行代碼替換#注意..提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)intxt=input(“請(qǐng)輸入明文:")

52.考生文件夾下存在一個(gè)文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請(qǐng)?jiān)谠撐募芯帉懘a,以實(shí)現(xiàn)如下功能。用鍵盤輸入兩個(gè)大于0的整數(shù),按要求輸出這兩個(gè)整數(shù)之間(不包括這兩個(gè)整數(shù))的所有素?cái)?shù)。素?cái)?shù)又稱質(zhì)數(shù),是指除了1和它本身以外不能被其他整數(shù)整除的數(shù)。試題程序:#以下代碼為提示框架#請(qǐng)?jiān)?..處使用一行或多行代碼替換#請(qǐng)?jiān)赺____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)lower=int(input(‘輸入?yún)^(qū)間最小值:’))upper=int(inputs(‘輸入?yún)^(qū)間最大值:’))fornuminrange(_____,_____):

53.考生文件夾下存在一個(gè)文件PY101.py,請(qǐng)寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能:隨機(jī)選擇一個(gè)手機(jī)品牌屏幕輸出。

試題程序:

#請(qǐng)?jiān)诔绦虻摹幨褂靡恍谢蚨嘈写a替換

#請(qǐng)?jiān)诔绦虻腳_____處使用一行代碼替換#注意:請(qǐng)不要修改其他已給出代碼

import________brandlist=[’三星’,’蘋果’,’vivo’,’OPPO’,’魅族’]random.seed(0)

……

print(name)

參考答案

1.Cid(x)是Python中的內(nèi)置函數(shù),用來查看變量在內(nèi)存中的地址。本題選擇C選項(xiàng)。

2.B在Python中對(duì)字母大小寫是敏感的,’N’和’n’是不同的字符。本題中,有兩層for循環(huán),即每個(gè)字符要輸出兩次,直到i=’n’時(shí),跳出循環(huán),執(zhí)行輸出語句。故答案為B項(xiàng)。

3.Adivmod(a,b)函數(shù)返回的是兩個(gè)數(shù)值的商和余數(shù),那么a和b的值分別是(2,1)和(0,2),而c是把a(bǔ)、b相加后轉(zhuǎn)為集合型,那么a+b為(2,1,0,2),轉(zhuǎn)成集合后即{0,1,2},最后是取總和的sum()函數(shù),所以相加的總和為3。本題選擇A選項(xiàng)。

4.D使用rmdir()刪除目錄之前要先清除其中所有的文件,否則會(huì)報(bào)OSError錯(cuò)誤。本題選擇D選項(xiàng)。

5.APython使用format()格式化方法,語法格式為<模板字符串>.format(\n<逗號(hào)分隔的參數(shù)>),其中模板字符串是一個(gè)由字符串和槽組成的字符串,用來控制字符串和變量的顯示效果。槽用花括號(hào)({})表示,對(duì)應(yīng)fcmnat()方法中逗號(hào)分隔的參數(shù)。如果模板字符串有多個(gè)槽,且槽內(nèi)沒有指定序號(hào),則按照槽出現(xiàn)的順序分別對(duì)應(yīng)format()方法中的不同參數(shù)。參數(shù)根據(jù)出現(xiàn)先后存在一個(gè)默認(rèn)序號(hào)。本題選擇A選項(xiàng)。

6.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ì)前一次遞歸減小。

7.B在Python中,屬于Web開發(fā)的第三方庫的有Django庫、pyramid庫及Flask庫。本題選擇B選項(xiàng)。

8.D列表是包含0個(gè)或多個(gè)元素的有序序列,屬于序列類型。列表用中括號(hào)([])表示,由于列表屬于序列類型,故繼承了序列類型的所有屬性和方法。索引是列表的基本操作,用于獲得列表中的一個(gè)元素,該操作沿用序列類型的索引方式,即正向遞增序號(hào)或反向遞減序號(hào),使用中括號(hào)作為索引操作符,索引號(hào)不得超過列表的元素范圍,否則將產(chǎn)生lndexError錯(cuò)誤。索引下標(biāo)從0開始。列表可以進(jìn)行元素增加、刪除、替換、查找等操作。列表沒有長度限制,元素類型可以不同,能夠包含其他的組合數(shù)據(jù)類型,可以使用比較操作符(如>或<等)對(duì)列表進(jìn)行比較,也可以對(duì)列表進(jìn)行成員運(yùn)算操作、長度計(jì)算和分片。故D項(xiàng)正確。

9.A在Python中,使用open()打開文件的操作過程中需要注意,由于“\\”是字符串中的轉(zhuǎn)義符,所以表示路徑時(shí),使用“\\\\”,“/”或“//”代替“\\”。本題選擇A選項(xiàng)。

10.C在Python中,類的定義中以一個(gè)下劃線開頭是成員的保護(hù)成員,以兩個(gè)下劃線開頭和結(jié)束的成員是系統(tǒng)定義的特殊成員,以兩個(gè)或多個(gè)下劃線開頭但不以兩個(gè)或多個(gè)下劃線結(jié)束的成員是私有成員,所以選C。

11.D

12.C這段代碼是全局變量、局部變量以及Python內(nèi)置函數(shù)bool()的一個(gè)結(jié)合。在函數(shù)內(nèi)部的局部變量名和函數(shù)外部全局變量名相同時(shí),調(diào)用函數(shù)時(shí),總是先找到函數(shù)內(nèi)部的局部變量名,所以當(dāng)a為2時(shí),經(jīng)過布爾型轉(zhuǎn)換之后的a\r\n-2,即b為False,而在函數(shù)外部只能訪問全局變量名,所以n仍為2,本題選擇C選項(xiàng)。

13.B在E—R圖中實(shí)體集用矩形,

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論