




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
陜西省銅川市全國(guó)計(jì)算機(jī)等級(jí)考試Python語言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(30題)1.s和T是兩個(gè)集合,對(duì)S&T。的描述正確的是()。
A.S和T的交運(yùn)算,包括同時(shí)在集合S和T中的元素
B.S和T的并運(yùn)算,包括在集合S和T中的所有元素
C.S和T的差運(yùn)算,包括在集合S但不在T中的元素
D.S和T的補(bǔ)運(yùn)算,包括幾個(gè)S和T中的非相同元素
2.以下關(guān)于Python的描述中,正確的是()。A.條件4<=5<=6是合法的,輸出False
B.條件4<=5<=6是不合法的
C.條件4<=5<=6是合法的,輸出True
D.條件4<=5<=6是不合法的,拋出異常
3.以下程序的輸出結(jié)果是()。fo=open(“book.txt”,“w”)ls=[‘C語言’,‘Java’,‘C#’,‘Python’]fo.writelines(ls)fo.close()
A.‘語言’‘Java’‘C#’‘Python’
B.C語言JavaC#Python
C.[C語言,Java,C#,Python]
D.[‘C語言’‘Java’‘C#’,‘Python’]
4.下面關(guān)于局部變量和全局變量的描述,正確的是()。
A.全局變量不可以定義在函數(shù)中
B.全局變量在使用后立即被釋放
C.局部變量在使用后立即被釋放
D.局部變量不可以和全局變量的命名相同
5.下列關(guān)于Python程序格式的描述中正確的是()。
A.注釋可以在一行中的任意位置開始,這一行都會(huì)作為注釋不被執(zhí)行
B.縮進(jìn)是指每行代碼前的留白部分,用來表示層次關(guān)系,使代碼更加整潔利于閱讀,所有代碼都需要在行前至少加一個(gè)空格
C.Python語言不允許在一行的末尾加分號(hào),這會(huì)導(dǎo)致語法錯(cuò)誤
D.一行代碼的長(zhǎng)度如果過長(zhǎng),可以使用“\”反斜杠續(xù)行
6.執(zhí)行以下代碼的結(jié)果是?type(lambda:None)A.(type‘NoneType’)
B.(type‘function’)
C.(type‘tuple’)
D.(type‘type’)
7.以下對(duì)Python文件處理的描述中,錯(cuò)誤的是()。
A.當(dāng)文件以文本方式打開時(shí),讀寫按照字節(jié)流方式
B.Python能夠以文本和二進(jìn)制兩種方式處理文件
C.Python通過解釋器內(nèi)置的open()函數(shù)打開一個(gè)文件
D.文件使用結(jié)束后可以用close()方法關(guān)閉,釋放文件的使用授權(quán)
8.從鍵盤輸入數(shù)字5,以下程序的輸出結(jié)果是()。n=eval(input(“請(qǐng)輸入一個(gè)整數(shù):”))s=0ifn>=5: n-=1 s=4ifn<5: n-=1 s=3print(s)
A.4B.3C.0D.2
9.表格類型數(shù)據(jù)的組織維度最可能是()。
A.多維數(shù)據(jù)B.一維數(shù)據(jù)C.二維數(shù)據(jù)D.高維數(shù)據(jù)
10.樹的度為3,共有29個(gè)結(jié)點(diǎn),但沒有度為1和2的結(jié)點(diǎn)。則該樹中葉子結(jié)點(diǎn)數(shù)為()。
A.OB.9C.18D.不可能有這樣的樹
11.Python中,查看一個(gè)對(duì)象是哪種類型,使用______命令
A.isinstanceB.idC.typeD.issubclass
12.設(shè)棧與隊(duì)列初始狀態(tài)為空。首先A、B、C、D、E依次人棧,再F、G、H、I、J依次人隊(duì);然后依次出找至???再依次出隊(duì)至隊(duì)空。則輸出序列為()。
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
D.E,D,C,B,A,F,G,H,I,J
13.以下程序的輸出結(jié)果是()。l=‘a(chǎn)bcd’deff(x,result=[‘a(chǎn)’,‘b’,‘c’,‘d’]): ifx: result.remove(x[-1]) f(x[:-1]) returnresultprint(f(l))
A.[‘a(chǎn)’,‘b’,‘c’,‘d’]
B.[‘b’,‘c’,‘d’
C.[‘a(chǎn)’,‘b’,‘c’]
D.[]
14.設(shè)str1=‘python’,語句print(str1.center(10,*))的執(zhí)行結(jié)果是()。
A.python****B.**python**C.****pythonD.SyntaxError
15.在軟件開發(fā)中,需求分析階段可以使用的工具是()。
A.N-S圖B.DFD圖C.PAD圖D.程序流程圖
16.下面代碼的輸出結(jié)果是()。deff(n):ifn==1:return1else:returnn*f(n—1)print(f(4))
A.24B.4C.0D.10
17.在Python3下輸入100000000L,會(huì)得到()
A.100000000LB.100000000C.SyntaxError:invalidsyntaxD.1e8
18.以下程序的輸出結(jié)果是()。ls=[12,44,23,46]foriinlsifi==‘44’:print(‘foundit!i=i’,i)breakelse:print(‘notfoundit…’)A.notfoundit…
B.foundit!i=44
C.foundit!i=44notfoundit…
D.foundit!i=‘44’notfoundit...
19.下面代碼的輸出結(jié)果是()。x=10whilex:x一=1ifx%2:print(x,end=”)else:pass
A.86420B.975311C.97531D.864200
20.某完全二叉樹有256個(gè)結(jié)點(diǎn),則該二叉樹的深度為()。
A.7B.8C.9D.10
21.生成一個(gè)[1,99]之間隨機(jī)整數(shù)的函數(shù)是()。
A.random.randint(1,100)
B.random.randint(0,99)
C.random.randint(1,99)
D.random.uniform(1,99)
22.在Python中,可以作為源文件擴(kuò)展名的是()。
A..pngB..pdfC..pyD..ppt
23.文件exam.txt與以下代碼在同一目錄下,其內(nèi)容是一段文本:bigBen,以下代碼的輸出結(jié)果是()。f=open(”exam.txt”)print(f)f.close()
A.bigBenB.exam.txtC.<_io.TextIOWrapper…>D.exam
24.下列關(guān)于Python內(nèi)置函數(shù)的使用描述錯(cuò)誤的是()。
A.int(x)是將x轉(zhuǎn)換為一個(gè)整數(shù)
B.print(”6+5”)的輸出是11
C.dic.clear()的結(jié)果是清空字典dic
D.使用append()函數(shù)可以向列表添加元素
25.Python中文件的打開模式不包含()。
A.'a'B.'b'C.'c'D.'+'
26.下面描述錯(cuò)誤的是()。
A.對(duì)象一定有標(biāo)識(shí)B.對(duì)象一定有屬性和方法(或操作)C.對(duì)象具有封裝性D.不同對(duì)象的同一屬性一定有相同的屬性值
27.以下屬于P)rthon中導(dǎo)入語句的是()。
A.classB.returnC.importD.print
28.以下代碼的輸出結(jié)果是()。Forsin"HelloWorld":ifs==”W”:continueprint(s,end="")
A.WorldB.HelloC.HelloorldD.HelloWorld
29.在Python中,不能作為變量名的是()。
A.studentB._bmgC.5spD.Teacher
30.以下關(guān)于語言類型的描述中,正確的是()。
A.靜態(tài)語言采用解釋方式執(zhí)行,腳本語言采用編譯方式執(zhí)行
B.C語言是靜態(tài)語言,Python是腳本語言
C.編譯是將目標(biāo)代碼轉(zhuǎn)換成源代碼的過程
D.解釋是將源代碼一次性轉(zhuǎn)換成目標(biāo)代碼同時(shí)逐條運(yùn)行目標(biāo)代碼的過程
二、判斷題(10題)31.假設(shè)已成功導(dǎo)入os和sys標(biāo)準(zhǔn)庫,那么表達(dá)式os.path.dirname(sys.executable)的值為Python安裝目錄。
A.是B.否
32.表達(dá)式{1,2}*2的值為{1,2,1,2}。
A.是B.否
33.元組可以作為集合的元素。
A.是B.否
34.在Python中定義類時(shí),運(yùn)算符重載是通過重寫特殊方法實(shí)現(xiàn)的。例如,在類中實(shí)現(xiàn)了__mul__()方法即可支持該類對(duì)象的**運(yùn)算符。
A.是B.否
35.4j是合法Python數(shù)字類型。
A.是B.否
36.元組的訪問速度比列表要快一些,如果定義了一系列常量值,并且主要用途僅僅是對(duì)其進(jìn)行遍歷二不需要進(jìn)行任何修改,建議使用元組而不使用列表。
A.是B.否
37.Python不允許使用關(guān)鍵字作為變量名,允許使用內(nèi)置函數(shù)名作為變量名,但這會(huì)改變函數(shù)名的含義。
A.是B.否
38.在Python中可以使用if作為變量名。
A.是B.否
39.Python類的構(gòu)造函數(shù)是__init__()。
A.是B.否
40.創(chuàng)建只包含一個(gè)元素的元組時(shí),必須在元素后面加一個(gè)逗號(hào),例如(3,)。
A.是B.否
三、填空題(10題)41.表達(dá)式set([1,1,2,3])的值為____________________。
42.已知x=list(range(10)),則表達(dá)式x[-4:]的值為__________。
43.表達(dá)式len('abcdefg'.ljust(3))的值為_________。
44.切片操作list(range(6))[::2]執(zhí)行結(jié)果為________________。
45.Python內(nèi)建異常類的基類是________________。
46.已知函數(shù)定義deffunc(*p):returnsum(p),那么表達(dá)式func(1,2,3,4)的值為______。
47.表達(dá)式'%s'%65的值為__________。
48.表達(dá)式'abcab'.strip('ab')的值為__________。
49.表達(dá)式'Thefirst:{1},thesecondis{0}'.format(65,97)的值為______________________________。
50.表達(dá)式isinstance('4',(int,float,complex))的值為_____________。
四、操作題(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è)文件“PY102.Py”,請(qǐng)寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。用鍵盤輸入一段文本,保存在一個(gè)字符串變量s中,分別用Python內(nèi)置函數(shù)和jieba庫中已有函數(shù)計(jì)算字符串s的中文字符個(gè)數(shù)和中文詞語個(gè)數(shù)。注意:中文字符包含中文標(biāo)點(diǎn)符號(hào)。示例格式如下。
鍵盤輸入:科技是第一生產(chǎn)力屏幕輸出:中文字符數(shù)為8,中文詞語數(shù)為4。
試題程序:#請(qǐng)?jiān)诔绦虻奶幨褂靡恍写a或表達(dá)式替換
#注意:請(qǐng)不要修改其他已給出代碼importjiebas=input("請(qǐng)輸入一個(gè)字符串")n=_____(1)_____m=_____(2)_____print("中文字符數(shù)為{},中文詞語數(shù)為{}format(n,m))
53.考生文件夾下存在一個(gè)文件PY103.py,請(qǐng)寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能:使用循環(huán)輸出從1到50之間的奇數(shù)。
試題程序:
#請(qǐng)?jiān)赺____處使用一行代碼或表達(dá)式替換
#注意:請(qǐng)不要修改其他已給出代碼______whilecount<50:
ifcount%2==0:
print(count,end=”,”)
參考答案
1.AS&T返回一個(gè)新集合,包括同時(shí)在集合S和T中的元素。
2.C判斷條件4<=5<=6是成立的,故輸出True。本題選擇C選項(xiàng)。
3.B文件打開模式中“w”表示覆蓋寫模式,文件不存在則創(chuàng)建,存在則完全覆蓋原文件。文件寫入方法中,writelines()直接將列表類型的各元素連接起來寫入文件中。此代碼就是將列表ls中的內(nèi)容整體寫入文件中。本題選擇B選項(xiàng)。
4.C根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量指在函數(shù)內(nèi)部定義的變量,僅在函數(shù)內(nèi)部有效,且作用域也在函數(shù)內(nèi)部,當(dāng)函數(shù)退出時(shí)變量將不再存在。全局變量一般指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效。全局變量在函數(shù)內(nèi)部使用時(shí),需要提前使用保留字global聲明,語法形式:global<全局變量>。使用global對(duì)全局變量聲明時(shí),該變量要與外部全局變量同名。本題選擇C選項(xiàng)。
5.D注釋可以在一行的任意位置開始,但只有在“#”后的部分才會(huì)被作為注釋不被執(zhí)行;Python語言有嚴(yán)格的格式要求,不能隨意縮進(jìn),只有在需要的時(shí)候才在代碼前加空格;Python語言允許在一行的末尾加分號(hào),但一般不建議這么做,會(huì)影響代碼的美觀度。
6.B
7.A文件包括文本文件和二進(jìn)制文件兩種類型。Python對(duì)文本文件和二進(jìn)制文件采用統(tǒng)一的操作步驟,即“打開一操作一關(guān)閉”,B項(xiàng)正確。采用文本方式讀人文件,文件經(jīng)過編碼形成字符串,打印出有含義的字符;采用二進(jìn)制方式打開文件,文件被解析為字節(jié)流,A項(xiàng)錯(cuò)誤。Python通過open()函數(shù)打開一個(gè)文件,并返回一個(gè)操作這個(gè)文件的變量,語法:<變量名>=open(<文件路徑及文件名>,<打開模式>),C項(xiàng)正確。文件使用結(jié)束后要用close()方法關(guān)閉,釋放文件的使用授權(quán),語法:<變量名>.close(),D項(xiàng)正確。
8.B輸入5,因?yàn)閚=5滿足第一個(gè)if條件,所以n=n-1,n=4,s=4;因?yàn)楝F(xiàn)在n=4,滿足第二個(gè)if條件,所以n=n-1,n=3,s=3。最終輸出3。本題選擇B選項(xiàng)。
9.C一維數(shù)據(jù)由對(duì)等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織;二維數(shù)據(jù),也稱表格數(shù)據(jù),由關(guān)聯(lián)關(guān)系數(shù)據(jù)構(gòu)成,采用二維表格方式組織;高維數(shù)據(jù)由鍵值對(duì)類型的數(shù)據(jù)構(gòu)成,采用對(duì)象方式組織。故答案為C項(xiàng)。
10.D樹的度為3,即樹中只存在度為0、1、2、3的結(jié)點(diǎn),假設(shè)葉子結(jié)點(diǎn)數(shù)為n,由于沒有度為1和2的結(jié)點(diǎn),則度為3的結(jié)點(diǎn)數(shù)為29一n,根據(jù)樹中的結(jié)點(diǎn)數(shù)=樹中所有結(jié)點(diǎn)的度之和+1,得3×(29一n)+0×1+0×2+n×0+1=29,得出的n不為整數(shù),因此不存在這樣的樹。本題選擇D選項(xiàng)。
11.C
12.D找稱為“后進(jìn)先出”表或“先進(jìn)后出”的線性表;隊(duì)列稱為“先進(jìn)先出”或“后進(jìn)后出”的線性表。A、B、C、D、E依次入棧,則依次出棧順序?yàn)镋、D、C、B、A;F、G、H、I、J依次入隊(duì),則依次出隊(duì)順序?yàn)镕、G、H、I、J。故輸出序列為E,D,C,B,A,F(xiàn),G,H,I,J。本題選擇D選項(xiàng)。
13.D這段代碼是一個(gè)遞歸函數(shù),作用是把result列表中所有與1中一致的元素刪除,所以最后的結(jié)果是一個(gè)空的列表,即[]。本題選擇D選項(xiàng)。
14.Dstr.center(width,fillchar)方法返回長(zhǎng)度為width的字符串。其中str處于新字符串中心位置,兩側(cè)新增字符串采用fillchar填充,當(dāng)width小于字符串長(zhǎng)度時(shí),返回str;fillchar是單個(gè)字符。本題中,str1.cente(10,*)中的“*”兩側(cè)沒有引號(hào),因此不是字符串類型,執(zhí)行語句后會(huì)報(bào)錯(cuò)。本題選擇D選項(xiàng)。
15.B解析:軟件開發(fā)階段包括需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試5個(gè)階段。其中需求分析階段常用的工具是數(shù)據(jù)流圖(簡(jiǎn)稱DFD)和數(shù)據(jù)字典(簡(jiǎn)稱DD)。常見的詳細(xì)設(shè)計(jì)的圖形描述工具主要有程序流程圖、N-S結(jié)構(gòu)圖、問題分析圖(簡(jiǎn)稱PAD圖)。
16.A該代碼的功能是根據(jù)傳人的參數(shù)求取該數(shù)的階乘,經(jīng)過一系列的運(yùn)算將結(jié)果返回,4的階乘為24。
17.C
18.A由于列表ls中所有元素都是整數(shù)類型,不可能等于字符串類型的‘44’,即if語句中的條件不成立,需執(zhí)行else語句,輸出notfoundit…。本題選擇A選項(xiàng)。
19.Cwhile條件為真時(shí)進(jìn)入循環(huán)體,執(zhí)行循環(huán)體中的內(nèi)容。如果x的值為偶數(shù)則if條件為假,不執(zhí)行任何操作,為奇數(shù)則if條件為真,輸出該奇數(shù);進(jìn)入下一次循環(huán),判斷while條件,判斷是否進(jìn)入循環(huán)體,執(zhí)行循環(huán)體中的代碼。后面的操作類似,直到while條件不滿足。經(jīng)過一系列的運(yùn)算,輸出結(jié)果為:97531。
20.C根據(jù)完全二叉樹的性質(zhì):具有n個(gè)結(jié)點(diǎn)的完全二叉樹的深度為[log2n]+1。本題中完全二叉樹共有256個(gè)結(jié)點(diǎn),則深度為[log2256]+1=8+1=9。本題選擇C選項(xiàng)。
21.Crandom.randint(a,b)隨機(jī)生成[a,b](包括a、b)之間的整數(shù);random.uniform(a,b)隨機(jī)生成[a,b](包括a,不包括b)之間的實(shí)數(shù)。故答案為C項(xiàng)。
22.C在Python中,源文件的擴(kuò)展名一般使用.py。本題選擇C選項(xiàng)。
23.Copen()函數(shù)打開一個(gè)文件,并返回可以操作這個(gè)文件的變量f,并且open()函數(shù)有兩個(gè)參數(shù):文件名和打開模式。本題只是打開了文件,并沒有對(duì)文件進(jìn)行操作,因此不會(huì)輸出文件的內(nèi)容。print(f)語句輸出的是變量f代表的文件的相關(guān)信息:<_io.TextIOWrappername=exam.txt’mode=’r’encoding=’cp936’>。若想要輸出文件的內(nèi)容,需要把文件的內(nèi)容讀入,如f1=f.read()。本題選擇C選項(xiàng)。
24.BB項(xiàng)中正確的輸出應(yīng)為6+5,當(dāng)print()函數(shù)括號(hào)內(nèi)的變量被引號(hào)括起,則視為字符串。
25.CPython中open()函數(shù)提供了\n7種基本的文件打開模式:r、w、x、a、b、t、+。其中,r、w、x、a可以和b、t、+組合使用。本題選擇C選項(xiàng)。
26.D屬性即對(duì)象所包含的信息,它在設(shè)計(jì)對(duì)象時(shí)確定,一般只能通過執(zhí)行對(duì)象的操作來改變。不同對(duì)象的同一屬性可以具有相同或不同的屬性值。例如,張三的年齡是20,李四的年齡是18,張三、李四是兩個(gè)不同的對(duì)象,他們共同的屬性”年齡”的值不同。
27.CPython中無論是標(biāo)準(zhǔn)庫、第三方庫還是自定義庫,在使用之前都需要進(jìn)行導(dǎo)入,方法就是使用import語句導(dǎo)入模塊。
28.Cforsin'HelloWorld”:將字符串HelloWorld中的字符依次賦給變量s,之后進(jìn)行if判斷,如果s=\n'W”,則continue,執(zhí)行下一個(gè)循環(huán),不執(zhí)行print(s,end='”),否則執(zhí)行print(s,end\n=''),所以最后輸出的結(jié)果是Helloorld。本題選擇C選項(xiàng)。
29.C在Python中,變量名的命名規(guī)則:以字母或下劃線開頭,后面跟字母、下劃線和數(shù)字;不能以數(shù)字開頭。本題選擇C選項(xiàng)。
30.B高級(jí)語言根據(jù)計(jì)算機(jī)執(zhí)行機(jī)制的不同可分為兩類:靜態(tài)語言和腳本語言。靜態(tài)語言采用編譯方式執(zhí)行,腳本語言采用解釋方式執(zhí)行。例如,C語言是靜態(tài)語言,Python是腳本語言。編譯是將源代碼轉(zhuǎn)換成目標(biāo)代碼的過程。解釋是將源代碼逐條轉(zhuǎn)換成目標(biāo)代碼同時(shí)逐條運(yùn)行的過程。本題選擇B選項(xiàng)。
31.Y
32.N
33.Y
34.N
35.Y
36.Y
37.Y
38.N
39.Y
40.Y
41.{1,2,3}
42.[6,7,8,9]
43.7
44.[0,2,4]
45.BaseException
46.10
47.'65'
48.'c'
49.'Thefirst:97,thesecondis65'
50.False
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.importjiebas=input(”請(qǐng)輸入一個(gè)字符串”)n=len(s)m=len(jieba.lcut(s)print("中文字符數(shù)為{},中文詞語數(shù)為{}?!?format(n,m)本題要求使用jieba中文分詞庫,統(tǒng)計(jì)輸入的字符串的長(zhǎng)度以及中文詞語數(shù)。給定的字符串s中僅包含中文字符和中文標(biāo)點(diǎn)符號(hào),因此可以直接使用len()函數(shù)統(tǒng)計(jì)字符數(shù)量,第1空填len(s)。再使用jieba庫的lcut(s)方法,返回一個(gè)以中文詞語為元素的列表類型,使用len()獲得列表的長(zhǎng)度,即中文詞語數(shù)量。因此第2\r\n空填len(jieba.lcut(s))
53.count=0\r\n
whilecount<50:\r\n
count+=1\r\n
ifcount%2==0:\r\n
continue\r\n
print(count,end=”,”)判斷一個(gè)數(shù)是否為奇數(shù),即判斷這個(gè)數(shù)能否被2整除,可以被整除則為偶數(shù),結(jié)束本次循環(huán),使用continue語句;不可以被整除則為奇數(shù),輸出該數(shù)。while循環(huán)不具有自動(dòng)計(jì)數(shù)的功能,所以需要定義一個(gè)變量,初始值為0,每經(jīng)過一次循環(huán),變量加1;當(dāng)變量超過50時(shí),停止循環(huán)。陜西省銅川市全國(guó)計(jì)算機(jī)等級(jí)考試Python語言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(30題)1.s和T是兩個(gè)集合,對(duì)S&T。的描述正確的是()。
A.S和T的交運(yùn)算,包括同時(shí)在集合S和T中的元素
B.S和T的并運(yùn)算,包括在集合S和T中的所有元素
C.S和T的差運(yùn)算,包括在集合S但不在T中的元素
D.S和T的補(bǔ)運(yùn)算,包括幾個(gè)S和T中的非相同元素
2.以下關(guān)于Python的描述中,正確的是()。A.條件4<=5<=6是合法的,輸出False
B.條件4<=5<=6是不合法的
C.條件4<=5<=6是合法的,輸出True
D.條件4<=5<=6是不合法的,拋出異常
3.以下程序的輸出結(jié)果是()。fo=open(“book.txt”,“w”)ls=[‘C語言’,‘Java’,‘C#’,‘Python’]fo.writelines(ls)fo.close()
A.‘語言’‘Java’‘C#’‘Python’
B.C語言JavaC#Python
C.[C語言,Java,C#,Python]
D.[‘C語言’‘Java’‘C#’,‘Python’]
4.下面關(guān)于局部變量和全局變量的描述,正確的是()。
A.全局變量不可以定義在函數(shù)中
B.全局變量在使用后立即被釋放
C.局部變量在使用后立即被釋放
D.局部變量不可以和全局變量的命名相同
5.下列關(guān)于Python程序格式的描述中正確的是()。
A.注釋可以在一行中的任意位置開始,這一行都會(huì)作為注釋不被執(zhí)行
B.縮進(jìn)是指每行代碼前的留白部分,用來表示層次關(guān)系,使代碼更加整潔利于閱讀,所有代碼都需要在行前至少加一個(gè)空格
C.Python語言不允許在一行的末尾加分號(hào),這會(huì)導(dǎo)致語法錯(cuò)誤
D.一行代碼的長(zhǎng)度如果過長(zhǎng),可以使用“\”反斜杠續(xù)行
6.執(zhí)行以下代碼的結(jié)果是?type(lambda:None)A.(type‘NoneType’)
B.(type‘function’)
C.(type‘tuple’)
D.(type‘type’)
7.以下對(duì)Python文件處理的描述中,錯(cuò)誤的是()。
A.當(dāng)文件以文本方式打開時(shí),讀寫按照字節(jié)流方式
B.Python能夠以文本和二進(jìn)制兩種方式處理文件
C.Python通過解釋器內(nèi)置的open()函數(shù)打開一個(gè)文件
D.文件使用結(jié)束后可以用close()方法關(guān)閉,釋放文件的使用授權(quán)
8.從鍵盤輸入數(shù)字5,以下程序的輸出結(jié)果是()。n=eval(input(“請(qǐng)輸入一個(gè)整數(shù):”))s=0ifn>=5: n-=1 s=4ifn<5: n-=1 s=3print(s)
A.4B.3C.0D.2
9.表格類型數(shù)據(jù)的組織維度最可能是()。
A.多維數(shù)據(jù)B.一維數(shù)據(jù)C.二維數(shù)據(jù)D.高維數(shù)據(jù)
10.樹的度為3,共有29個(gè)結(jié)點(diǎn),但沒有度為1和2的結(jié)點(diǎn)。則該樹中葉子結(jié)點(diǎn)數(shù)為()。
A.OB.9C.18D.不可能有這樣的樹
11.Python中,查看一個(gè)對(duì)象是哪種類型,使用______命令
A.isinstanceB.idC.typeD.issubclass
12.設(shè)棧與隊(duì)列初始狀態(tài)為空。首先A、B、C、D、E依次人棧,再F、G、H、I、J依次人隊(duì);然后依次出找至???再依次出隊(duì)至隊(duì)空。則輸出序列為()。
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
D.E,D,C,B,A,F,G,H,I,J
13.以下程序的輸出結(jié)果是()。l=‘a(chǎn)bcd’deff(x,result=[‘a(chǎn)’,‘b’,‘c’,‘d’]): ifx: result.remove(x[-1]) f(x[:-1]) returnresultprint(f(l))
A.[‘a(chǎn)’,‘b’,‘c’,‘d’]
B.[‘b’,‘c’,‘d’
C.[‘a(chǎn)’,‘b’,‘c’]
D.[]
14.設(shè)str1=‘python’,語句print(str1.center(10,*))的執(zhí)行結(jié)果是()。
A.python****B.**python**C.****pythonD.SyntaxError
15.在軟件開發(fā)中,需求分析階段可以使用的工具是()。
A.N-S圖B.DFD圖C.PAD圖D.程序流程圖
16.下面代碼的輸出結(jié)果是()。deff(n):ifn==1:return1else:returnn*f(n—1)print(f(4))
A.24B.4C.0D.10
17.在Python3下輸入100000000L,會(huì)得到()
A.100000000LB.100000000C.SyntaxError:invalidsyntaxD.1e8
18.以下程序的輸出結(jié)果是()。ls=[12,44,23,46]foriinlsifi==‘44’:print(‘foundit!i=i’,i)breakelse:print(‘notfoundit…’)A.notfoundit…
B.foundit!i=44
C.foundit!i=44notfoundit…
D.foundit!i=‘44’notfoundit...
19.下面代碼的輸出結(jié)果是()。x=10whilex:x一=1ifx%2:print(x,end=”)else:pass
A.86420B.975311C.97531D.864200
20.某完全二叉樹有256個(gè)結(jié)點(diǎn),則該二叉樹的深度為()。
A.7B.8C.9D.10
21.生成一個(gè)[1,99]之間隨機(jī)整數(shù)的函數(shù)是()。
A.random.randint(1,100)
B.random.randint(0,99)
C.random.randint(1,99)
D.random.uniform(1,99)
22.在Python中,可以作為源文件擴(kuò)展名的是()。
A..pngB..pdfC..pyD..ppt
23.文件exam.txt與以下代碼在同一目錄下,其內(nèi)容是一段文本:bigBen,以下代碼的輸出結(jié)果是()。f=open(”exam.txt”)print(f)f.close()
A.bigBenB.exam.txtC.<_io.TextIOWrapper…>D.exam
24.下列關(guān)于Python內(nèi)置函數(shù)的使用描述錯(cuò)誤的是()。
A.int(x)是將x轉(zhuǎn)換為一個(gè)整數(shù)
B.print(”6+5”)的輸出是11
C.dic.clear()的結(jié)果是清空字典dic
D.使用append()函數(shù)可以向列表添加元素
25.Python中文件的打開模式不包含()。
A.'a'B.'b'C.'c'D.'+'
26.下面描述錯(cuò)誤的是()。
A.對(duì)象一定有標(biāo)識(shí)B.對(duì)象一定有屬性和方法(或操作)C.對(duì)象具有封裝性D.不同對(duì)象的同一屬性一定有相同的屬性值
27.以下屬于P)rthon中導(dǎo)入語句的是()。
A.classB.returnC.importD.print
28.以下代碼的輸出結(jié)果是()。Forsin"HelloWorld":ifs==”W”:continueprint(s,end="")
A.WorldB.HelloC.HelloorldD.HelloWorld
29.在Python中,不能作為變量名的是()。
A.studentB._bmgC.5spD.Teacher
30.以下關(guān)于語言類型的描述中,正確的是()。
A.靜態(tài)語言采用解釋方式執(zhí)行,腳本語言采用編譯方式執(zhí)行
B.C語言是靜態(tài)語言,Python是腳本語言
C.編譯是將目標(biāo)代碼轉(zhuǎn)換成源代碼的過程
D.解釋是將源代碼一次性轉(zhuǎn)換成目標(biāo)代碼同時(shí)逐條運(yùn)行目標(biāo)代碼的過程
二、判斷題(10題)31.假設(shè)已成功導(dǎo)入os和sys標(biāo)準(zhǔn)庫,那么表達(dá)式os.path.dirname(sys.executable)的值為Python安裝目錄。
A.是B.否
32.表達(dá)式{1,2}*2的值為{1,2,1,2}。
A.是B.否
33.元組可以作為集合的元素。
A.是B.否
34.在Python中定義類時(shí),運(yùn)算符重載是通過重寫特殊方法實(shí)現(xiàn)的。例如,在類中實(shí)現(xiàn)了__mul__()方法即可支持該類對(duì)象的**運(yùn)算符。
A.是B.否
35.4j是合法Python數(shù)字類型。
A.是B.否
36.元組的訪問速度比列表要快一些,如果定義了一系列常量值,并且主要用途僅僅是對(duì)其進(jìn)行遍歷二不需要進(jìn)行任何修改,建議使用元組而不使用列表。
A.是B.否
37.Python不允許使用關(guān)鍵字作為變量名,允許使用內(nèi)置函數(shù)名作為變量名,但這會(huì)改變函數(shù)名的含義。
A.是B.否
38.在Python中可以使用if作為變量名。
A.是B.否
39.Python類的構(gòu)造函數(shù)是__init__()。
A.是B.否
40.創(chuàng)建只包含一個(gè)元素的元組時(shí),必須在元素后面加一個(gè)逗號(hào),例如(3,)。
A.是B.否
三、填空題(10題)41.表達(dá)式set([1,1,2,3])的值為____________________。
42.已知x=list(range(10)),則表達(dá)式x[-4:]的值為__________。
43.表達(dá)式len('abcdefg'.ljust(3))的值為_________。
44.切片操作list(range(6))[::2]執(zhí)行結(jié)果為________________。
45.Python內(nèi)建異常類的基類是________________。
46.已知函數(shù)定義deffunc(*p):returnsum(p),那么表達(dá)式func(1,2,3,4)的值為______。
47.表達(dá)式'%s'%65的值為__________。
48.表達(dá)式'abcab'.strip('ab')的值為__________。
49.表達(dá)式'Thefirst:{1},thesecondis{0}'.format(65,97)的值為______________________________。
50.表達(dá)式isinstance('4',(int,float,complex))的值為_____________。
四、操作題(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è)文件“PY102.Py”,請(qǐng)寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。用鍵盤輸入一段文本,保存在一個(gè)字符串變量s中,分別用Python內(nèi)置函數(shù)和jieba庫中已有函數(shù)計(jì)算字符串s的中文字符個(gè)數(shù)和中文詞語個(gè)數(shù)。注意:中文字符包含中文標(biāo)點(diǎn)符號(hào)。示例格式如下。
鍵盤輸入:科技是第一生產(chǎn)力屏幕輸出:中文字符數(shù)為8,中文詞語數(shù)為4。
試題程序:#請(qǐng)?jiān)诔绦虻奶幨褂靡恍写a或表達(dá)式替換
#注意:請(qǐng)不要修改其他已給出代碼importjiebas=input("請(qǐng)輸入一個(gè)字符串")n=_____(1)_____m=_____(2)_____print("中文字符數(shù)為{},中文詞語數(shù)為{}format(n,m))
53.考生文件夾下存在一個(gè)文件PY103.py,請(qǐng)寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能:使用循環(huán)輸出從1到50之間的奇數(shù)。
試題程序:
#請(qǐng)?jiān)赺____處使用一行代碼或表達(dá)式替換
#注意:請(qǐng)不要修改其他已給出代碼______whilecount<50:
ifcount%2==0:
print(count,end=”,”)
參考答案
1.AS&T返回一個(gè)新集合,包括同時(shí)在集合S和T中的元素。
2.C判斷條件4<=5<=6是成立的,故輸出True。本題選擇C選項(xiàng)。
3.B文件打開模式中“w”表示覆蓋寫模式,文件不存在則創(chuàng)建,存在則完全覆蓋原文件。文件寫入方法中,writelines()直接將列表類型的各元素連接起來寫入文件中。此代碼就是將列表ls中的內(nèi)容整體寫入文件中。本題選擇B選項(xiàng)。
4.C根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量指在函數(shù)內(nèi)部定義的變量,僅在函數(shù)內(nèi)部有效,且作用域也在函數(shù)內(nèi)部,當(dāng)函數(shù)退出時(shí)變量將不再存在。全局變量一般指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效。全局變量在函數(shù)內(nèi)部使用時(shí),需要提前使用保留字global聲明,語法形式:global<全局變量>。使用global對(duì)全局變量聲明時(shí),該變量要與外部全局變量同名。本題選擇C選項(xiàng)。
5.D注釋可以在一行的任意位置開始,但只有在“#”后的部分才會(huì)被作為注釋不被執(zhí)行;Python語言有嚴(yán)格的格式要求,不能隨意縮進(jìn),只有在需要的時(shí)候才在代碼前加空格;Python語言允許在一行的末尾加分號(hào),但一般不建議這么做,會(huì)影響代碼的美觀度。
6.B
7.A文件包括文本文件和二進(jìn)制文件兩種類型。Python對(duì)文本文件和二進(jìn)制文件采用統(tǒng)一的操作步驟,即“打開一操作一關(guān)閉”,B項(xiàng)正確。采用文本方式讀人文件,文件經(jīng)過編碼形成字符串,打印出有含義的字符;采用二進(jìn)制方式打開文件,文件被解析為字節(jié)流,A項(xiàng)錯(cuò)誤。Python通過open()函數(shù)打開一個(gè)文件,并返回一個(gè)操作這個(gè)文件的變量,語法:<變量名>=open(<文件路徑及文件名>,<打開模式>),C項(xiàng)正確。文件使用結(jié)束后要用close()方法關(guān)閉,釋放文件的使用授權(quán),語法:<變量名>.close(),D項(xiàng)正確。
8.B輸入5,因?yàn)閚=5滿足第一個(gè)if條件,所以n=n-1,n=4,s=4;因?yàn)楝F(xiàn)在n=4,滿足第二個(gè)if條件,所以n=n-1,n=3,s=3。最終輸出3。本題選擇B選項(xiàng)。
9.C一維數(shù)據(jù)由對(duì)等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織;二維數(shù)據(jù),也稱表格數(shù)據(jù),由關(guān)聯(lián)關(guān)系數(shù)據(jù)構(gòu)成,采用二維表格方式組織;高維數(shù)據(jù)由鍵值對(duì)類型的數(shù)據(jù)構(gòu)成,采用對(duì)象方式組織。故答案為C項(xiàng)。
10.D樹的度為3,即樹中只存在度為0、1、2、3的結(jié)點(diǎn),假設(shè)葉子結(jié)點(diǎn)數(shù)為n,由于沒有度為1和2的結(jié)點(diǎn),則度為3的結(jié)點(diǎn)數(shù)為29一n,根據(jù)樹中的結(jié)點(diǎn)數(shù)=樹中所有結(jié)點(diǎn)的度之和+1,得3×(29一n)+0×1+0×2+n×0+1=29,得出的n不為整數(shù),因此不存在這樣的樹。本題選擇D選項(xiàng)。
11.C
12.D找稱為“后進(jìn)先出”表或“先進(jìn)后出”的線性表;隊(duì)列稱為“先進(jìn)先出”或“后進(jìn)后出”的線性表。A、B、C、D、E依次入棧,則依次出棧順序?yàn)镋、D、C、B、A;F、G、H、I、J依次入隊(duì),則依次出隊(duì)順序?yàn)镕、G、H、I、J。故輸出序列為E,D,C,B,A,F(xiàn),G,H,I,J。本題選擇D選項(xiàng)。
13.D這段代碼是一個(gè)遞歸函數(shù),作用是把result列表中所有與1中一致的元素刪除,所以最后的結(jié)果是一個(gè)空的列表,即[]。本題選擇D選項(xiàng)。
14.Dstr.center(width,fillchar)方法返回長(zhǎng)度為width的字符串。其中str處于新字符串中心位置,兩側(cè)新增字符串采用fillchar填充,當(dāng)width小于字符串長(zhǎng)度時(shí),返回str;fillchar是單個(gè)字符。本題中,str1.cente(10,*)中的“*”兩側(cè)沒有引號(hào),因此不是字符串類型,執(zhí)行語句后會(huì)報(bào)錯(cuò)。本題選擇D選項(xiàng)。
15.B解析:軟件開發(fā)階段包括需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試5個(gè)階段。其中需求分析階段常用的工具是數(shù)據(jù)流圖(簡(jiǎn)稱DFD)和數(shù)據(jù)字典(簡(jiǎn)稱DD)。常見的詳細(xì)設(shè)計(jì)的圖形描述工具主要有程序流程圖、N-S結(jié)構(gòu)圖、問題分析圖(簡(jiǎn)稱PAD圖)。
16.A該代碼的功能是根據(jù)傳人的參數(shù)求取該數(shù)的階乘,經(jīng)過一系列的運(yùn)算將結(jié)果返回,4的階乘為24。
17.C
18.A由于列表ls中所有元素都是整數(shù)類型,不可能等于字符串類型的‘44’,即if語句中的條件不成立,需執(zhí)行else語句,輸出notfoundit…。本題選擇A選項(xiàng)。
19.Cwhile條件為真時(shí)進(jìn)入循環(huán)體,執(zhí)行循環(huán)體中的內(nèi)容。如果x的值為偶數(shù)則if條件為假,不執(zhí)行任何操作,為奇數(shù)則if條件為真,輸出該奇數(shù);進(jìn)入下一次循環(huán),判斷while條件,判斷是否進(jìn)入循環(huán)體,執(zhí)行循環(huán)體中的代碼。后面的操作類似,直到while條件不滿足。經(jīng)過一系列的運(yùn)算,輸出結(jié)果為:97531。
20.C根據(jù)完全二叉樹的性質(zhì):具有n個(gè)結(jié)點(diǎn)的完全二叉樹的深度為[log2n]+1。本題中完全二叉樹共有256個(gè)結(jié)點(diǎn),則深度為[log2256]+1=8+1=9。本題選擇C選項(xiàng)。
21.Crandom.randint(a,b)隨機(jī)生成[a,b](包括a、b)之間的整數(shù);random.uniform(a,b)隨機(jī)生成[a,b](包括a,不包括b)之間的實(shí)數(shù)。故答案為C項(xiàng)。
22.C在Python中,源文件的擴(kuò)展名一般使用.py。本題選擇C選項(xiàng)。
23.Copen()函數(shù)打開一個(gè)文件,并返回可以操作這個(gè)文件的變量f,并且open()函數(shù)有兩個(gè)參數(shù):文件名和打開模式。本題只是打開了文件,并沒有對(duì)文件進(jìn)行操作,因此不會(huì)輸出文件的內(nèi)容。print(f)語句輸出的是變量f代表的文件的相關(guān)信息:<_io.TextIOWrappername=exam.txt’mode=’r’encoding=’cp936’>。若想要輸出文件的內(nèi)容,需要把文件的內(nèi)容讀入,如f1=f.read()。本題選擇C選項(xiàng)。
24.BB項(xiàng)中正確的輸出應(yīng)為6+5,當(dāng)print()函數(shù)括號(hào)內(nèi)的變量被引號(hào)括起,則視為字符串。
25.CPython中open()函數(shù)提供了\n7種基本的文件打開模式:r、w、x、a、b、t、+。其中,r、w、x、a可以和b、t、+組合使用。本題選擇C選項(xiàng)。
26.D屬性即對(duì)象所包含的信息,它在設(shè)計(jì)對(duì)象時(shí)確定,一般只能通過執(zhí)行對(duì)象的操作來改變。不同對(duì)象的同一屬性可以具有相同或不同的屬性值。例如,張三的年齡是20,李四的年齡是18,張三、李四是兩個(gè)不同的對(duì)象,他們共同的屬性”年齡”的值不同。
27.CPython中無論是標(biāo)準(zhǔn)庫、第三方庫還是自定義庫,在使用之前都需要進(jìn)行導(dǎo)入,方法就是使用import語句導(dǎo)入模塊。
28.Cforsin'HelloWorld”:將字符串HelloWorld中的字符依次賦給變量s,之后進(jìn)行if判斷,如果s=\n'W”,則continue,執(zhí)行下一個(gè)循環(huán),不執(zhí)行print(s,end='”),否則執(zhí)行print(s,end\n=''),所以最后輸出的結(jié)果是Helloorld。本題選擇C選項(xiàng)。
29.C在Python中,變量名的命名規(guī)則:以字母或下劃線開頭,后面跟字母、下劃線和數(shù)字;不能以數(shù)字開頭。本題選擇C選項(xiàng)。
30.B高級(jí)語言根據(jù)計(jì)算機(jī)執(zhí)行機(jī)制的不同可分為兩類:靜態(tài)語言和腳本語言。靜態(tài)語言采用編譯方式執(zhí)行,腳本語言采用解釋方式執(zhí)行。例如,C語言是靜態(tài)語言,Python是腳本語言。編譯是將源代碼轉(zhuǎn)換成目標(biāo)代碼的過程。解釋是將源代碼逐條轉(zhuǎn)換成目標(biāo)代碼同時(shí)逐條運(yùn)行的過程。本題選擇B選項(xiàng)。
31.Y
32.N
33.Y
34.N
35.Y
36.Y
37.Y
38.N
39.Y
40.Y
41.{1,2,3}
42.[6,7,8,9]
43.7
44.[0,2,4]
45.BaseException
46.10
47.'65'
48.'c'
49.'Thefirst:97,thesecondis65'
50.False
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.importjiebas=input(”請(qǐng)輸入一個(gè)字符串”)n=len(s)m=len(jieba.lcut(s)print("中文字符數(shù)為{},中文詞語數(shù)為{}?!?format(n,m)本題要求使用jieba中文分詞庫,統(tǒng)計(jì)輸入的字符串的長(zhǎng)度以及中文詞語數(shù)。給定的字符串s中僅包含中文字符和中文標(biāo)點(diǎn)符號(hào),因此可以直接使用len()函數(shù)統(tǒng)計(jì)字符數(shù)量,第1空填len(s)。再使用jieba庫的lcut(s)方法,返回一個(gè)以中文詞語為元素的列表類型,使用len()獲得列表的長(zhǎng)度,即中文詞語數(shù)量。因此第2\r\n空填len(jieba.lcut(s))
53.count=0\r\n
whilecount<50:\r\n
count+=1\r\n
ifcount%2==0:\r\n
continue\r\n
print(count,end=”,”)判斷一個(gè)數(shù)是否為奇數(shù),即判斷這個(gè)數(shù)能否被2整除,可以被整除則為偶數(shù),結(jié)束本次循環(huán),使用continue語句;不可以被整除則為奇數(shù),輸出該數(shù)。while循環(huán)不具有自動(dòng)計(jì)數(shù)的功能,所以需要定義一個(gè)變量,初始值為0,每經(jīng)過一次循環(huán),變量加1;當(dāng)變量超過50時(shí),停止循環(huán)。陜西省銅川市全國(guó)計(jì)算機(jī)等級(jí)考試Python語言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(30題)1.s和T是兩個(gè)集合,對(duì)S&T。的描述正確的是()。
A.S和T的交運(yùn)算,包括同時(shí)在集合S和T中的元素
B.S和T的并運(yùn)算,包括在集合S和T中的所有元素
C.S和T的差運(yùn)算,包括在集合S但不在T中的元素
D.S和T的補(bǔ)運(yùn)算,包括幾個(gè)S和T中的非相同元素
2.以下關(guān)于Python的描述中,正確的是()。A.條件4<=5<=6是合法的,輸出False
B.條件4<=5<=6是不合法的
C.條件4<=5<=6是合法的,輸出True
D.條件4<=5<=6是不合法的,拋出異常
3.以下程序的輸出結(jié)果是()。fo=open(“book.txt”,“w”)ls=[‘C語言’,‘Java’,‘C#’,‘Python’]fo.writelines(ls)fo.close()
A.‘語言’‘Java’‘C#’‘Python’
B.C語言JavaC#Python
C.[C語言,Java,C#,Python]
D.[‘C語言’‘Java’‘C#’,‘Python’]
4.下面關(guān)于局部變量和全局變量的描述,正確的是()。
A.全局變量不可以定義在函數(shù)中
B.全局變量在使用后立即被釋放
C.局部變量在使用后立即被釋放
D.局部變量不可以和全局變量的命名相同
5.下列關(guān)于Python程序格式的描述中正確的是()。
A.注釋可以在一行中的任意位置開始,這一行都會(huì)作為注釋不被執(zhí)行
B.縮進(jìn)是指每行代碼前的留白部分,用來表示層次關(guān)系,使代碼更加整潔利于閱讀,所有代碼都需要在行前至少加一個(gè)空格
C.Python語言不允許在一行的末尾加分號(hào),這會(huì)導(dǎo)致語法錯(cuò)誤
D.一行代碼的長(zhǎng)度如果過長(zhǎng),可以使用“\”反斜杠續(xù)行
6.執(zhí)行以下代碼的結(jié)果是?type(lambda:None)A.(type‘NoneType’)
B.(type‘function’)
C.(type‘tuple’)
D.(type‘type’)
7.以下對(duì)Python文件處理的描述中,錯(cuò)誤的是()。
A.當(dāng)文件以文本方式打開時(shí),讀寫按照字節(jié)流方式
B.Python能夠以文本和二進(jìn)制兩種方式處理文件
C.Python通過解釋器內(nèi)置的open()函數(shù)打開一個(gè)文件
D.文件使用結(jié)束后可以用close()方法關(guān)閉,釋放文件的使用授權(quán)
8.從鍵盤輸入數(shù)字5,以下程序的輸出結(jié)果是()。n=eval(input(“請(qǐng)輸入一個(gè)整數(shù):”))s=0ifn>=5: n-=1 s=4ifn<5: n-=1 s=3print(s)
A.4B.3C.0D.2
9.表格類型數(shù)據(jù)的組織維度最可能是()。
A.多維數(shù)據(jù)B.一維數(shù)據(jù)C.二維數(shù)據(jù)D.高維數(shù)據(jù)
10.樹的度為3,共有29個(gè)結(jié)點(diǎn),但沒有度為1和2的結(jié)點(diǎn)。則該樹中葉子結(jié)點(diǎn)數(shù)為()。
A.OB.9C.18D.不可能有這樣的樹
11.Python中,查看一個(gè)對(duì)象是哪種類型,使用______命令
A.isinstanceB.idC.typeD.issubclass
12.設(shè)棧與隊(duì)列初始狀態(tài)為空。首先A、B、C、D、E依次人棧,再F、G、H、I、J依次人隊(duì);然后依次出找至???再依次出隊(duì)至隊(duì)空。則輸出序列為()。
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
D.E,D,C,B,A,F,G,H,I,J
13.以下程序的輸出結(jié)果是()。l=‘a(chǎn)bcd’deff(x,result=[‘a(chǎn)’,‘b’,‘c’,‘d’]): ifx: result.remove(x[-1]) f(x[:-1]) returnresultprint(f(l))
A.[‘a(chǎn)’,‘b’,‘c’,‘d’]
B.[‘b’,‘c’,‘d’
C.[‘a(chǎn)’,‘b’,‘c’]
D.[]
14.設(shè)str1=‘python’,語句print(str1.center(10,*))的執(zhí)行結(jié)果是()。
A.python****B.**python**C.****pythonD.SyntaxError
15.在軟件開發(fā)中,需求分析階段可以使用的工具是()。
A.N-S圖B.DFD圖C.PAD圖D.程序流程圖
16.下面代碼的輸出結(jié)果是()。deff(n):ifn==1:return1else:returnn*f(n—1)print(f(4))
A.24B.4C.0D.10
17.在Python3下輸入100000000L,會(huì)得到()
A.100000000LB.100000000C.SyntaxError:invalidsyntaxD.1e8
18.以下程序的輸出結(jié)果是()。ls=[12,44,23,46]foriinlsifi==‘44’:print(‘foundit!i=i’,i)breakelse:print(‘notfoundit…’)A.notfoundit…
B.foundit!i=44
C.foundit!i=44notfoundit…
D.foundit!i=‘44’notfoundit...
19.下面代碼的輸出結(jié)果是()。x=10whilex:x一=1ifx%2:print(x,end=”)else:pass
A.86420B.975311C.97531D.864200
20.某完全二叉樹有256個(gè)結(jié)點(diǎn),則該二叉樹的深度為()。
A.7B.8C.9D.10
21.生成一個(gè)[1,99]之間隨機(jī)整數(shù)的函數(shù)是()。
A.random.randint(1,100)
B.random.randint(0,99)
C.random.randint(1,99)
D.random.uniform(1,99)
22.在Python中,可以作為源文件擴(kuò)展名的是()。
A..pngB..pdfC..pyD..ppt
23.文件exam.txt與以下代碼在同一目錄下,其內(nèi)容是一段文本:bigBen,以下代碼的輸出結(jié)果是()。f=open(”exam.txt”)print(f)f.close()
A.bigBenB.exam.txtC.<_io.TextIOWrapper…>D.exam
24.下列關(guān)于Python內(nèi)置函數(shù)的使用描述錯(cuò)誤的是()。
A.int(x)是將x轉(zhuǎn)換為一個(gè)整數(shù)
B.print(”6+5”)的輸出是11
C.dic.clear()的結(jié)果是清空字典dic
D.使用append()函數(shù)可以向列表添加元素
25.Python中文件的打開模式不包含()。
A.'a'B.'b'C.'c'D.'+'
26.下面描述錯(cuò)誤的是()。
A.對(duì)象一定有標(biāo)識(shí)B.對(duì)象一定有屬性和方法(或操作)C.對(duì)象具有封裝性D.不同對(duì)象的同一屬性一定有相同的屬性值
27.以下屬于P)rthon中導(dǎo)入語句的是()。
A.classB.returnC.importD.print
28.以下代碼的輸出結(jié)果是()。Forsin"HelloWorld":ifs==”W”:continueprint(s,end="")
A.WorldB.HelloC.HelloorldD.HelloWorld
29.在Python中,不能作為變量名的是()。
A.studentB._bmgC.5spD.Teacher
30.以下關(guān)于語言類型的描述中,正確的是()。
A.靜態(tài)語言采用解釋方式執(zhí)行,腳本語言采用編譯方式執(zhí)行
B.C語言是靜態(tài)語言,Python是腳本語言
C.編譯是將目標(biāo)代碼轉(zhuǎn)換成源代碼的過程
D.解釋是將源代碼一次性轉(zhuǎn)換成目標(biāo)代碼同時(shí)逐條運(yùn)行目標(biāo)代碼的過程
二、判斷題(10題)31.假設(shè)已成功導(dǎo)入os和sys標(biāo)準(zhǔn)庫,那么表達(dá)式os.path.dirname(sys.executable)的值為Python安裝目錄。
A.是B.否
32.表達(dá)式{1,2}*2的值為{1,2,1,2}。
A.是B.否
33.元組可以作為集合的元素。
A.是B.否
34.在Python中定義類時(shí),運(yùn)算符重載是通過重寫特殊方法實(shí)現(xiàn)的。例如,在類中實(shí)現(xiàn)了__mul__()方法即可支持該類對(duì)象的**運(yùn)算符。
A.是B.否
35.4j是合法Python數(shù)字類型。
A.是B.否
36.元組的訪問速度比列表要快一些,如果定義了一系列常量值,并且主要用途僅僅是對(duì)其進(jìn)行遍歷二不需要進(jìn)行任何修改,建議使用元組而不使用列表。
A.是B.否
37.Python不允許使用關(guān)鍵字作為變量名,允許使用內(nèi)置函數(shù)名作為變量名,但這會(huì)改變函數(shù)名的含義。
A.是B.否
38.在Python中可以使用if作為變量名。
A.是B.否
39.Python類的構(gòu)造函數(shù)是__init__()。
A.是B.否
40.創(chuàng)建只包含一個(gè)元素的元組時(shí),必須在元素后面加一個(gè)逗號(hào),例如(3,)。
A.是B.否
三、填空題(10題)41.表達(dá)式set([1,1,2,3])的值為____________________。
42.已知x=list(range(10)),則表達(dá)式x[-4:]的值為__________。
43.表達(dá)式len('abcdefg'.ljust(3))的值為_________。
44.切片操作list(range(6))[::2]執(zhí)行結(jié)果為________________。
45.Python內(nèi)建異常類的基類是________________。
46.已知函數(shù)定義deffunc(*p):returnsum(p),那么表達(dá)式func(1,2,3,4)的值為______。
47.表達(dá)式'%s'%65的值為__________。
48.表達(dá)式'abcab'.strip('ab')的值為__________。
49.表達(dá)式'Thefirst:{1},thesecondis{0}'.format(65,97)的值為______________________________。
50.表達(dá)式isinstance('4',(int,float,complex))的值為_____________。
四、操作題(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è)文件“PY102.Py”,請(qǐng)寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。用鍵盤輸入一段文本,保存在一個(gè)字符串變量s中,分別用Python內(nèi)置函數(shù)和jieba庫中已有函數(shù)計(jì)算字符串s的中文字符個(gè)數(shù)和中文詞語個(gè)數(shù)。注意:中文字符包含中文標(biāo)點(diǎn)符號(hào)。示例格式如下。
鍵盤輸入:科技是第一生產(chǎn)力屏幕輸出:中文字符數(shù)為8,中文詞語數(shù)為4。
試題程序:#請(qǐng)?jiān)诔绦虻奶幨褂靡恍写a或表達(dá)式替換
#注意:請(qǐng)不要修改其他已給出代碼importjiebas=input("請(qǐng)輸入一個(gè)字符串")n=_____(1)_____m=_____(2)_____print("中文字符數(shù)為{},中文詞語數(shù)為{}format(n,m))
53.考生文件夾下存在一個(gè)文件PY103.py,請(qǐng)寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能:使用循環(huán)輸出從1到50之間的奇數(shù)。
試題程序:
#請(qǐng)?jiān)赺____處使用一行代碼或表達(dá)式替換
#注意:請(qǐng)不要修改其他已給出代碼______whilecount<50:
ifcount%2==0:
print(count,end=”,”)
參考答案
1.AS&T返回一個(gè)新集合,包括同時(shí)在集合S和T中的元素。
2.C判斷條件4<=5<=6是成立的,故輸出True。本題選擇C選項(xiàng)。
3.B文件打開模式中“w”表示覆蓋寫模式,文件不存在則創(chuàng)建,存在則完全覆蓋原文件。文件寫入方法中,writelines()直接將列表類型的各元素連接起來寫入文件中。此代碼就是將列表ls中的內(nèi)容整體寫入文件中。本題選擇B選項(xiàng)。
4.C根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量指在函數(shù)內(nèi)部定義的變量,僅在函數(shù)內(nèi)部有效,且作用域也在函數(shù)內(nèi)部,當(dāng)函數(shù)退出時(shí)變量將不再存在。全局變量一般指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效。全局變量在函數(shù)內(nèi)部使用時(shí),需要提前使用保留字global聲明,語法形式:global<全局變量>。使用global對(duì)全局變量聲明時(shí),該變量要與外部全局變量同名。本題選擇C選項(xiàng)。
5.D注釋可以在一行的任意位置開始,但只有在“#”后的部分才會(huì)被作為注釋不被執(zhí)行;Python語言有嚴(yán)格的格式要求,不能隨意縮進(jìn),只有在需要的時(shí)候才在代碼前加空格;Python語言允許在一行的末尾加分號(hào),但一般不建議這么做,會(huì)影響代碼的美觀度。
6.B
7.A文件包括文本文件和二進(jìn)制文件兩種類型。Python對(duì)文本文件和二進(jìn)制文件采用統(tǒng)一的操作步驟,即“打開一操作一關(guān)閉”,B項(xiàng)正確。采用文本方式讀人文件,文件經(jīng)過編碼形成字符串,打印出有含義的字符;采用二進(jìn)制方式打開文件,文件被解析為字節(jié)流,A項(xiàng)錯(cuò)誤。Python通過open()函數(shù)打開一個(gè)文件,并返回一個(gè)操作這個(gè)文件的變量,語法:<變量名>=open(<文件路徑及文件名>,<打開模式>),C項(xiàng)正確。文件使用結(jié)束后要用close()方法關(guān)閉,釋放文件的使用授權(quán),語法:<變量名>.close(),D項(xiàng)正確。
8.B輸入5,因?yàn)閚=5滿足第一個(gè)if條件,所以n=n-1,n=4,s=4;因?yàn)楝F(xiàn)在n=4,滿足第二個(gè)if條件,所以n=n-1,n=3,s=3。最終輸出3。本題選擇B選項(xiàng)。
9.C一維數(shù)據(jù)由對(duì)等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織;二維數(shù)據(jù),也稱表格數(shù)據(jù),由關(guān)聯(lián)關(guān)系數(shù)據(jù)構(gòu)成,采用二維表格方式組織;高維數(shù)據(jù)由鍵值對(duì)類型的數(shù)據(jù)構(gòu)成,采用對(duì)象方式組織。故答案為C項(xiàng)。
10.D樹的度為3,即樹中只存在度為0、1、2、3的結(jié)點(diǎn),假設(shè)葉子結(jié)點(diǎn)數(shù)為n,由于沒有度為1和2的結(jié)點(diǎn),則度為3的結(jié)點(diǎn)數(shù)為29一n,根據(jù)樹中的結(jié)點(diǎn)數(shù)=樹中所有結(jié)點(diǎn)的度之和+1,得3×(29一n)+0×1+0×2+n×0+1=29,得出的n不為整數(shù),因此不存在這樣的樹。本題選擇D選項(xiàng)。
11.C
12.D找稱為“后進(jìn)先出”表或“先進(jìn)后出”的線性表;隊(duì)列稱為“先進(jìn)先出”或“后進(jìn)后出”的線性表。A、B、C、D、E依次入棧,則依次出棧順序?yàn)镋、D、C、
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商業(yè)計(jì)劃書范文(個(gè)性化教育機(jī)構(gòu))
- 二零二五年度海洋資源開發(fā)借款投資合同
- 二零二五年度長(zhǎng)租公寓租賃合同樣本
- 二零二五年度基礎(chǔ)設(shè)施建設(shè)企業(yè)新員工入職合同與安全協(xié)議
- 二零二五年度玩具經(jīng)銷商返點(diǎn)合作協(xié)議
- 二零二五年度籃球場(chǎng)館租賃免責(zé)條款合同
- 2025年度項(xiàng)目負(fù)責(zé)人聘用合同(智慧物流中心運(yùn)營(yíng))
- 二零二五年度電力工程設(shè)計(jì)與電力基礎(chǔ)設(shè)施投資電力工程設(shè)計(jì)合同
- 二零二五年度企業(yè)內(nèi)部停車場(chǎng)車輛管理及免責(zé)合同
- 2025年度江蘇省勞動(dòng)合同簡(jiǎn)易化模板定制合同
- 工科高等數(shù)學(xué)(下)知到章節(jié)答案智慧樹2023年上海海洋大學(xué)
- oppor11t刷全網(wǎng)通改全教程
- 兒童羽毛球教程
- 福建某機(jī)場(chǎng)二次雷達(dá)站基建工程施工組織設(shè)計(jì)
- 內(nèi)部控制-倉(cāng)儲(chǔ)與存貨循環(huán)調(diào)查問卷
- 流程成熟度模型(PEMM)
- 高二英語期末考試試卷質(zhì)量分析報(bào)告
- 催化動(dòng)力學(xué)分析法及其應(yīng)用
- 外研版英語九年級(jí)下冊(cè)詞匯表音標(biāo)打印
- 聯(lián)合國(guó)教科文組織(UNESCO):可持續(xù)發(fā)展教育-路線圖
- 延長(zhǎng)保修服務(wù)
評(píng)論
0/150
提交評(píng)論