河南省開封市全國計算機(jī)等級考試Python語言程序設(shè)計_第1頁
河南省開封市全國計算機(jī)等級考試Python語言程序設(shè)計_第2頁
河南省開封市全國計算機(jī)等級考試Python語言程序設(shè)計_第3頁
河南省開封市全國計算機(jī)等級考試Python語言程序設(shè)計_第4頁
河南省開封市全國計算機(jī)等級考試Python語言程序設(shè)計_第5頁
已閱讀5頁,還剩58頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

河南省開封市全國計算機(jī)等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.在Python語言中,使用open()打開一個Windows操作系統(tǒng)D盤下的文件,路徑名錯誤的是()。

A.D:\PythonTest\a.txt

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

C.D:/PythonTest/a.txt

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

2.初始化實例對象時,調(diào)用的是魔法函數(shù)是()A.initB.newC.cmpD.del

3.下面代碼的輸出結(jié)果是()。foriinrange(3):forjin”dream”:ifj=="e":continueprint(j,end="")

A.dramdramdramB.drdrdrC.dreamdreamdreamD.dream

4.sorted([15,'china',407],key=lambdax:len(str(x)))返回為()

A.[15,407,'china']

B.['china',407,15]

C.['china',15,407]

D.[15,'china',407]

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

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

6.以下程序的輸出結(jié)果是()。test={“age”:“18”,“score”:“[89,95]”,“name”:“Hawking”}print(test[“score”],test.get(“name”,“Rose”))

A.89,95Hawking

B.[89,95]Hawking

C.[89,95]Rose

D.[89,95]name

7.對以下代碼的輸出描述正確的是()。lis=list(range(6))print(lis)

A.[0,1,2,3,4,5]

B.[0,1,2,3,4,5,6]

C.0,1,2,3,4,5

D.0,1,2,3,4,5,6

8.以下不屬于Python中異常處理結(jié)構(gòu)的是()。

A.try-except

B.try-except—if

C.try—except-else

D.try—except-finally

9.以下程序的輸出結(jié)果是()。t=10.5defabove_zero(t): returnt>0

A.TrueB.FalseC.10.5D.沒有輸出

10.從訪問權(quán)限的角度來看,類中的方法默認(rèn)都是()

A.私有方法B.公有方法C.靜態(tài)方法D.實例方法

11.以下程序的輸出結(jié)果是()。foriin“miss”: forjinrange(3): print(i,end=‘’) ifi==“i”: break

A.missmissmissB.mmmissssssC.mmmiiissssssD.mmmssssss

12.關(guān)于Python中is與==說法正確的是

A.is對比兩個變量指向是否為同一對象,==對比兩個變量指向?qū)ο笫欠駷橥?/p>

B.is對比兩個變量指向?qū)ο笫欠駷橥恢?==是對比兩個變量指向是否為同一對象

C.is與==除均可用于比較對象是否為同一對象外,==還可以用于比較對象的值

D.以上說法均不正確

13.以下代碼的輸出結(jié)果是()。x=12+3*((5*8)一14)//6print(x)

A.25.0B.65C.25D.24

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

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

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

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

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

15.以下代碼的輸出結(jié)果是()。forsin"PythonNCRE":ifs=="N”:breakprint(s,end="")

A.PythonCREB.NC.PythonD.PythonNCRE

16.以下關(guān)于Python循環(huán)結(jié)構(gòu)的描述中,錯誤的是()。

A.while循環(huán)使用關(guān)鍵字continue結(jié)束本次循環(huán)

B.while循環(huán)可以使用保留字break和continue

C.while循環(huán)也叫遍歷循環(huán),用來遍歷序列中的元素,默認(rèn)提取每個元素并執(zhí)行一次循環(huán)體

D.while循環(huán)使用pass語句,則什么事也不做,只是空占位語句

17.以下關(guān)于數(shù)據(jù)維度的描述,錯誤的是()。

A.—維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織,對應(yīng)于數(shù)學(xué)中的集合或數(shù)組的概念

B.二維數(shù)據(jù)由關(guān)聯(lián)關(guān)系構(gòu)成,采用表格方式組織,對應(yīng)于數(shù)學(xué)中的矩陣

C.高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)組成,采用對象方式組織

D.—維數(shù)據(jù)由對等關(guān)系的有序數(shù)據(jù)構(gòu)成,無序數(shù)據(jù)不是一維數(shù)據(jù)

18.以下關(guān)于Python的描述中,正確的是()。A.函數(shù)中return語句只能放在函數(shù)定義的最后面

B.定義函數(shù)需要使用保留字def

C.函數(shù)最主要的作用是復(fù)用代碼

D.Python函數(shù)不可以定義在分支或循環(huán)語句的內(nèi)部

19.以下關(guān)于Python的try語句的描述中,錯誤的是()。

A.try用來捕捉執(zhí)行代碼發(fā)生的異常,處理異常后能夠回到異常處繼續(xù)執(zhí)行

B.執(zhí)行try代碼塊觸發(fā)異常后,會執(zhí)行except后面的語句

C.一個try代碼塊可以對應(yīng)多個處理異常的except代碼塊

D.try代碼塊不觸發(fā)異常時,不會執(zhí)行except后面的語句

20.以下代碼的輸出結(jié)果是()。forsin”HelloWorld”:ifs==”W”:continueprint(s,end=””)

A.WorldB.HelloC.HelloorldD.HelloWorld

21.文件family,txt在當(dāng)前代碼所在目錄內(nèi),其內(nèi)容是一段文本:Wearefamily。以下代碼的輸出結(jié)果是()。txt=open(“family.txt”,“r”)print(txt)txt.close()

A.txtB.family,txtC.非其他答案D.Wearefamily

22.關(guān)于表達(dá)式id(‘45’)的結(jié)果的描述,錯誤的是()。

A.是‘45’的內(nèi)存地址B.可能是45396706C.是一個正整數(shù)D.是一個字符串

23.軟件設(shè)計中模塊劃分應(yīng)遵循的準(zhǔn)則是()。A.低內(nèi)聚低耦合

B.高內(nèi)聚低耦合

C.低內(nèi)聚高耦合

D.高內(nèi)聚高耦合

24.下面代碼的輸出結(jié)果是()。deffun(x,y,z):u=x+y—zprint(u)fun(1+2j,5,4一1j)

A.NameErrorB.(2+3j)C.2D.3j

25.設(shè)棧與隊列初始狀態(tài)為空。首先A,B,C,D,E依次人棧,再F,G,H,I,J依次入隊;然后依次出棧至??眨僖来纬鲫犞陵牽?。則輸出序列為()。

A.F,G,H,I,J,A,B,C,D,E

B.F,G,H,I,J,E,D,C,B,A

C.E,D,C,B,A,J,I,H,G,F(xiàn)

D.E,D,C,B,A,F(xiàn),G,H,I,J

26.以下代碼的輸出結(jié)果是()。foriinrange(1,6):ifi%4==0:continueelse:print(i,end=”,”)

A.1,2,3,B.1,2,3,4,C.1,2,3,5,D.1,2,3,5,6,

27.下面程序的輸出結(jié)果是()。lisl=[1,2,['python1]]lis2=['loves']lisl[1]=lis2print(lisl)

A.[lis2,2,[‘python’]]

B.[1,['loves'],['python']]

C.[1,2,'python','loves']

D.[1,2,[‘python1,’loves’]]

28.以下關(guān)于文件的描述中,錯誤的是()。

A.文件是存儲在輔助存儲器上的一組數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內(nèi)容

B.可以使用open()打開文件,用close()關(guān)閉文件

C.使用read()可以從文件中讀入全部文本

D.使用readlines()可以從文件中讀入一行文本

29.用Pylnstaller工具把Python源文件打包成一個獨立的可執(zhí)行文件,使用的參數(shù)是()。

A.-LB.-C.-FD.-i

30.對于Python中的復(fù)數(shù),下列說法錯誤的是()A.表示復(fù)數(shù)的語法是real+imagej

B.實部和虛部都是浮點數(shù)

C.虛部必須后綴j,且必須是小寫

D.復(fù)數(shù)對象之間無法進(jìn)行比較

二、判斷題(10題)31.當(dāng)作為條件表達(dá)式時,[]與None等價。

A.是B.否

32.Python變量名必須以字母或下劃線開頭,并且區(qū)分字母大小寫。

A.是B.否

33.表達(dá)式{1,2}*2的值為{1,2,1,2}。

A.是B.否

34.假設(shè)有非空列表x,那么x.append(3)、x=x+[3]與x.insert(0,3)在執(zhí)行時間上基本沒有太大區(qū)別。A.是B.否

35.表達(dá)式[]==None的值為True。

A.是B.否

36.形參可以看做是函數(shù)內(nèi)部的局部變量,函數(shù)運行結(jié)束之后形參就不可訪問了。

A.是B.否

37.集合可以作為元組的元素。

A.是B.否

38.Python字典中的“鍵”可以是列表。

A.是B.否

39.Python標(biāo)準(zhǔn)庫os中的方法isfile()可以用來測試給定的路徑是否為文件。

A.是B.否

40.Python變量名區(qū)分大小寫,所以student和Student不是同一個變量。

A.是B.否

三、填空題(10題)41.線程對象的___________方法用來阻塞當(dāng)前線程,指定線程運行結(jié)束或超時后繼續(xù)運行當(dāng)前線程。

42.運算符%__________(可以/不可以)對浮點數(shù)進(jìn)行求余數(shù)操作。

43.Python標(biāo)準(zhǔn)庫os.path中用來判斷指定路徑是否為文件夾的方法是______________。

44.表達(dá)式list(map(lambdax:x+5,[1,2,3,4,5]))的值為______________________。

45.表達(dá)式sorted([111,2,33],key=lambdax:len(str(x)))的值為________________。

46.表達(dá)式'abc.txt'.endswith(('.txt','.doc','.jpg'))的值為___________。

47.已知x為非空列表,那么表達(dá)式x.reverse()==list(reversed(x))的值為__________。

48.表達(dá)式chr(ord('A')+2)的值為__________。

49.表達(dá)式'ac'in'abce'的值為_____________。

50.表達(dá)式len([iforiinrange(10)])的值為__________。

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

52.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:

鍵盤輸入正整數(shù)n,按要求把n輸出到屏幕,格式要求:寬度為25個字符,等號字符(=)填充,右對齊,帶千位分隔符。如果輸入正整數(shù)超過25位,則按照真實長度輸出。

例如:鍵盤輸入正整數(shù)n為1234,屏幕輸出===================1,234

試題程序:

#請完善如下代碼

s=input()

print(”{________(1)_________}”.format(________(2)_________))

53.考生文件夾下存在一個文件“PY103.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。用鍵盤輸入十進(jìn)制整數(shù),按要求將這個整數(shù)轉(zhuǎn)換為二進(jìn)制、八進(jìn)制及十六進(jìn)制(大寫)并輸出到屏幕。例如:輸入數(shù)字:425對應(yīng)的二進(jìn)制數(shù):110101001對應(yīng)的八進(jìn)制數(shù):651對應(yīng)的十六進(jìn)制數(shù):1A9試題程序:#請在_____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼num=eval(input("輸入數(shù)字:"))print("對應(yīng)的二進(jìn)制數(shù):{_____(1)_____}\n八進(jìn)制數(shù):{_____(2)_____}\n十六進(jìn)制數(shù):{_____(3)_____}".format(num))試題答案:num=eval(input("輸入數(shù)字:”))Print(”對應(yīng)的二進(jìn)制數(shù):{0:b}\n八進(jìn)制數(shù):{0:o}\n十六進(jìn)制數(shù):{0:x}”.format(num))

參考答案

1.A在Python語言中,使用open()打開文件的操作過程中需要注意,由于’\’是字符串中的轉(zhuǎn)義符,所以表示路徑時,使用”\\”、”/”或”//”代替”\”,A項錯誤。

2.A

3.Acontinue語句只結(jié)束本次循環(huán),不終止整個循環(huán)的執(zhí)行,而break語句具備結(jié)束循環(huán)的能力。本題外層循環(huán)用來計數(shù),內(nèi)層循環(huán)用來遍歷字符串,當(dāng)滿足判斷條件時,就會結(jié)束本次循環(huán)進(jìn)入下一循環(huán),字符串遍歷完成之后,外層循環(huán)進(jìn)入下一循環(huán)。本題選擇A選項。

4.A

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

6.B“score”鍵對應(yīng)的值是列表類型“[89,95]”,字典的get(key,default)方法:鍵存在則返回對應(yīng)值,否則返回默認(rèn)值default。“name”鍵存在于字典中,所以返回的是對應(yīng)值而不是默認(rèn)值。本題選擇B選項。

7.Arange(6)取到的是0,1,2,3,4,5這六個數(shù),這些數(shù)均為int類型,使用list()方法將其存儲在列表變量lis中。

8.BPython中異常處理結(jié)構(gòu)有try—except、try—except—else和try—except—finally,沒有選項B的用法。

9.D在Python中,return語句用來結(jié)束函數(shù)并將程序返回到函數(shù)被調(diào)用的位置繼續(xù)執(zhí)行。return語句可以出現(xiàn)在函數(shù)的任何部分,可以同時將0個、1個或多個函數(shù)運算結(jié)果返回給函數(shù)被調(diào)用處的變量。函數(shù)可以沒有return,此時函數(shù)并不返回值。return返回的是值而不是表達(dá)式,且此段語句并未調(diào)用函數(shù),故程序無輸出。本題選擇D選項。

10.B

11.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選項。

12.A

13.C在Python中算術(shù)運算符”//”來表示整數(shù)除法,返回不大于結(jié)果的一個最大的整數(shù),而”/”則單純的表示浮點數(shù)除法,返回浮點結(jié)果。所以先計算5*8=40,40一14=26,26*3=78,78//6=13,12+13=25。本題選擇C選項。

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

15.Cfor循環(huán)將字符串PythonNCRE的字符依次賦給變量s,當(dāng)s==”\nN”時,跳出for循環(huán),故輸出為Python。本題選擇C選項。

16.CPython中循環(huán)包括兩種:遍歷循環(huán)和無限循環(huán)。遍歷循環(huán)使用關(guān)鍵字for依次提取遍歷結(jié)構(gòu)元素進(jìn)行處理;無限循環(huán)使用關(guān)鍵字while根據(jù)判斷條件執(zhí)行程序。循環(huán)結(jié)構(gòu)有兩個輔助循環(huán)控制關(guān)鍵字:break和continue。break用來跳出最內(nèi)層for或while循環(huán),脫離該循環(huán)后程序從循環(huán)后的代碼繼續(xù)執(zhí)行。continue用來結(jié)束當(dāng)前當(dāng)次循環(huán),即跳出循環(huán)體中下面尚未執(zhí)行的語句,但跳不出當(dāng)前循環(huán)。pass:什么事也不做,只是空占位語句,并且是無運算的占位語句,當(dāng)語法需要語句并且還沒有任何使用的語句可寫時,就可以使用它。它通常用于為復(fù)合語句編寫一個空的主體。如果寫無限循環(huán),每次迭代什么也不做,就寫pass。pass是有意義的,如忽略try語句所捕獲的異常,以及定義帶屬性的空類對象,而該類實現(xiàn)的對象行為就像其他語言的結(jié)構(gòu)和記錄。pass有時指“以后會填上”,只是暫時用于填充函數(shù)主體而已,無法保持函數(shù)體為空而不產(chǎn)生語法錯誤,因此,可以使用pass來替代。兩者的區(qū)別:continue語句只結(jié)束本次循環(huán),不終止整個循環(huán)的執(zhí)行,而break具備結(jié)束循環(huán)的能力。本題選擇C選項。

17.D任何可以以序列或集合表示的內(nèi)容都可以看作一維數(shù)據(jù)。本題選擇D選項。

18.B函數(shù)定義:函數(shù)是指一組語句的集合,這些語句通過一個名字(函數(shù)名)封裝起來,要想執(zhí)行這個函數(shù),只需要調(diào)用其函數(shù)名即可。函數(shù)主要的作用是提高應(yīng)用的模塊性和代碼的重復(fù)利用率。C選項錯誤。return語句用來結(jié)束函數(shù)并將程序返回到函數(shù)被調(diào)用的位置繼續(xù)執(zhí)行。return語句可以出現(xiàn)在函數(shù)中的任何部分,可以同時將0個、1個或多個函數(shù)運算結(jié)果返回給函數(shù)被調(diào)用處的變量。A選項錯誤。在Python中,函數(shù)可以定義在分支或循環(huán)語句的內(nèi)部,D選項錯誤。Python通過關(guān)鍵字def定義函數(shù),語法格式如下:def<函數(shù)名>(<非可選參數(shù)列表>,<可選參數(shù)>=<默認(rèn)值>):〈函數(shù)體>return<返回值列表>可選參數(shù)一般都放置在非可選參數(shù)的后面。本題選擇B選項。

19.APython使用關(guān)鍵字try和except進(jìn)行異常處理,語法格式如下:try:<語句塊1>except:<語句塊2>“語句塊1”是正常執(zhí)行的程序內(nèi)容,執(zhí)行這個語句塊發(fā)生異常時,則執(zhí)行except關(guān)鍵字后面的“語句塊2”,一個try代碼塊可以對應(yīng)多個處理異常的except代碼塊。本題選擇A選項。

20.Cforsin”HelloWorld”:將字符串”HelloWorld”中的字符依次賦給變量s,之后進(jìn)行if判斷,如果s=”w”,則continue,執(zhí)行下一個循環(huán),不執(zhí)行print(s,end=””),否則執(zhí)行print(s,end=””),所以最后輸出的結(jié)果是Helloorld。

21.Copen()函數(shù)打開一個文件,并返回可以操作這個文件的變量txt,并且open()函數(shù)有兩個參數(shù):文件名和打開模式。本題只是打開了文件,并沒有對文件進(jìn)行操作,因此不會輸出文件的內(nèi)容。print(txt)語句輸出的是變量txt\n代表的文件的相關(guān)信息:<_io.TextIOWrappername=’family,txt'mode=’r’encoding=\n‘cP936'>。若想要輸出文件的內(nèi)容,需要把文件的內(nèi)容讀入,如txtl=txt.read()。本題選擇C選項。

22.Did()函數(shù)的返回值是對象的內(nèi)存地址,屬于數(shù)字類型。本題選擇D選項。

23.B解析:耦合性和內(nèi)聚性足模塊獨立性的兩個定性標(biāo)準(zhǔn)。內(nèi)聚性是一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度的度量,作為軟件結(jié)構(gòu)設(shè)計的設(shè)計原則,要求每個模塊的內(nèi)部都具有很強(qiáng)的內(nèi)聚性;耦合性是指模塊間相互連接的緊密程度的度量,一個模塊與其他模塊的耦合性越強(qiáng)則該模塊的獨立性越弱。一般優(yōu)秀的軟件設(shè)計應(yīng)盡量做到高內(nèi)聚、低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨立性。

24.Bfun()函數(shù)進(jìn)行加減計算,輸入為復(fù)數(shù),按復(fù)數(shù)加減運算法則計算結(jié)果為(2+3j)。

25.D棧稱為“后進(jìn)先出”表或“先進(jìn)后出”的線性表;隊列稱為“先進(jìn)先出”或“后進(jìn)后出”的線性表。A,B,C,D,E依次入棧,則依次出棧順序為E,D,C,B,A;F,G,H,I,J依次入隊,則依次出隊順序為F,G,H,I,J。故輸出順序為E,D,C,B,A,F(xiàn),G,H,I,J。

26.Cfor循環(huán)依次將1~5依次賦給變量i,i從1,2,3,4,5依次變化,當(dāng)i%4==0時,結(jié)束本次循環(huán)進(jìn)入下一循環(huán);反之輸出i的值,故輸出1,2,3,5。本題選擇C選項。

27.B列表索引從0開始,lisl[l]=lis2是將列表lis2賦值并覆蓋lisl[l]位置上的元素,運算后lisl=[1,[\nloves'],[’python']]。本題選擇B選項。

28.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():從文件中讀入所有行,以每行為元素形成一個列表。f.seek():改變當(dāng)前文件操作指針的位置。C選項正確。本題選擇D選項。

29.CPylnstaller工具沒有-L參數(shù);-D是默認(rèn)值,生成dlst目錄;-F是指在dlst文件夾中只生成獨立的打包文件;-i是指定打包程序使用的圖標(biāo)文件。本題選擇C選項。

30.C

31.Y

32.Y

33.N

34.N

35.N

36.Y

37.Y

38.N

39.Y

40.Y

41.join()

42.可以

43.isdir()

44.[6,7,8,9,10]

45.[2,33,111]

46.True

47.False

48.'C'

49.False

50.10

51.intxt=input(”請輸入明文:”)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)遍歷輸入的每一個字符:如果輸入的字符是大小寫字母,把該字母替換為該字母后面的第三個字母,將轉(zhuǎn)換后的字母進(jìn)行輸出;如果輸入的字符不是大小寫字母,則原樣輸出字符,該部分功能通過if多分支結(jié)構(gòu)實現(xiàn)。

52.s=input()\r\nprint(”{:=>25}”.format(eval(s)))該題目主要考查Python字符串的格式化方法。Python語言推薦使用.format()格式化方法,其使用方式如下:\r\n

<模板字符串>.format(<逗號分隔的參數(shù)>)\r\n

其中,模板字符串是一個由字符串和槽組成的字符串,用來控制字符串和變量的顯示效果。槽用大括號({})表示,對應(yīng)format()方法中逗號分隔的參數(shù)。如果模板字符串中有多個槽,可以通過format()參數(shù)的序號在模板字符串槽中指定參數(shù)的使用,參數(shù)從0開始編號。例如:\r\n”{0}日:學(xué)而不思則罔,思而不學(xué){1}?!保甪ormat(”孔子”,”則殆”)\r\n

其結(jié)果為:’孔子日:學(xué)而不思則罔,思而不學(xué)則殆?!痋r\n

format()方法的槽除了包括參數(shù)序號,還可以包括格式控制信息,語法格式如下:\r\n

{<參數(shù)序號>:<格式控制標(biāo)記>}\r\n其中,格式控制標(biāo)記包括:<填充><對齊><寬度><,><.精度><類型>6個字段,由引導(dǎo)符號(:)作為引導(dǎo)標(biāo)記,這些字段都是可選的,可以組合使用。\r\n

<填充>:指用于填充的單個字符。\r\n

<對齊>:分別使用<、>和^三個符號表示左對齊、右對齊和居中對齊。\r\n<寬度>:當(dāng)前槽的設(shè)定輸出字符寬度。\r\n<,>:用于顯示數(shù)字類型的千位分隔符。\r\n

<.精度>:由小數(shù)點(.)開頭,對于浮點數(shù),精度表示小數(shù)部分輸出的有效位數(shù);對于字符串,精度表示輸出的最大長度。\r\n

<類型>:表示輸出整數(shù)和浮點數(shù)類型的格式規(guī)則。\r\n

本題格式要求為:寬度為25個字符,等號字符(=)填充,右對齊,帶千位分隔符。則模板字符串為:{:=>25,}。\r\n

由于題目要求帶千位分隔符,所以模板字符串對應(yīng)的:format()方法中的參數(shù)必須是數(shù)字類型,但無論用戶輸入的是字符還是數(shù)字,input()函數(shù)統(tǒng)一按照字符串類型輸出,這時就需要先使用eval()函數(shù)去掉字符串最外側(cè)的引號,然后再參與運算。

53.num=eval(input("輸入數(shù)字:”))Print(”對應(yīng)的二進(jìn)制數(shù):{0:b}\\n八進(jìn)制數(shù):{0:o}\\n十六進(jìn)制數(shù):{0:x}”.format(num))考查format()方法的使用。格式控制標(biāo)記可以使用變量來表示,即用槽來指定對應(yīng)的控制標(biāo)記及數(shù)量,模板字符串在本題中總共有3個槽,即參數(shù)變量需要3個,但此時的參數(shù)只有一個,這里需要指定對應(yīng)的變量。<類型\r\n>\r\n表示輸出整數(shù)和浮點數(shù)類型的格式規(guī)則。b表示二進(jìn)制;o表示八進(jìn)制;大寫的X表示大寫的十六進(jìn)制。因此第1空填入o:b,第2空填入0:o,第3空填入0:X。河南省開封市全國計算機(jī)等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.在Python語言中,使用open()打開一個Windows操作系統(tǒng)D盤下的文件,路徑名錯誤的是()。

A.D:\PythonTest\a.txt

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

C.D:/PythonTest/a.txt

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

2.初始化實例對象時,調(diào)用的是魔法函數(shù)是()A.initB.newC.cmpD.del

3.下面代碼的輸出結(jié)果是()。foriinrange(3):forjin”dream”:ifj=="e":continueprint(j,end="")

A.dramdramdramB.drdrdrC.dreamdreamdreamD.dream

4.sorted([15,'china',407],key=lambdax:len(str(x)))返回為()

A.[15,407,'china']

B.['china',407,15]

C.['china',15,407]

D.[15,'china',407]

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

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

6.以下程序的輸出結(jié)果是()。test={“age”:“18”,“score”:“[89,95]”,“name”:“Hawking”}print(test[“score”],test.get(“name”,“Rose”))

A.89,95Hawking

B.[89,95]Hawking

C.[89,95]Rose

D.[89,95]name

7.對以下代碼的輸出描述正確的是()。lis=list(range(6))print(lis)

A.[0,1,2,3,4,5]

B.[0,1,2,3,4,5,6]

C.0,1,2,3,4,5

D.0,1,2,3,4,5,6

8.以下不屬于Python中異常處理結(jié)構(gòu)的是()。

A.try-except

B.try-except—if

C.try—except-else

D.try—except-finally

9.以下程序的輸出結(jié)果是()。t=10.5defabove_zero(t): returnt>0

A.TrueB.FalseC.10.5D.沒有輸出

10.從訪問權(quán)限的角度來看,類中的方法默認(rèn)都是()

A.私有方法B.公有方法C.靜態(tài)方法D.實例方法

11.以下程序的輸出結(jié)果是()。foriin“miss”: forjinrange(3): print(i,end=‘’) ifi==“i”: break

A.missmissmissB.mmmissssssC.mmmiiissssssD.mmmssssss

12.關(guān)于Python中is與==說法正確的是

A.is對比兩個變量指向是否為同一對象,==對比兩個變量指向?qū)ο笫欠駷橥?/p>

B.is對比兩個變量指向?qū)ο笫欠駷橥恢?==是對比兩個變量指向是否為同一對象

C.is與==除均可用于比較對象是否為同一對象外,==還可以用于比較對象的值

D.以上說法均不正確

13.以下代碼的輸出結(jié)果是()。x=12+3*((5*8)一14)//6print(x)

A.25.0B.65C.25D.24

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

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

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

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

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

15.以下代碼的輸出結(jié)果是()。forsin"PythonNCRE":ifs=="N”:breakprint(s,end="")

A.PythonCREB.NC.PythonD.PythonNCRE

16.以下關(guān)于Python循環(huán)結(jié)構(gòu)的描述中,錯誤的是()。

A.while循環(huán)使用關(guān)鍵字continue結(jié)束本次循環(huán)

B.while循環(huán)可以使用保留字break和continue

C.while循環(huán)也叫遍歷循環(huán),用來遍歷序列中的元素,默認(rèn)提取每個元素并執(zhí)行一次循環(huán)體

D.while循環(huán)使用pass語句,則什么事也不做,只是空占位語句

17.以下關(guān)于數(shù)據(jù)維度的描述,錯誤的是()。

A.—維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織,對應(yīng)于數(shù)學(xué)中的集合或數(shù)組的概念

B.二維數(shù)據(jù)由關(guān)聯(lián)關(guān)系構(gòu)成,采用表格方式組織,對應(yīng)于數(shù)學(xué)中的矩陣

C.高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)組成,采用對象方式組織

D.—維數(shù)據(jù)由對等關(guān)系的有序數(shù)據(jù)構(gòu)成,無序數(shù)據(jù)不是一維數(shù)據(jù)

18.以下關(guān)于Python的描述中,正確的是()。A.函數(shù)中return語句只能放在函數(shù)定義的最后面

B.定義函數(shù)需要使用保留字def

C.函數(shù)最主要的作用是復(fù)用代碼

D.Python函數(shù)不可以定義在分支或循環(huán)語句的內(nèi)部

19.以下關(guān)于Python的try語句的描述中,錯誤的是()。

A.try用來捕捉執(zhí)行代碼發(fā)生的異常,處理異常后能夠回到異常處繼續(xù)執(zhí)行

B.執(zhí)行try代碼塊觸發(fā)異常后,會執(zhí)行except后面的語句

C.一個try代碼塊可以對應(yīng)多個處理異常的except代碼塊

D.try代碼塊不觸發(fā)異常時,不會執(zhí)行except后面的語句

20.以下代碼的輸出結(jié)果是()。forsin”HelloWorld”:ifs==”W”:continueprint(s,end=””)

A.WorldB.HelloC.HelloorldD.HelloWorld

21.文件family,txt在當(dāng)前代碼所在目錄內(nèi),其內(nèi)容是一段文本:Wearefamily。以下代碼的輸出結(jié)果是()。txt=open(“family.txt”,“r”)print(txt)txt.close()

A.txtB.family,txtC.非其他答案D.Wearefamily

22.關(guān)于表達(dá)式id(‘45’)的結(jié)果的描述,錯誤的是()。

A.是‘45’的內(nèi)存地址B.可能是45396706C.是一個正整數(shù)D.是一個字符串

23.軟件設(shè)計中模塊劃分應(yīng)遵循的準(zhǔn)則是()。A.低內(nèi)聚低耦合

B.高內(nèi)聚低耦合

C.低內(nèi)聚高耦合

D.高內(nèi)聚高耦合

24.下面代碼的輸出結(jié)果是()。deffun(x,y,z):u=x+y—zprint(u)fun(1+2j,5,4一1j)

A.NameErrorB.(2+3j)C.2D.3j

25.設(shè)棧與隊列初始狀態(tài)為空。首先A,B,C,D,E依次人棧,再F,G,H,I,J依次入隊;然后依次出棧至???,再依次出隊至隊空。則輸出序列為()。

A.F,G,H,I,J,A,B,C,D,E

B.F,G,H,I,J,E,D,C,B,A

C.E,D,C,B,A,J,I,H,G,F(xiàn)

D.E,D,C,B,A,F(xiàn),G,H,I,J

26.以下代碼的輸出結(jié)果是()。foriinrange(1,6):ifi%4==0:continueelse:print(i,end=”,”)

A.1,2,3,B.1,2,3,4,C.1,2,3,5,D.1,2,3,5,6,

27.下面程序的輸出結(jié)果是()。lisl=[1,2,['python1]]lis2=['loves']lisl[1]=lis2print(lisl)

A.[lis2,2,[‘python’]]

B.[1,['loves'],['python']]

C.[1,2,'python','loves']

D.[1,2,[‘python1,’loves’]]

28.以下關(guān)于文件的描述中,錯誤的是()。

A.文件是存儲在輔助存儲器上的一組數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內(nèi)容

B.可以使用open()打開文件,用close()關(guān)閉文件

C.使用read()可以從文件中讀入全部文本

D.使用readlines()可以從文件中讀入一行文本

29.用Pylnstaller工具把Python源文件打包成一個獨立的可執(zhí)行文件,使用的參數(shù)是()。

A.-LB.-C.-FD.-i

30.對于Python中的復(fù)數(shù),下列說法錯誤的是()A.表示復(fù)數(shù)的語法是real+imagej

B.實部和虛部都是浮點數(shù)

C.虛部必須后綴j,且必須是小寫

D.復(fù)數(shù)對象之間無法進(jìn)行比較

二、判斷題(10題)31.當(dāng)作為條件表達(dá)式時,[]與None等價。

A.是B.否

32.Python變量名必須以字母或下劃線開頭,并且區(qū)分字母大小寫。

A.是B.否

33.表達(dá)式{1,2}*2的值為{1,2,1,2}。

A.是B.否

34.假設(shè)有非空列表x,那么x.append(3)、x=x+[3]與x.insert(0,3)在執(zhí)行時間上基本沒有太大區(qū)別。A.是B.否

35.表達(dá)式[]==None的值為True。

A.是B.否

36.形參可以看做是函數(shù)內(nèi)部的局部變量,函數(shù)運行結(jié)束之后形參就不可訪問了。

A.是B.否

37.集合可以作為元組的元素。

A.是B.否

38.Python字典中的“鍵”可以是列表。

A.是B.否

39.Python標(biāo)準(zhǔn)庫os中的方法isfile()可以用來測試給定的路徑是否為文件。

A.是B.否

40.Python變量名區(qū)分大小寫,所以student和Student不是同一個變量。

A.是B.否

三、填空題(10題)41.線程對象的___________方法用來阻塞當(dāng)前線程,指定線程運行結(jié)束或超時后繼續(xù)運行當(dāng)前線程。

42.運算符%__________(可以/不可以)對浮點數(shù)進(jìn)行求余數(shù)操作。

43.Python標(biāo)準(zhǔn)庫os.path中用來判斷指定路徑是否為文件夾的方法是______________。

44.表達(dá)式list(map(lambdax:x+5,[1,2,3,4,5]))的值為______________________。

45.表達(dá)式sorted([111,2,33],key=lambdax:len(str(x)))的值為________________。

46.表達(dá)式'abc.txt'.endswith(('.txt','.doc','.jpg'))的值為___________。

47.已知x為非空列表,那么表達(dá)式x.reverse()==list(reversed(x))的值為__________。

48.表達(dá)式chr(ord('A')+2)的值為__________。

49.表達(dá)式'ac'in'abce'的值為_____________。

50.表達(dá)式len([iforiinrange(10)])的值為__________。

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

52.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:

鍵盤輸入正整數(shù)n,按要求把n輸出到屏幕,格式要求:寬度為25個字符,等號字符(=)填充,右對齊,帶千位分隔符。如果輸入正整數(shù)超過25位,則按照真實長度輸出。

例如:鍵盤輸入正整數(shù)n為1234,屏幕輸出===================1,234

試題程序:

#請完善如下代碼

s=input()

print(”{________(1)_________}”.format(________(2)_________))

53.考生文件夾下存在一個文件“PY103.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。用鍵盤輸入十進(jìn)制整數(shù),按要求將這個整數(shù)轉(zhuǎn)換為二進(jìn)制、八進(jìn)制及十六進(jìn)制(大寫)并輸出到屏幕。例如:輸入數(shù)字:425對應(yīng)的二進(jìn)制數(shù):110101001對應(yīng)的八進(jìn)制數(shù):651對應(yīng)的十六進(jìn)制數(shù):1A9試題程序:#請在_____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼num=eval(input("輸入數(shù)字:"))print("對應(yīng)的二進(jìn)制數(shù):{_____(1)_____}\n八進(jìn)制數(shù):{_____(2)_____}\n十六進(jìn)制數(shù):{_____(3)_____}".format(num))試題答案:num=eval(input("輸入數(shù)字:”))Print(”對應(yīng)的二進(jìn)制數(shù):{0:b}\n八進(jìn)制數(shù):{0:o}\n十六進(jìn)制數(shù):{0:x}”.format(num))

參考答案

1.A在Python語言中,使用open()打開文件的操作過程中需要注意,由于’\’是字符串中的轉(zhuǎn)義符,所以表示路徑時,使用”\\”、”/”或”//”代替”\”,A項錯誤。

2.A

3.Acontinue語句只結(jié)束本次循環(huán),不終止整個循環(huán)的執(zhí)行,而break語句具備結(jié)束循環(huán)的能力。本題外層循環(huán)用來計數(shù),內(nèi)層循環(huán)用來遍歷字符串,當(dāng)滿足判斷條件時,就會結(jié)束本次循環(huán)進(jìn)入下一循環(huán),字符串遍歷完成之后,外層循環(huán)進(jìn)入下一循環(huán)。本題選擇A選項。

4.A

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

6.B“score”鍵對應(yīng)的值是列表類型“[89,95]”,字典的get(key,default)方法:鍵存在則返回對應(yīng)值,否則返回默認(rèn)值default。“name”鍵存在于字典中,所以返回的是對應(yīng)值而不是默認(rèn)值。本題選擇B選項。

7.Arange(6)取到的是0,1,2,3,4,5這六個數(shù),這些數(shù)均為int類型,使用list()方法將其存儲在列表變量lis中。

8.BPython中異常處理結(jié)構(gòu)有try—except、try—except—else和try—except—finally,沒有選項B的用法。

9.D在Python中,return語句用來結(jié)束函數(shù)并將程序返回到函數(shù)被調(diào)用的位置繼續(xù)執(zhí)行。return語句可以出現(xiàn)在函數(shù)的任何部分,可以同時將0個、1個或多個函數(shù)運算結(jié)果返回給函數(shù)被調(diào)用處的變量。函數(shù)可以沒有return,此時函數(shù)并不返回值。return返回的是值而不是表達(dá)式,且此段語句并未調(diào)用函數(shù),故程序無輸出。本題選擇D選項。

10.B

11.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選項。

12.A

13.C在Python中算術(shù)運算符”//”來表示整數(shù)除法,返回不大于結(jié)果的一個最大的整數(shù),而”/”則單純的表示浮點數(shù)除法,返回浮點結(jié)果。所以先計算5*8=40,40一14=26,26*3=78,78//6=13,12+13=25。本題選擇C選項。

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

15.Cfor循環(huán)將字符串PythonNCRE的字符依次賦給變量s,當(dāng)s==”\nN”時,跳出for循環(huán),故輸出為Python。本題選擇C選項。

16.CPython中循環(huán)包括兩種:遍歷循環(huán)和無限循環(huán)。遍歷循環(huán)使用關(guān)鍵字for依次提取遍歷結(jié)構(gòu)元素進(jìn)行處理;無限循環(huán)使用關(guān)鍵字while根據(jù)判斷條件執(zhí)行程序。循環(huán)結(jié)構(gòu)有兩個輔助循環(huán)控制關(guān)鍵字:break和continue。break用來跳出最內(nèi)層for或while循環(huán),脫離該循環(huán)后程序從循環(huán)后的代碼繼續(xù)執(zhí)行。continue用來結(jié)束當(dāng)前當(dāng)次循環(huán),即跳出循環(huán)體中下面尚未執(zhí)行的語句,但跳不出當(dāng)前循環(huán)。pass:什么事也不做,只是空占位語句,并且是無運算的占位語句,當(dāng)語法需要語句并且還沒有任何使用的語句可寫時,就可以使用它。它通常用于為復(fù)合語句編寫一個空的主體。如果寫無限循環(huán),每次迭代什么也不做,就寫pass。pass是有意義的,如忽略try語句所捕獲的異常,以及定義帶屬性的空類對象,而該類實現(xiàn)的對象行為就像其他語言的結(jié)構(gòu)和記錄。pass有時指“以后會填上”,只是暫時用于填充函數(shù)主體而已,無法保持函數(shù)體為空而不產(chǎn)生語法錯誤,因此,可以使用pass來替代。兩者的區(qū)別:continue語句只結(jié)束本次循環(huán),不終止整個循環(huán)的執(zhí)行,而break具備結(jié)束循環(huán)的能力。本題選擇C選項。

17.D任何可以以序列或集合表示的內(nèi)容都可以看作一維數(shù)據(jù)。本題選擇D選項。

18.B函數(shù)定義:函數(shù)是指一組語句的集合,這些語句通過一個名字(函數(shù)名)封裝起來,要想執(zhí)行這個函數(shù),只需要調(diào)用其函數(shù)名即可。函數(shù)主要的作用是提高應(yīng)用的模塊性和代碼的重復(fù)利用率。C選項錯誤。return語句用來結(jié)束函數(shù)并將程序返回到函數(shù)被調(diào)用的位置繼續(xù)執(zhí)行。return語句可以出現(xiàn)在函數(shù)中的任何部分,可以同時將0個、1個或多個函數(shù)運算結(jié)果返回給函數(shù)被調(diào)用處的變量。A選項錯誤。在Python中,函數(shù)可以定義在分支或循環(huán)語句的內(nèi)部,D選項錯誤。Python通過關(guān)鍵字def定義函數(shù),語法格式如下:def<函數(shù)名>(<非可選參數(shù)列表>,<可選參數(shù)>=<默認(rèn)值>):〈函數(shù)體>return<返回值列表>可選參數(shù)一般都放置在非可選參數(shù)的后面。本題選擇B選項。

19.APython使用關(guān)鍵字try和except進(jìn)行異常處理,語法格式如下:try:<語句塊1>except:<語句塊2>“語句塊1”是正常執(zhí)行的程序內(nèi)容,執(zhí)行這個語句塊發(fā)生異常時,則執(zhí)行except關(guān)鍵字后面的“語句塊2”,一個try代碼塊可以對應(yīng)多個處理異常的except代碼塊。本題選擇A選項。

20.Cforsin”HelloWorld”:將字符串”HelloWorld”中的字符依次賦給變量s,之后進(jìn)行if判斷,如果s=”w”,則continue,執(zhí)行下一個循環(huán),不執(zhí)行print(s,end=””),否則執(zhí)行print(s,end=””),所以最后輸出的結(jié)果是Helloorld。

21.Copen()函數(shù)打開一個文件,并返回可以操作這個文件的變量txt,并且open()函數(shù)有兩個參數(shù):文件名和打開模式。本題只是打開了文件,并沒有對文件進(jìn)行操作,因此不會輸出文件的內(nèi)容。print(txt)語句輸出的是變量txt\n代表的文件的相關(guān)信息:<_io.TextIOWrappername=’family,txt'mode=’r’encoding=\n‘cP936'>。若想要輸出文件的內(nèi)容,需要把文件的內(nèi)容讀入,如txtl=txt.read()。本題選擇C選項。

22.Did()函數(shù)的返回值是對象的內(nèi)存地址,屬于數(shù)字類型。本題選擇D選項。

23.B解析:耦合性和內(nèi)聚性足模塊獨立性的兩個定性標(biāo)準(zhǔn)。內(nèi)聚性是一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度的度量,作為軟件結(jié)構(gòu)設(shè)計的設(shè)計原則,要求每個模塊的內(nèi)部都具有很強(qiáng)的內(nèi)聚性;耦合性是指模塊間相互連接的緊密程度的度量,一個模塊與其他模塊的耦合性越強(qiáng)則該模塊的獨立性越弱。一般優(yōu)秀的軟件設(shè)計應(yīng)盡量做到高內(nèi)聚、低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨立性。

24.Bfun()函數(shù)進(jìn)行加減計算,輸入為復(fù)數(shù),按復(fù)數(shù)加減運算法則計算結(jié)果為(2+3j)。

25.D棧稱為“后進(jìn)先出”表或“先進(jìn)后出”的線性表;隊列稱為“先進(jìn)先出”或“后進(jìn)后出”的線性表。A,B,C,D,E依次入棧,則依次出棧順序為E,D,C,B,A;F,G,H,I,J依次入隊,則依次出隊順序為F,G,H,I,J。故輸出順序為E,D,C,B,A,F(xiàn),G,H,I,J。

26.Cfor循環(huán)依次將1~5依次賦給變量i,i從1,2,3,4,5依次變化,當(dāng)i%4==0時,結(jié)束本次循環(huán)進(jìn)入下一循環(huán);反之輸出i的值,故輸出1,2,3,5。本題選擇C選項。

27.B列表索引從0開始,lisl[l]=lis2是將列表lis2賦值并覆蓋lisl[l]位置上的元素,運算后lisl=[1,[\nloves'],[’python']]。本題選擇B選項。

28.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():從文件中讀入所有行,以每行為元素形成一個列表。f.seek():改變當(dāng)前文件操作指針的位置。C選項正確。本題選擇D選項。

29.CPylnstaller工具沒有-L參數(shù);-D是默認(rèn)值,生成dlst目錄;-F是指在dlst文件夾中只生成獨立的打包文件;-i是指定打包程序使用的圖標(biāo)文件。本題選擇C選項。

30.C

31.Y

32.Y

33.N

34.N

35.N

36.Y

37.Y

38.N

39.Y

40.Y

41.join()

42.可以

43.isdir()

44.[6,7,8,9,10]

45.[2,33,111]

46.True

47.False

48.'C'

49.False

50.10

51.intxt=input(”請輸入明文:”)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)遍歷輸入的每一個字符:如果輸入的字符是大小寫字母,把該字母替換為該字母后面的第三個字母,將轉(zhuǎn)換后的字母進(jìn)行輸出;如果輸入的字符不是大小寫字母,則原樣輸出字符,該部分功能通過if多分支結(jié)構(gòu)實現(xiàn)。

52.s=input()\r\nprint(”{:=>25}”.format(eval(s)))該題目主要考查Python字符串的格式化方法。Python語言推薦使用.format()格式化方法,其使用方式如下:\r\n

<模板字符串>.format(<逗號分隔的參數(shù)>)\r\n

其中,模板字符串是一個由字符串和槽組成的字符串,用來控制字符串和變量的顯示效果。槽用大括號({})表示,對應(yīng)format()方法中逗號分隔的參數(shù)。如果模板字符串中有多個槽,可以通過format()參數(shù)的序號在模板字符串槽中指定參數(shù)的使用,參數(shù)從0開始編號。例如:\r\n”{0}日:學(xué)而不思則罔,思而不學(xué){1}。”.format(”孔子”,”則殆”)\r\n

其結(jié)果為:’孔子日:學(xué)而不思則罔,思而不學(xué)則殆?!痋r\n

format()方法的槽除了包括參數(shù)序號,還可以包括格式控制信息,語法格式如下:\r\n

{<參數(shù)序號>:<格式控制標(biāo)記>}\r\n其中,格式控制標(biāo)記包括:<填充><對齊><寬度><,><.精度><類型>6個字段,由引導(dǎo)符號(:)作為引導(dǎo)標(biāo)記,這些字段都是可選的,可以組合使用。\r\n

<填充>:指用于填充的單個字符。\r\n

<對齊>:分別使用<、>和^三個符號表示左對齊、右對齊和居中對齊。\r\n<寬度>:當(dāng)前槽的設(shè)定輸出字符寬度。\r\n<,>:用于顯示數(shù)字類型的千位分隔符。\r\n

<.精度>:由小數(shù)點(.)開頭,對于浮點數(shù),精度表示小數(shù)部分輸出的有效位數(shù);對于字符串,精度表示輸出的最大長度。\r\n

<類型>:表示輸出整數(shù)和浮點數(shù)類型的格式規(guī)則。\r\n

本題格式要求為:寬度為25個字符,等號字符(=)填充,右對齊,帶千位分隔符。則模板字符串為:{:=>25,}。\r\n

由于題目要求帶千位分隔符,所以模板字符串對應(yīng)的:format()方法中的參數(shù)必須是數(shù)字類型,但無論用戶輸入的是字符還是數(shù)字,input()函數(shù)統(tǒng)一按照字符串類型輸出,這時就需要先使用eval()函數(shù)去掉字符串最外側(cè)的引號,然后再參與運算。

53.num=eval(input("輸入數(shù)字:”))Print(”對應(yīng)的二進(jìn)制數(shù):{0:b}\\n八進(jìn)制數(shù):{0:o}\\n十六進(jìn)制數(shù):{0:x}”.format(num))考查format()方法的使用。格式控制標(biāo)記可以使用變量來表示,即用槽來指定對應(yīng)的控制標(biāo)記及數(shù)量,模板字符串在本題中總共有3個槽,即參數(shù)變量需要3個,但此時的參數(shù)只有一個,這里需要指定對應(yīng)的變量。<類型\r\n>\r\n表示輸出整數(shù)和浮點數(shù)類型的格式規(guī)則。b表示二進(jìn)制;o表示八進(jìn)制;大寫的X表示大寫的十六進(jìn)制。因此第1空填入o:b,第2空填入0:o,第3空填入0:X。河南省開封市全國計算機(jī)等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.在Python語言中,使用open()打開一個Windows操作系統(tǒng)D盤下的文件,路徑名錯誤的是()。

A.D:\PythonTest\a.txt

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

C.D:/PythonTest/a.txt

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

2.初始化實例對象時,調(diào)用的是魔法函數(shù)是()A.initB.newC.cmpD.del

3.下面代碼的輸出結(jié)果是()。foriinrange(3):forjin”dream”:ifj=="e":continueprint(j,end="")

A.dramdramdramB.drdrdrC.dreamdreamdreamD.dream

4.sorted([15,'china',407],key=lambdax:len(str(x)))返回為()

A.[15,407,'china']

B.['china',407,15]

C.['china',15,407]

D.[15,'china',407]

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

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

6.以下程序的輸出結(jié)果是()。test={“age”:“18”,“score”:“[89,95]”,“name”:“Hawking”}print(test[“score”],test.get(“name”,“Rose”))

A.89,95Hawking

B.[89,95]Hawking

C.[89,95]Rose

D.[89,95]name

7.對以下代碼的輸出描述正確的是()。lis=list(range(6))print(lis)

A.[0,1,2,3,4,5]

B.[0,1,2,3,4,5,6]

C.0,1,2,3,4,5

D.0,1,2,3,4,5,6

8.以下不屬于Python中異常處理結(jié)構(gòu)的是()。

A.try-except

B.try-except—if

C.try—except-else

D.try—except-finally

9.以下程序的輸出結(jié)果是()。t=10.5defabove_zero(t): returnt>0

A.TrueB.FalseC.10.5D.沒有輸出

10.從訪問權(quán)限的角度來看,類中的方法默認(rèn)都是()

A.私有方法B.公有方法C.靜態(tài)方法D.實例方法

11.以下程序的輸出結(jié)果是()。foriin“miss”: forjinrange(3): print(i,end=‘’) ifi==“i”: break

A.missmissmissB.mmmissssssC.mmmiiissssssD.mmmssssss

12.關(guān)于Python中is與==說法正確的是

A.is對比兩個變量指向是否為同一對象,==對比兩個變量指向?qū)ο笫欠駷橥?/p>

B.is對比兩個變量指向?qū)ο笫欠駷橥恢?==是對比兩個變量指向是否為同一對象

C.is與==除均可用于比較對象是否為同一對象外,==還可以用于比較對象的值

D.以上說法均不正確

13.以下代碼的輸出結(jié)果是()。x=12+3*((5*8)一14)//6print(x)

A.25.0B.65C.25D.24

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

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

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

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

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

15.以下代碼的輸出結(jié)果是()。forsin"PythonNCRE":ifs=="N”:breakprint(s,end="")

A.PythonCREB.NC.PythonD.PythonNCRE

16.以下關(guān)于Python循環(huán)結(jié)構(gòu)的描述中,錯誤的是()。

A.while循環(huán)使用關(guān)鍵字continue結(jié)束本次循環(huán)

B.while循環(huán)可以使用保留字break和continue

C.while循環(huán)也叫遍歷循環(huán),用來遍歷序列中的元素,默認(rèn)提取每個元素并執(zhí)行一次循環(huán)體

D.while循環(huán)使用pass語句,則什么事也不做,只是空占位語句

17.以下關(guān)于數(shù)據(jù)維度的描述,錯誤的是()。

A.—維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織,對應(yīng)于數(shù)學(xué)中的集合或數(shù)組的概念

B.二維數(shù)據(jù)由關(guān)聯(lián)關(guān)系構(gòu)成,采用表格方式組織,對應(yīng)于數(shù)學(xué)中的矩陣

C.高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)組成,采用對象方式組織

D.—維數(shù)據(jù)由對等關(guān)系的有序數(shù)據(jù)構(gòu)成,無序數(shù)據(jù)不是一維數(shù)據(jù)

18.以下關(guān)于Python的描述中,正確的是()。A.函數(shù)中return語句只能放在函數(shù)定義的最后面

B.定義函數(shù)需要使用保留字def

C.函數(shù)最主要的作用是復(fù)用代碼

D.Python函數(shù)不可以定義在分支或循環(huán)語句的內(nèi)部

19.以下關(guān)于Python的try語句的描述中,錯誤的是()。

A.try用來捕捉執(zhí)行代碼發(fā)生的異常,處理異常后能夠回到異常處繼續(xù)執(zhí)行

B.執(zhí)行try代碼塊觸發(fā)異常后,會執(zhí)行except后面的語句

C.一個try代碼塊可以對應(yīng)多個處理異常的except代碼塊

D.try代碼塊不觸發(fā)異常時,不會執(zhí)行except后面的語句

20.以下代碼的輸出結(jié)果是()。forsin”HelloWorld”:ifs==”W”:continueprint(s,end=””)

A.WorldB.HelloC.HelloorldD.HelloWorld

21.文件family,txt在當(dāng)前代碼所在目錄內(nèi),其內(nèi)容是一段文本:Wearefamily。以下代碼的輸出結(jié)果是()。txt=open(“family.txt”,“r”)print(txt)txt.close()

A.txtB.family,txtC.非其他答案D.Wearefamily

22.關(guān)于表達(dá)式id(‘45’)的結(jié)果的描述,錯誤的是()。

A.是‘45’的內(nèi)存地址B.可能是45396706C.是一個正整數(shù)D.是一個字符串

23.軟件設(shè)計中模塊劃分應(yīng)遵循的準(zhǔn)則是()。A.低內(nèi)聚低耦合

B.高內(nèi)聚低耦合

C.低內(nèi)聚高耦合

D.高內(nèi)聚高耦合

24.下面代碼的輸出結(jié)果是()。deffun(x,y,z):u=x+y—zprint(u)fun(1+2j,5,4一1j)

A.NameErrorB.(2+3j)C.2D.3j

25.設(shè)棧與隊列初始狀態(tài)為空。首先A,B,C,D,E依次人棧,再F,G,H,I,J依次入隊;然后依次出棧至棧空,再依次出隊至隊空。則輸出序列為()。

A.F,G,H,I,J,A,B,C,D,E

B.F,G,H,I,J,E,D,C,B,A

C.E,D,C,B,A,J,I,H,G,F(xiàn)

D.E,D,C,B,A,F(xiàn),G,H,I,J

26.以下代碼的輸出結(jié)果是()。foriinrange(1,6):ifi%4==0:continueelse:print(i,end=”,”)

A.1,2,3,B.1,2,3,4,C.1,2,3,5,D.1,2,3,5,6,

27.下面程序的輸出結(jié)果是()。lisl=[1,2,['python1]]lis2=['loves']lisl[1]=lis2print(lisl)

A.[lis2,2,[‘python’]]

B.[1,['loves'],['python']]

C.[1,2,'python','loves']

D.[1,2,[‘python1,’loves’]]

28.以下關(guān)于文件的描述中,錯誤的是()。

A.文件是存儲在輔助存儲器上的一組數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內(nèi)容

B.可以使用open()打開文件,用close()關(guān)閉文件

C.使用read()可以從文件中讀入全部文本

D.使用readlines()可以從文件中讀入一行文本

29.用Pylnstaller工具把Python源文件打包成一個獨立的可執(zhí)行文件,使用的參數(shù)是()。

A.-LB.-C.-FD.-i

30.對于Python中的復(fù)數(shù),下列說法錯誤的是()A.表示復(fù)數(shù)的語法是real+imagej

B.實部和虛部都是浮點數(shù)

C.虛部必須后綴j,且必須是小寫

D.復(fù)數(shù)對象之間無法進(jìn)行比較

二、判斷題(10題)31.當(dāng)作為條件表達(dá)式時,[]與None等價。

A.是B.否

32.Python變量名必須以字母或下劃線開頭,并且區(qū)分字母大小寫。

A.是B.否

33.表達(dá)式{1,2}*2的值為{1,2,1,2}。

A.是B.否

34.假設(shè)有非空列表x,那么x.append(3)、x=x+[3]與x.insert(0,3)在執(zhí)行時間上基本沒有太大區(qū)別。A.是B.否

35.表達(dá)式[]==None的值為True。

A.是B.否

36.形參可以看做是函數(shù)內(nèi)部的局部變量,函數(shù)運行結(jié)束之后形參就不可訪問了。

A.是B.否

37.集合可以作為元組的元素。

A.是B.否

38.Python字典中的“鍵”可以是列表。

A.是B.否

39.Python標(biāo)準(zhǔn)庫os中的方法isfile()可以用來測試給定的路徑是否為文件。

A.是B.否

40.Python變量名區(qū)分大小寫,所以student和Student不是同一個變量。

A.是B.否

三、填空題(10題)41.線程對象的___________方法用來阻塞當(dāng)前線程,指定線程運行結(jié)束或超時后繼續(xù)運行當(dāng)前線程。

42.運算符%__________(可以/不可以)對浮點數(shù)進(jìn)行求余數(shù)操作。

43.Python標(biāo)準(zhǔn)庫os.path中用來判斷指定路徑是否為文件夾的方法是______________。

44.表達(dá)式list(map(lambdax:x+5,[1,2,3,4,5]))的值為______________________。

45.表達(dá)式sorted([111,2,33],key=lambdax:len(str(x)))的值為________________。

46.表達(dá)式'abc.txt'.endswith(('.txt','.doc','.jpg'))的值為___________。

47.已知x為非空列表,那么表達(dá)式x.reverse()==list(reversed(x))的值為__________。

48.表達(dá)式chr(ord('A')+2)的值為__________。

49.表達(dá)式'ac'in'abce'的值為_____________。

50.表達(dá)式len([iforiinrange(10)])的值為__________。

四、操

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論