版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 技術(shù)市場交易合同
- 辦公室采購合同
- 2024年新能源項目融資合同
- 新媒體運營推廣合同
- 瀝青購銷合同
- 2025年個人貸款合同補(bǔ)充協(xié)議書4篇
- 機(jī)場設(shè)施改善及擴(kuò)建投資合同
- 互聯(lián)網(wǎng)金融投資服務(wù)免責(zé)合同
- 2025年度果園整體購買合同及果樹種植與農(nóng)產(chǎn)品電商合作框架協(xié)議
- 2025年度餐廳管理系統(tǒng)股權(quán)授權(quán)合同范本
- 危險品倉儲危險廢物處置與管理考核試卷
- 2024版汽車融資擔(dān)保合同范本版B版
- 浙江寧波鎮(zhèn)海區(qū)2025屆中考生物對點突破模擬試卷含解析
- 湖南省長沙市2025年新高考適應(yīng)性考試生物學(xué)模擬試題(含答案)
- 工業(yè)自動化設(shè)備維護(hù)保養(yǎng)方案
- 《中醫(yī)心理學(xué)》課件
- 心肌梗死病人護(hù)理課件
- 宮頸癌中醫(yī)護(hù)理查房
- 《費曼學(xué)習(xí)法》讀后感
- 2023年安徽省公務(wù)員錄用考試《行測》真題及答案解析
- 隧道施工監(jiān)控量測方案及措施
評論
0/150
提交評論