版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
陜西省銅川市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.s和T是兩個集合,對S&T。的描述正確的是()。
A.S和T的交運算,包括同時在集合S和T中的元素
B.S和T的并運算,包括在集合S和T中的所有元素
C.S和T的差運算,包括在集合S但不在T中的元素
D.S和T的補運算,包括幾個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.注釋可以在一行中的任意位置開始,這一行都會作為注釋不被執(zhí)行
B.縮進(jìn)是指每行代碼前的留白部分,用來表示層次關(guān)系,使代碼更加整潔利于閱讀,所有代碼都需要在行前至少加一個空格
C.Python語言不允許在一行的末尾加分號,這會導(dǎo)致語法錯誤
D.一行代碼的長度如果過長,可以使用“\”反斜杠續(xù)行
6.執(zhí)行以下代碼的結(jié)果是?type(lambda:None)A.(type‘NoneType’)
B.(type‘function’)
C.(type‘tuple’)
D.(type‘type’)
7.以下對Python文件處理的描述中,錯誤的是()。
A.當(dāng)文件以文本方式打開時,讀寫按照字節(jié)流方式
B.Python能夠以文本和二進(jìn)制兩種方式處理文件
C.Python通過解釋器內(nèi)置的open()函數(shù)打開一個文件
D.文件使用結(jié)束后可以用close()方法關(guān)閉,釋放文件的使用授權(quán)
8.從鍵盤輸入數(shù)字5,以下程序的輸出結(jié)果是()。n=eval(input(“請輸入一個整數(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個結(jié)點,但沒有度為1和2的結(jié)點。則該樹中葉子結(jié)點數(shù)為()。
A.OB.9C.18D.不可能有這樣的樹
11.Python中,查看一個對象是哪種類型,使用______命令
A.isinstanceB.idC.typeD.issubclass
12.設(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
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,會得到()
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個結(jié)點,則該二叉樹的深度為()。
A.7B.8C.9D.10
21.生成一個[1,99]之間隨機整數(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ù)的使用描述錯誤的是()。
A.int(x)是將x轉(zhuǎn)換為一個整數(shù)
B.print(”6+5”)的輸出是11
C.dic.clear()的結(jié)果是清空字典dic
D.使用append()函數(shù)可以向列表添加元素
25.Python中文件的打開模式不包含()。
A.'a'B.'b'C.'c'D.'+'
26.下面描述錯誤的是()。
A.對象一定有標(biāo)識B.對象一定有屬性和方法(或操作)C.對象具有封裝性D.不同對象的同一屬性一定有相同的屬性值
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)代碼同時逐條運行目標(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中定義類時,運算符重載是通過重寫特殊方法實現(xiàn)的。例如,在類中實現(xiàn)了__mul__()方法即可支持該類對象的**運算符。
A.是B.否
35.4j是合法Python數(shù)字類型。
A.是B.否
36.元組的訪問速度比列表要快一些,如果定義了一系列常量值,并且主要用途僅僅是對其進(jìn)行遍歷二不需要進(jìn)行任何修改,建議使用元組而不使用列表。
A.是B.否
37.Python不允許使用關(guān)鍵字作為變量名,允許使用內(nèi)置函數(shù)名作為變量名,但這會改變函數(shù)名的含義。
A.是B.否
38.在Python中可以使用if作為變量名。
A.是B.否
39.Python類的構(gòu)造函數(shù)是__init__()。
A.是B.否
40.創(chuàng)建只包含一個元素的元組時,必須在元素后面加一個逗號,例如(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.考生文件夾下存在一個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.考生文件夾下存在一個文件“PY102.Py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。用鍵盤輸入一段文本,保存在一個字符串變量s中,分別用Python內(nèi)置函數(shù)和jieba庫中已有函數(shù)計算字符串s的中文字符個數(shù)和中文詞語個數(shù)。注意:中文字符包含中文標(biāo)點符號。示例格式如下。
鍵盤輸入:科技是第一生產(chǎn)力屏幕輸出:中文字符數(shù)為8,中文詞語數(shù)為4。
試題程序:#請在程序的處使用一行代碼或表達(dá)式替換
#注意:請不要修改其他已給出代碼importjiebas=input("請輸入一個字符串")n=_____(1)_____m=_____(2)_____print("中文字符數(shù)為{},中文詞語數(shù)為{}format(n,m))
53.考生文件夾下存在一個文件PY103.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:使用循環(huán)輸出從1到50之間的奇數(shù)。
試題程序:
#請在_____處使用一行代碼或表達(dá)式替換
#注意:請不要修改其他已給出代碼______whilecount<50:
ifcount%2==0:
print(count,end=”,”)
參考答案
1.AS&T返回一個新集合,包括同時在集合S和T中的元素。
2.C判斷條件4<=5<=6是成立的,故輸出True。本題選擇C選項。
3.B文件打開模式中“w”表示覆蓋寫模式,文件不存在則創(chuàng)建,存在則完全覆蓋原文件。文件寫入方法中,writelines()直接將列表類型的各元素連接起來寫入文件中。此代碼就是將列表ls中的內(nèi)容整體寫入文件中。本題選擇B選項。
4.C根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量指在函數(shù)內(nèi)部定義的變量,僅在函數(shù)內(nèi)部有效,且作用域也在函數(shù)內(nèi)部,當(dāng)函數(shù)退出時變量將不再存在。全局變量一般指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效。全局變量在函數(shù)內(nèi)部使用時,需要提前使用保留字global聲明,語法形式:global<全局變量>。使用global對全局變量聲明時,該變量要與外部全局變量同名。本題選擇C選項。
5.D注釋可以在一行的任意位置開始,但只有在“#”后的部分才會被作為注釋不被執(zhí)行;Python語言有嚴(yán)格的格式要求,不能隨意縮進(jìn),只有在需要的時候才在代碼前加空格;Python語言允許在一行的末尾加分號,但一般不建議這么做,會影響代碼的美觀度。
6.B
7.A文件包括文本文件和二進(jìn)制文件兩種類型。Python對文本文件和二進(jìn)制文件采用統(tǒng)一的操作步驟,即“打開一操作一關(guān)閉”,B項正確。采用文本方式讀人文件,文件經(jīng)過編碼形成字符串,打印出有含義的字符;采用二進(jìn)制方式打開文件,文件被解析為字節(jié)流,A項錯誤。Python通過open()函數(shù)打開一個文件,并返回一個操作這個文件的變量,語法:<變量名>=open(<文件路徑及文件名>,<打開模式>),C項正確。文件使用結(jié)束后要用close()方法關(guān)閉,釋放文件的使用授權(quán),語法:<變量名>.close(),D項正確。
8.B輸入5,因為n=5滿足第一個if條件,所以n=n-1,n=4,s=4;因為現(xiàn)在n=4,滿足第二個if條件,所以n=n-1,n=3,s=3。最終輸出3。本題選擇B選項。
9.C一維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織;二維數(shù)據(jù),也稱表格數(shù)據(jù),由關(guān)聯(lián)關(guān)系數(shù)據(jù)構(gòu)成,采用二維表格方式組織;高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構(gòu)成,采用對象方式組織。故答案為C項。
10.D樹的度為3,即樹中只存在度為0、1、2、3的結(jié)點,假設(shè)葉子結(jié)點數(shù)為n,由于沒有度為1和2的結(jié)點,則度為3的結(jié)點數(shù)為29一n,根據(jù)樹中的結(jié)點數(shù)=樹中所有結(jié)點的度之和+1,得3×(29一n)+0×1+0×2+n×0+1=29,得出的n不為整數(shù),因此不存在這樣的樹。本題選擇D選項。
11.C
12.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。本題選擇D選項。
13.D這段代碼是一個遞歸函數(shù),作用是把result列表中所有與1中一致的元素刪除,所以最后的結(jié)果是一個空的列表,即[]。本題選擇D選項。
14.Dstr.center(width,fillchar)方法返回長度為width的字符串。其中str處于新字符串中心位置,兩側(cè)新增字符串采用fillchar填充,當(dāng)width小于字符串長度時,返回str;fillchar是單個字符。本題中,str1.cente(10,*)中的“*”兩側(cè)沒有引號,因此不是字符串類型,執(zhí)行語句后會報錯。本題選擇D選項。
15.B解析:軟件開發(fā)階段包括需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼和測試5個階段。其中需求分析階段常用的工具是數(shù)據(jù)流圖(簡稱DFD)和數(shù)據(jù)字典(簡稱DD)。常見的詳細(xì)設(shè)計的圖形描述工具主要有程序流程圖、N-S結(jié)構(gòu)圖、問題分析圖(簡稱PAD圖)。
16.A該代碼的功能是根據(jù)傳人的參數(shù)求取該數(shù)的階乘,經(jīng)過一系列的運算將結(jié)果返回,4的階乘為24。
17.C
18.A由于列表ls中所有元素都是整數(shù)類型,不可能等于字符串類型的‘44’,即if語句中的條件不成立,需執(zhí)行else語句,輸出notfoundit…。本題選擇A選項。
19.Cwhile條件為真時進(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)過一系列的運算,輸出結(jié)果為:97531。
20.C根據(jù)完全二叉樹的性質(zhì):具有n個結(jié)點的完全二叉樹的深度為[log2n]+1。本題中完全二叉樹共有256個結(jié)點,則深度為[log2256]+1=8+1=9。本題選擇C選項。
21.Crandom.randint(a,b)隨機生成[a,b](包括a、b)之間的整數(shù);random.uniform(a,b)隨機生成[a,b](包括a,不包括b)之間的實數(shù)。故答案為C項。
22.C在Python中,源文件的擴(kuò)展名一般使用.py。本題選擇C選項。
23.Copen()函數(shù)打開一個文件,并返回可以操作這個文件的變量f,并且open()函數(shù)有兩個參數(shù):文件名和打開模式。本題只是打開了文件,并沒有對文件進(jìn)行操作,因此不會輸出文件的內(nèi)容。print(f)語句輸出的是變量f代表的文件的相關(guān)信息:<_io.TextIOWrappername=exam.txt’mode=’r’encoding=’cp936’>。若想要輸出文件的內(nèi)容,需要把文件的內(nèi)容讀入,如f1=f.read()。本題選擇C選項。
24.BB項中正確的輸出應(yīng)為6+5,當(dāng)print()函數(shù)括號內(nèi)的變量被引號括起,則視為字符串。
25.CPython中open()函數(shù)提供了\n7種基本的文件打開模式:r、w、x、a、b、t、+。其中,r、w、x、a可以和b、t、+組合使用。本題選擇C選項。
26.D屬性即對象所包含的信息,它在設(shè)計對象時確定,一般只能通過執(zhí)行對象的操作來改變。不同對象的同一屬性可以具有相同或不同的屬性值。例如,張三的年齡是20,李四的年齡是18,張三、李四是兩個不同的對象,他們共同的屬性”年齡”的值不同。
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í)行下一個循環(huán),不執(zhí)行print(s,end='”),否則執(zhí)行print(s,end\n=''),所以最后輸出的結(jié)果是Helloorld。本題選擇C選項。
29.C在Python中,變量名的命名規(guī)則:以字母或下劃線開頭,后面跟字母、下劃線和數(shù)字;不能以數(shù)字開頭。本題選擇C選項。
30.B高級語言根據(jù)計算機執(zhí)行機制的不同可分為兩類:靜態(tài)語言和腳本語言。靜態(tài)語言采用編譯方式執(zhí)行,腳本語言采用解釋方式執(zhí)行。例如,C語言是靜態(tài)語言,Python是腳本語言。編譯是將源代碼轉(zhuǎn)換成目標(biāo)代碼的過程。解釋是將源代碼逐條轉(zhuǎn)換成目標(biāo)代碼同時逐條運行的過程。本題選擇B選項。
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(”請輸入明文:”)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.importjiebas=input(”請輸入一個字符串”)n=len(s)m=len(jieba.lcut(s)print("中文字符數(shù)為{},中文詞語數(shù)為{}?!?format(n,m)本題要求使用jieba中文分詞庫,統(tǒng)計輸入的字符串的長度以及中文詞語數(shù)。給定的字符串s中僅包含中文字符和中文標(biāo)點符號,因此可以直接使用len()函數(shù)統(tǒng)計字符數(shù)量,第1空填len(s)。再使用jieba庫的lcut(s)方法,返回一個以中文詞語為元素的列表類型,使用len()獲得列表的長度,即中文詞語數(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=”,”)判斷一個數(shù)是否為奇數(shù),即判斷這個數(shù)能否被2整除,可以被整除則為偶數(shù),結(jié)束本次循環(huán),使用continue語句;不可以被整除則為奇數(shù),輸出該數(shù)。while循環(huán)不具有自動計數(shù)的功能,所以需要定義一個變量,初始值為0,每經(jīng)過一次循環(huán),變量加1;當(dāng)變量超過50時,停止循環(huán)。陜西省銅川市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.s和T是兩個集合,對S&T。的描述正確的是()。
A.S和T的交運算,包括同時在集合S和T中的元素
B.S和T的并運算,包括在集合S和T中的所有元素
C.S和T的差運算,包括在集合S但不在T中的元素
D.S和T的補運算,包括幾個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.注釋可以在一行中的任意位置開始,這一行都會作為注釋不被執(zhí)行
B.縮進(jìn)是指每行代碼前的留白部分,用來表示層次關(guān)系,使代碼更加整潔利于閱讀,所有代碼都需要在行前至少加一個空格
C.Python語言不允許在一行的末尾加分號,這會導(dǎo)致語法錯誤
D.一行代碼的長度如果過長,可以使用“\”反斜杠續(xù)行
6.執(zhí)行以下代碼的結(jié)果是?type(lambda:None)A.(type‘NoneType’)
B.(type‘function’)
C.(type‘tuple’)
D.(type‘type’)
7.以下對Python文件處理的描述中,錯誤的是()。
A.當(dāng)文件以文本方式打開時,讀寫按照字節(jié)流方式
B.Python能夠以文本和二進(jìn)制兩種方式處理文件
C.Python通過解釋器內(nèi)置的open()函數(shù)打開一個文件
D.文件使用結(jié)束后可以用close()方法關(guān)閉,釋放文件的使用授權(quán)
8.從鍵盤輸入數(shù)字5,以下程序的輸出結(jié)果是()。n=eval(input(“請輸入一個整數(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個結(jié)點,但沒有度為1和2的結(jié)點。則該樹中葉子結(jié)點數(shù)為()。
A.OB.9C.18D.不可能有這樣的樹
11.Python中,查看一個對象是哪種類型,使用______命令
A.isinstanceB.idC.typeD.issubclass
12.設(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
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,會得到()
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個結(jié)點,則該二叉樹的深度為()。
A.7B.8C.9D.10
21.生成一個[1,99]之間隨機整數(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ù)的使用描述錯誤的是()。
A.int(x)是將x轉(zhuǎn)換為一個整數(shù)
B.print(”6+5”)的輸出是11
C.dic.clear()的結(jié)果是清空字典dic
D.使用append()函數(shù)可以向列表添加元素
25.Python中文件的打開模式不包含()。
A.'a'B.'b'C.'c'D.'+'
26.下面描述錯誤的是()。
A.對象一定有標(biāo)識B.對象一定有屬性和方法(或操作)C.對象具有封裝性D.不同對象的同一屬性一定有相同的屬性值
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)代碼同時逐條運行目標(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中定義類時,運算符重載是通過重寫特殊方法實現(xiàn)的。例如,在類中實現(xiàn)了__mul__()方法即可支持該類對象的**運算符。
A.是B.否
35.4j是合法Python數(shù)字類型。
A.是B.否
36.元組的訪問速度比列表要快一些,如果定義了一系列常量值,并且主要用途僅僅是對其進(jìn)行遍歷二不需要進(jìn)行任何修改,建議使用元組而不使用列表。
A.是B.否
37.Python不允許使用關(guān)鍵字作為變量名,允許使用內(nèi)置函數(shù)名作為變量名,但這會改變函數(shù)名的含義。
A.是B.否
38.在Python中可以使用if作為變量名。
A.是B.否
39.Python類的構(gòu)造函數(shù)是__init__()。
A.是B.否
40.創(chuàng)建只包含一個元素的元組時,必須在元素后面加一個逗號,例如(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.考生文件夾下存在一個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.考生文件夾下存在一個文件“PY102.Py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。用鍵盤輸入一段文本,保存在一個字符串變量s中,分別用Python內(nèi)置函數(shù)和jieba庫中已有函數(shù)計算字符串s的中文字符個數(shù)和中文詞語個數(shù)。注意:中文字符包含中文標(biāo)點符號。示例格式如下。
鍵盤輸入:科技是第一生產(chǎn)力屏幕輸出:中文字符數(shù)為8,中文詞語數(shù)為4。
試題程序:#請在程序的處使用一行代碼或表達(dá)式替換
#注意:請不要修改其他已給出代碼importjiebas=input("請輸入一個字符串")n=_____(1)_____m=_____(2)_____print("中文字符數(shù)為{},中文詞語數(shù)為{}format(n,m))
53.考生文件夾下存在一個文件PY103.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:使用循環(huán)輸出從1到50之間的奇數(shù)。
試題程序:
#請在_____處使用一行代碼或表達(dá)式替換
#注意:請不要修改其他已給出代碼______whilecount<50:
ifcount%2==0:
print(count,end=”,”)
參考答案
1.AS&T返回一個新集合,包括同時在集合S和T中的元素。
2.C判斷條件4<=5<=6是成立的,故輸出True。本題選擇C選項。
3.B文件打開模式中“w”表示覆蓋寫模式,文件不存在則創(chuàng)建,存在則完全覆蓋原文件。文件寫入方法中,writelines()直接將列表類型的各元素連接起來寫入文件中。此代碼就是將列表ls中的內(nèi)容整體寫入文件中。本題選擇B選項。
4.C根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量指在函數(shù)內(nèi)部定義的變量,僅在函數(shù)內(nèi)部有效,且作用域也在函數(shù)內(nèi)部,當(dāng)函數(shù)退出時變量將不再存在。全局變量一般指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效。全局變量在函數(shù)內(nèi)部使用時,需要提前使用保留字global聲明,語法形式:global<全局變量>。使用global對全局變量聲明時,該變量要與外部全局變量同名。本題選擇C選項。
5.D注釋可以在一行的任意位置開始,但只有在“#”后的部分才會被作為注釋不被執(zhí)行;Python語言有嚴(yán)格的格式要求,不能隨意縮進(jìn),只有在需要的時候才在代碼前加空格;Python語言允許在一行的末尾加分號,但一般不建議這么做,會影響代碼的美觀度。
6.B
7.A文件包括文本文件和二進(jìn)制文件兩種類型。Python對文本文件和二進(jìn)制文件采用統(tǒng)一的操作步驟,即“打開一操作一關(guān)閉”,B項正確。采用文本方式讀人文件,文件經(jīng)過編碼形成字符串,打印出有含義的字符;采用二進(jìn)制方式打開文件,文件被解析為字節(jié)流,A項錯誤。Python通過open()函數(shù)打開一個文件,并返回一個操作這個文件的變量,語法:<變量名>=open(<文件路徑及文件名>,<打開模式>),C項正確。文件使用結(jié)束后要用close()方法關(guān)閉,釋放文件的使用授權(quán),語法:<變量名>.close(),D項正確。
8.B輸入5,因為n=5滿足第一個if條件,所以n=n-1,n=4,s=4;因為現(xiàn)在n=4,滿足第二個if條件,所以n=n-1,n=3,s=3。最終輸出3。本題選擇B選項。
9.C一維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織;二維數(shù)據(jù),也稱表格數(shù)據(jù),由關(guān)聯(lián)關(guān)系數(shù)據(jù)構(gòu)成,采用二維表格方式組織;高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構(gòu)成,采用對象方式組織。故答案為C項。
10.D樹的度為3,即樹中只存在度為0、1、2、3的結(jié)點,假設(shè)葉子結(jié)點數(shù)為n,由于沒有度為1和2的結(jié)點,則度為3的結(jié)點數(shù)為29一n,根據(jù)樹中的結(jié)點數(shù)=樹中所有結(jié)點的度之和+1,得3×(29一n)+0×1+0×2+n×0+1=29,得出的n不為整數(shù),因此不存在這樣的樹。本題選擇D選項。
11.C
12.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。本題選擇D選項。
13.D這段代碼是一個遞歸函數(shù),作用是把result列表中所有與1中一致的元素刪除,所以最后的結(jié)果是一個空的列表,即[]。本題選擇D選項。
14.Dstr.center(width,fillchar)方法返回長度為width的字符串。其中str處于新字符串中心位置,兩側(cè)新增字符串采用fillchar填充,當(dāng)width小于字符串長度時,返回str;fillchar是單個字符。本題中,str1.cente(10,*)中的“*”兩側(cè)沒有引號,因此不是字符串類型,執(zhí)行語句后會報錯。本題選擇D選項。
15.B解析:軟件開發(fā)階段包括需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼和測試5個階段。其中需求分析階段常用的工具是數(shù)據(jù)流圖(簡稱DFD)和數(shù)據(jù)字典(簡稱DD)。常見的詳細(xì)設(shè)計的圖形描述工具主要有程序流程圖、N-S結(jié)構(gòu)圖、問題分析圖(簡稱PAD圖)。
16.A該代碼的功能是根據(jù)傳人的參數(shù)求取該數(shù)的階乘,經(jīng)過一系列的運算將結(jié)果返回,4的階乘為24。
17.C
18.A由于列表ls中所有元素都是整數(shù)類型,不可能等于字符串類型的‘44’,即if語句中的條件不成立,需執(zhí)行else語句,輸出notfoundit…。本題選擇A選項。
19.Cwhile條件為真時進(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)過一系列的運算,輸出結(jié)果為:97531。
20.C根據(jù)完全二叉樹的性質(zhì):具有n個結(jié)點的完全二叉樹的深度為[log2n]+1。本題中完全二叉樹共有256個結(jié)點,則深度為[log2256]+1=8+1=9。本題選擇C選項。
21.Crandom.randint(a,b)隨機生成[a,b](包括a、b)之間的整數(shù);random.uniform(a,b)隨機生成[a,b](包括a,不包括b)之間的實數(shù)。故答案為C項。
22.C在Python中,源文件的擴(kuò)展名一般使用.py。本題選擇C選項。
23.Copen()函數(shù)打開一個文件,并返回可以操作這個文件的變量f,并且open()函數(shù)有兩個參數(shù):文件名和打開模式。本題只是打開了文件,并沒有對文件進(jìn)行操作,因此不會輸出文件的內(nèi)容。print(f)語句輸出的是變量f代表的文件的相關(guān)信息:<_io.TextIOWrappername=exam.txt’mode=’r’encoding=’cp936’>。若想要輸出文件的內(nèi)容,需要把文件的內(nèi)容讀入,如f1=f.read()。本題選擇C選項。
24.BB項中正確的輸出應(yīng)為6+5,當(dāng)print()函數(shù)括號內(nèi)的變量被引號括起,則視為字符串。
25.CPython中open()函數(shù)提供了\n7種基本的文件打開模式:r、w、x、a、b、t、+。其中,r、w、x、a可以和b、t、+組合使用。本題選擇C選項。
26.D屬性即對象所包含的信息,它在設(shè)計對象時確定,一般只能通過執(zhí)行對象的操作來改變。不同對象的同一屬性可以具有相同或不同的屬性值。例如,張三的年齡是20,李四的年齡是18,張三、李四是兩個不同的對象,他們共同的屬性”年齡”的值不同。
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í)行下一個循環(huán),不執(zhí)行print(s,end='”),否則執(zhí)行print(s,end\n=''),所以最后輸出的結(jié)果是Helloorld。本題選擇C選項。
29.C在Python中,變量名的命名規(guī)則:以字母或下劃線開頭,后面跟字母、下劃線和數(shù)字;不能以數(shù)字開頭。本題選擇C選項。
30.B高級語言根據(jù)計算機執(zhí)行機制的不同可分為兩類:靜態(tài)語言和腳本語言。靜態(tài)語言采用編譯方式執(zhí)行,腳本語言采用解釋方式執(zhí)行。例如,C語言是靜態(tài)語言,Python是腳本語言。編譯是將源代碼轉(zhuǎn)換成目標(biāo)代碼的過程。解釋是將源代碼逐條轉(zhuǎn)換成目標(biāo)代碼同時逐條運行的過程。本題選擇B選項。
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(”請輸入明文:”)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.importjiebas=input(”請輸入一個字符串”)n=len(s)m=len(jieba.lcut(s)print("中文字符數(shù)為{},中文詞語數(shù)為{}。”.format(n,m)本題要求使用jieba中文分詞庫,統(tǒng)計輸入的字符串的長度以及中文詞語數(shù)。給定的字符串s中僅包含中文字符和中文標(biāo)點符號,因此可以直接使用len()函數(shù)統(tǒng)計字符數(shù)量,第1空填len(s)。再使用jieba庫的lcut(s)方法,返回一個以中文詞語為元素的列表類型,使用len()獲得列表的長度,即中文詞語數(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=”,”)判斷一個數(shù)是否為奇數(shù),即判斷這個數(shù)能否被2整除,可以被整除則為偶數(shù),結(jié)束本次循環(huán),使用continue語句;不可以被整除則為奇數(shù),輸出該數(shù)。while循環(huán)不具有自動計數(shù)的功能,所以需要定義一個變量,初始值為0,每經(jīng)過一次循環(huán),變量加1;當(dāng)變量超過50時,停止循環(huán)。陜西省銅川市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________
一、單選題(30題)1.s和T是兩個集合,對S&T。的描述正確的是()。
A.S和T的交運算,包括同時在集合S和T中的元素
B.S和T的并運算,包括在集合S和T中的所有元素
C.S和T的差運算,包括在集合S但不在T中的元素
D.S和T的補運算,包括幾個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.注釋可以在一行中的任意位置開始,這一行都會作為注釋不被執(zhí)行
B.縮進(jìn)是指每行代碼前的留白部分,用來表示層次關(guān)系,使代碼更加整潔利于閱讀,所有代碼都需要在行前至少加一個空格
C.Python語言不允許在一行的末尾加分號,這會導(dǎo)致語法錯誤
D.一行代碼的長度如果過長,可以使用“\”反斜杠續(xù)行
6.執(zhí)行以下代碼的結(jié)果是?type(lambda:None)A.(type‘NoneType’)
B.(type‘function’)
C.(type‘tuple’)
D.(type‘type’)
7.以下對Python文件處理的描述中,錯誤的是()。
A.當(dāng)文件以文本方式打開時,讀寫按照字節(jié)流方式
B.Python能夠以文本和二進(jìn)制兩種方式處理文件
C.Python通過解釋器內(nèi)置的open()函數(shù)打開一個文件
D.文件使用結(jié)束后可以用close()方法關(guān)閉,釋放文件的使用授權(quán)
8.從鍵盤輸入數(shù)字5,以下程序的輸出結(jié)果是()。n=eval(input(“請輸入一個整數(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個結(jié)點,但沒有度為1和2的結(jié)點。則該樹中葉子結(jié)點數(shù)為()。
A.OB.9C.18D.不可能有這樣的樹
11.Python中,查看一個對象是哪種類型,使用______命令
A.isinstanceB.idC.typeD.issubclass
12.設(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
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,會得到()
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個結(jié)點,則該二叉樹的深度為()。
A.7B.8C.9D.10
21.生成一個[1,99]之間隨機整數(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ù)的使用描述錯誤的是()。
A.int(x)是將x轉(zhuǎn)換為一個整數(shù)
B.print(”6+5”)的輸出是11
C.dic.clear()的結(jié)果是清空字典dic
D.使用append()函數(shù)可以向列表添加元素
25.Python中文件的打開模式不包含()。
A.'a'B.'b'C.'c'D.'+'
26.下面描述錯誤的是()。
A.對象一定有標(biāo)識B.對象一定有屬性和方法(或操作)C.對象具有封裝性D.不同對象的同一屬性一定有相同的屬性值
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)代碼同時逐條運行目標(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中定義類時,運算符重載是通過重寫特殊方法實現(xiàn)的。例如,在類中實現(xiàn)了__mul__()方法即可支持該類對象的**運算符。
A.是B.否
35.4j是合法Python數(shù)字類型。
A.是B.否
36.元組的訪問速度比列表要快一些,如果定義了一系列常量值,并且主要用途僅僅是對其進(jìn)行遍歷二不需要進(jìn)行任何修改,建議使用元組而不使用列表。
A.是B.否
37.Python不允許使用關(guān)鍵字作為變量名,允許使用內(nèi)置函數(shù)名作為變量名,但這會改變函數(shù)名的含義。
A.是B.否
38.在Python中可以使用if作為變量名。
A.是B.否
39.Python類的構(gòu)造函數(shù)是__init__()。
A.是B.否
40.創(chuàng)建只包含一個元素的元組時,必須在元素后面加一個逗號,例如(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.考生文件夾下存在一個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.考生文件夾下存在一個文件“PY102.Py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。用鍵盤輸入一段文本,保存在一個字符串變量s中,分別用Python內(nèi)置函數(shù)和jieba庫中已有函數(shù)計算字符串s的中文字符個數(shù)和中文詞語個數(shù)。注意:中文字符包含中文標(biāo)點符號。示例格式如下。
鍵盤輸入:科技是第一生產(chǎn)力屏幕輸出:中文字符數(shù)為8,中文詞語數(shù)為4。
試題程序:#請在程序的處使用一行代碼或表達(dá)式替換
#注意:請不要修改其他已給出代碼importjiebas=input("請輸入一個字符串")n=_____(1)_____m=_____(2)_____print("中文字符數(shù)為{},中文詞語數(shù)為{}format(n,m))
53.考生文件夾下存在一個文件PY103.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:使用循環(huán)輸出從1到50之間的奇數(shù)。
試題程序:
#請在_____處使用一行代碼或表達(dá)式替換
#注意:請不要修改其他已給出代碼______whilecount<50:
ifcount%2==0:
print(count,end=”,”)
參考答案
1.AS&T返回一個新集合,包括同時在集合S和T中的元素。
2.C判斷條件4<=5<=6是成立的,故輸出True。本題選擇C選項。
3.B文件打開模式中“w”表示覆蓋寫模式,文件不存在則創(chuàng)建,存在則完全覆蓋原文件。文件寫入方法中,writelines()直接將列表類型的各元素連接起來寫入文件中。此代碼就是將列表ls中的內(nèi)容整體寫入文件中。本題選擇B選項。
4.C根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量指在函數(shù)內(nèi)部定義的變量,僅在函數(shù)內(nèi)部有效,且作用域也在函數(shù)內(nèi)部,當(dāng)函數(shù)退出時變量將不再存在。全局變量一般指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效。全局變量在函數(shù)內(nèi)部使用時,需要提前使用保留字global聲明,語法形式:global<全局變量>。使用global對全局變量聲明時,該變量要與外部全局變量同名。本題選擇C選項。
5.D注釋可以在一行的任意位置開始,但只有在“#”后的部分才會被作為注釋不被執(zhí)行;Python語言有嚴(yán)格的格式要求,不能隨意縮進(jìn),只有在需要的時候才在代碼前加空格;Python語言允許在一行的末尾加分號,但一般不建議這么做,會影響代碼的美觀度。
6.B
7.A文件包括文本文件和二進(jìn)制文件兩種類型。Python對文本文件和二進(jìn)制文件采用統(tǒng)一的操作步驟,即“打開一操作一關(guān)閉”,B項正確。采用文本方式讀人文件,文件經(jīng)過編碼形成字符串,打印出有含義的字符;采用二進(jìn)制方式打開文件,文件被解析為字節(jié)流,A項錯誤。Python通過open()函數(shù)打開一個文件,并返回一個操作這個文件的變量,語法:<變量名>=open(<文件路徑及文件名>,<打開模式>),C項正確。文件使用結(jié)束后要用close()方法關(guān)閉,釋放文件的使用授權(quán),語法:<變量名>.close(),D項正確。
8.B輸入5,因為n=5滿足第一個if條件,所以n=n-1,n=4,s=4;因為現(xiàn)在n=4,滿足第二個if條件,所以n=n-1,n=3,s=3。最終輸出3。本題選擇B選項。
9.C一維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織;二維數(shù)據(jù),也稱表格數(shù)據(jù),由關(guān)聯(lián)關(guān)系數(shù)據(jù)構(gòu)成,采用二維表格方式組織;高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構(gòu)成,采用對象方式組織。故答案為C項。
10.D樹的度為3,即樹中只存在度為0、1、2、3的結(jié)點,假設(shè)葉子結(jié)點數(shù)為n,由于沒有度為1和2的結(jié)點,則度為3的結(jié)點數(shù)為29一n,根據(jù)樹中的結(jié)點數(shù)=樹中所有結(jié)點的度之和+1,得3×(29一n)+0×1+0×2+n×0+1=29,得出的n不為整數(shù),因此不存在這樣的樹。本題選擇D選項。
11.C
12.D找稱為“后進(jìn)先出”表或“先進(jìn)后出”的線性表;隊列稱為“先進(jìn)先出”或“后進(jìn)后出”的線性表。A、B、C、D、E依次入棧,則依次出棧順序為E、D、C、
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國聚丙烯產(chǎn)品數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國硬性隱形眼鏡護(hù)理液數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國牦牛絨冬裝數(shù)據(jù)監(jiān)測研究報告
- 精密儀器運輸保險合同-@-1
- 人工智能技術(shù)應(yīng)用服務(wù)合同
- 2024年城市地產(chǎn)開發(fā)合作框架協(xié)議
- 社交電商平臺運營合同
- 電商平臺代運營合同
- 電子書閱讀器生產(chǎn)技術(shù)轉(zhuǎn)讓合同
- 餐飲連鎖品牌加盟協(xié)議
- 不同茶葉的沖泡方法
- 光伏發(fā)電并網(wǎng)申辦具體流程
- 基本藥物制度政策培訓(xùn)課件
- 2025年中國華能集團(tuán)限公司校園招聘高頻重點提升(共500題)附帶答案詳解
- 建筑勞務(wù)專業(yè)分包合同范本(2025年)
- GB/T 45002-2024水泥膠砂保水率測定方法
- 廣東省廣州海珠區(qū)2023-2024學(xué)年八年級上學(xué)期期末數(shù)學(xué)試卷(含答案)
- 飛行原理(第二版) 課件 第10章 高速空氣動力學(xué)基礎(chǔ)
- 廣西《乳腺X射線數(shù)字化體層攝影診療技術(shù)操作規(guī)范》
- 山西省2024年中考道德與法治真題試卷(含答案)
- 五年(2020-2024)高考地理真題分類匯編(全國版)專題12區(qū)域發(fā)展解析版
評論
0/150
提交評論