四川省自貢市全國計算機等級考試Python語言程序設計_第1頁
四川省自貢市全國計算機等級考試Python語言程序設計_第2頁
四川省自貢市全國計算機等級考試Python語言程序設計_第3頁
四川省自貢市全國計算機等級考試Python語言程序設計_第4頁
四川省自貢市全國計算機等級考試Python語言程序設計_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

四川省自貢市全國計算機等級考試Python語言程序設計學校:________班級:________姓名:________考號:________

一、單選題(30題)1.設棧與隊列初始狀態(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

2.下面屬于Python的標準庫是()。

A.turtleB.jiebaC.scipyD.Flask

3.在滿足實體完整性約束的條件下()。

A.—個關系中應該有一個或多個候選關鍵字

B.—個關系中只能有一個候選關鍵字

C.一個關系中必須有多個候選關鍵字

D.—個關系中可以沒有候選關鍵字

4.下面關于類的說法錯誤的是()。

A.類是一種實例

B.在類進行實例化時將會首先執(zhí)行該類中的int方法

C.在對類進行實例化時,傳人的實參不用帶上self,它在類執(zhí)行過程中將自行帶上

D.類中的變量前帶有前綴self意味著此變量在類中任意位置可以使用

5.正則非貪婪模式使用()符號設置

A.\$B.\∧C.\{}D.\?

6.以下屬于Python的導入語句的是()。

A.classB.returnC.importD.print

7.鍵盤輸入數(shù)字5,以下代碼的輸出結果是()。n=eva](input(”請輸入一個整數(shù):”))s=0ifn>=5:n-=1s=4ifn<5:n一=1s=3prim(s)

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

8.程序流程圖是()。

A.總體設計階段使用的表達工具B.詳細設計階段使用的表達工具C.編碼階段使用的表達工具D.測試階段使用的表達工具

9.Python中匿名函數(shù)的關鍵字是()。

A.lambdaB.globalC.withD.pass

10.以下代碼的輸出結果是()。deffibRate(n):ifn<=0:Return-1elifn==1:return-1elifn==2:return1else:L=[1,5]foriinrange(2,n):L.append(L[-1]+L[-2])returnL[-2]%L[-1]print(fibRate(7))A.0.6B.28C.-1D.1

11.以下關于Python循環(huán)結構的描述中,錯誤的是()。

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

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

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

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

12.以下關于Python分支結構的描述中,錯誤的是()。

A.Python分支結構使用保留字if、elif和else來實現(xiàn),每個if后面必須有elif或else

B.if-else結構是可以嵌套的

C.if語句會判斷if后面的邏輯表達式,當表達式為真時,執(zhí)行if后續(xù)的語句塊

D.縮進是Python分支語句的語法部分,縮進不正確會影響分支功能

13.執(zhí)行以下代碼的結果是()A.2B.22C.23D.24

14.以下關于分支和循環(huán)結構的描述中,正確的是()。

A.在循環(huán)中,continue語句的作用是跳出當前循環(huán)

B.在循環(huán)中,break語句的作用是結束該語句所在的循環(huán)

C.帶有else子句的循環(huán)語句,如果是因為執(zhí)行了break語句而退出的話,則會執(zhí)行else子句中的代碼

D.在Python中,分支結構和循環(huán)結構必須帶有else子句

15.s=‘1234567890’,以下表示‘1234’的是()。A.s[1:5]B.s[0:3]C.s[-10:-5]D.s[0:4]

16.下面代碼的輸出結果是()。try:print(8/9/(8//9))except:print("計算錯誤")

A.0B.1C.計算錯誤D.8

17.下列關于Python的描述,正確的是()。

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

B.元組的元素值可以修改、刪除、連接

C.字典中的“鍵”只能是整數(shù)、字符串

D.集合分為可變集合和不可變集合,可變集合的元素可以添加、刪除

18.下面關于Python中模塊導入的說法錯誤的是()。

A.Python中,可以使用import語句將一個源代碼文件作為模塊導入

B.在系統(tǒng)導入模塊時,會創(chuàng)建一個名為源代碼的文件的對象,該對象引用模塊的名字空間,即可通過這個對象訪問模塊中的函數(shù)和變量

C.import語句可在程序的任何位置使用,可以在程序中多次導入統(tǒng)一模塊,每次導入該模塊時都會將該模塊中的代碼執(zhí)行一次

D.模塊導入時可以使用as關鍵字來改變模塊的引用對象名字

19.下面關于遞歸函數(shù),描述錯誤的是()。

A.遞歸函數(shù)必須有一個明確的結束條件

B.遞歸函數(shù)就是一個函數(shù)在內部調用自身本身

C.遞歸效率不高,遞歸層次過多會導致棧溢出

D.每進入更深一層的遞歸時,問題規(guī)模相對于前一次遞歸是不變的

20.以下代碼的輸出結果是()。d={’food’:{’cake’:1,’egg’:5}}print(d.get(’egg’,’nothisfood’))

A.eggB.1C.foodD.nothisfood

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

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

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

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

22.以下關于文件的描述中,錯誤的是()。

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

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

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

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

23.在Python語言中,讀入CSV文件保存的二維數(shù)據(jù),按特定分隔符抽取信息,最可能用到的函數(shù)是()。

A.read()B.join()C.replace()D.split()

24.以下代碼的輸出結果是()。Is=["apple",”red","orangen]deffunC(a):Is.append(a)returnfunC("yellow")print(Is)

A.[]

B.[“apple”,”red”,”orange”]

C.["yellow"]

D.[Mapple","red","orange","yellow"]

25.在Python語言中,可以作為源文件后綴名的是()。

A.pdfB.docxC.pngD.py

26.Python3中獲取用戶輸入并默認以字符串存儲的函數(shù)是()

A.raw_inputB.inputC.rawD.print

27.算法的空間復雜度是指()。

A.算法在執(zhí)行過程中所需要的計算機存儲空間

B.算法所處理的數(shù)據(jù)量

C.算法程序中的語句或指令條數(shù)

D.算法在執(zhí)行過程中所需要的臨時工作單元數(shù)

28.執(zhí)行以下代碼的結果是?A.(1,2,3,4)B.(1,2,3,[1,2,4])C.異常報錯D.(1,2,3,[1,2,3],4)

29.靜態(tài)成員變量稱為類變量,非靜態(tài)成員變量稱為實例變量,下列關于一個類的靜態(tài)成員的描述中,不正確的是()

A.該類的對象共享其靜態(tài)成員變量的值

B.靜態(tài)成員變量可被該類的所有方法訪問

C.該類的靜態(tài)方法只能訪問該類的靜態(tài)成員變量

D.該類的靜態(tài)數(shù)據(jù)成員變量的值不可修改

30.執(zhí)行以下代碼的結果是()A.1B.2C.5D.8

二、判斷題(10題)31.Python列表、元組、字符串都屬于有序序列。

A.是B.否

32.Python支持使用字典的“鍵”作為下標來訪問字典中的值。

A.是B.否

33.繼承自threading.Thread類的派生類中不能有普通的成員方法。A.是B.否

34.定義類時如果實現(xiàn)了__len__()方法,該類對象即可支持內置函數(shù)len()。

A.是B.否

35.放在一對三引號之間的任何內容將被認為是注釋。

A.是B.否

36.列表可以作為集合的元素。

A.是B.否

37.Python字典中的“鍵”可以是元組。

A.是B.否

38.如果需要連接大量字符串成為一個字符串,那么使用字符串對象的join()方法比運算符+具有更高的效率。

A.是B.否

39.在編寫應用程序時,應合理控制線程數(shù)量,線程并不是越多越好。

A.是B.否

40.在Python中可以使用for作為變量名。

A.是B.否

三、填空題(10題)41.表達式int('123',16)的值為_________。

42.表達式[indexforindex,valueinenumerate([3,5,7,3,7])ifvalue==max([3,5,7,3,7])]的值為__________________。

43.表達式chr(ord('b')^32)的值為_________。

44.表達式len('Helloworld!'.ljust(20))的值為_________。

45.表達式'%s'%[1,2,3]的值為_____________。

46.表達式range(10)[-1]的值為____________。

47.已知a=[1,2,3]和b=[1,2,4],那么id(a[1])==id(b[1])的執(zhí)行結果為___________。

48.表達式'abc10'.isdigit()的值為__________________。

49.表達式'Helloworld!'[-4]的值為________________。

50.表達式5if5>6else(6if3>2else5)的值為_________。

四、操作題(3題)51.考生文件夾下存在一個文件“PY201.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。使用turtle庫的turtle.fd()函數(shù)和turtle.le£t()函數(shù)繪制一長為200像素黃底紅邊的太陽花,效果如下所示。

試題程序:#請在程序的_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼importturtleturtle.color(_____(1)_____,_____(2)_____)turtle._____(3)_____foriinrange(36):turtle.fd(_____(4)_____)turtle.left(_____(5)_____)turtle.end_fill()

52.考生文件夾下存在一個文件PY103.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:使用循環(huán)輸出從1到50之間的奇數(shù)。

試題程序:

#請在_____處使用一行代碼或表達式替換

#注意:請不要修改其他已給出代碼______whilecount<50:

ifcount%2==0:

print(count,end=”,”)

53.考生文件夾下存在一個文件“PY102.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。a和b是兩個列表變量,列表a為[11,3,8]已給定,輸入列表b,計算a中元素與b中對應元素乘積的累加和。例如:輸入的列表b為[4,5,2],累加和為11*4+5*3+8*2=75,因此,屏幕輸出的計算結果為75。試題程序:#請在程序的_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼a=[11,3,8]b=eval(input())#例如..[4,5,2]—(1)—foriin(2):s+=a[i]*b[i]print(s)

參考答案

1.D棧稱為“后進先出”表或“先進后出”的線性表;隊列稱為“先進先出”或“后進后出”的線性表。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。

2.Aturtle庫是Python的標準庫,用于基本圖形的繪制;jieba庫是Python的第三方中文分詞庫;scipy是數(shù)據(jù)分析方向的第三方庫;Flask是Web開發(fā)方向的第三方庫。本題選擇A選項。

3.A實體完整性約束要求關系的主鍵中屬性值不能為空值,本題選擇A選項。

4.AA選項中類只是一種抽象事物的分類,對象才是一種實例。

5.D

6.C在Python中,無論是標準庫、第三方庫還是自定義庫,在使用之前都需要進行導入,方法就是使用import語句導入模塊。本題選擇C選項。

7.B輸入5,因為n=5滿足第一個if條件,所以n=n一1,n=4,s=4;由于現(xiàn)在n=4,滿足第二個if條件,所以執(zhí)行n=n一1,n=3,s=3。print(s),輸出3。

8.B詳細設計階段常見的工具有程序流程圖、N—S圖、PAD圖、HIPO圖、判定表等。本題選B選項。

9.AB選項是定義全局變量的關鍵字,C選項是with...as用來代替?zhèn)鹘y(tǒng)的try...\nfinally語法,D選項的意思是程序什么都不做。本題選擇A選項。

10.B將實參7傳遞給函數(shù)形參變量n,之后進入多分支結構,依次判斷后,執(zhí)行else后面的語句。for語句為foriin\r\nrange(2,7),i從2依次變化到6,循環(huán)5次,將L[-1]+L[-2]的值通過append()方法加入列表L中。當i=2時,L[-1]+L[-2]=5+1=6,將6添加到列表[中,此時L=[1,5,6];當i=3時,L[-1]+L[-2]=6+5=11,將11添加到列表L中,此時L=[l,5,6,ll];當i=4時,L[-1]+L[-2]=11+6=17,將17添加到列表L中,此時L=[l,5,6,ll,17];當i=5時,L[-1]+L[-2]=17+11=28,將28添加到列表L中,此時L=\r\n[1,5,6,11,17,28];當i=6時,L[-1]+L[-2]=28+17=45,將45添加到列表L中,此時L=\r\n[1,5,6,11,17,28,45]。最后L[-2]%L[-1]=28%45=28,故程序輸出28。本題選擇B選項。

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

12.APython分支結構使用保留字if、elif和else來實現(xiàn),每個if后面不一定要有elif或else,A選項錯誤;if-else結構是可以嵌套的,B選項正確;if語句會判斷if后面的邏輯表達式,當表達式為真時,執(zhí)行if后續(xù)的語句塊,C選項正確;縮進是Python分支語句的語法部分,縮進不正確會影響分支功能,D選項正確。本題選擇A選項。

13.D

14.Bcontinue語句用于中斷本次循環(huán)的執(zhí)行,繼續(xù)執(zhí)行下一輪循環(huán)的條件,而不是跳出當前循環(huán);Python中的for、while循環(huán)都有一個可選的else子句,如果用break語句終止循環(huán),那么else語句將不會執(zhí)行。

15.D對字符串中某個子串或區(qū)間的檢索稱為切片。切片的使用方式如下。<字符串或字符串變量>[N:M]切片獲取字符串從N到M(不包含M)的子字符串,其中N和M為字符串的索引,可以混合使用正向遞增索引和反向遞減索引。切片要求N和M都在字符串的索引區(qū)間,如果N大于等于M,則返回空字符串。如果N缺失,則默認將N設為0;如果M缺失,則默認表示到字符串結尾。題干中s[1:5]=‘2345’,s[0:3]=‘1231’,s[-10:-5]=‘12345’,s[0:4]=‘1234’。本題選擇D選項。

16.Cx/y返回x和y的商,產(chǎn)生的結果為浮點數(shù);x//y返回不大于x與y之商的最大整數(shù)。try-\nexcept是異常處理機制,當try中的代碼報錯時執(zhí)行except后面的語句,不報錯則繼續(xù)執(zhí)行同級語句。由于8//9\n=0,8/9/0產(chǎn)生了除以0的操作,因此會報錯。本題選擇C選項。

17.D列表的索引是從0開始的;元組的元素值可以連接,但不能被修改、刪除;字典中的“鍵”可以是整數(shù)或者字符串,但也可以是函數(shù)、元組、類等任意不可變類型。本題選擇D選項。

18.Cimport語句確實可以在程序的任何位置使用,但是當在程序中多次導入同一個模塊時,該模塊中的代碼僅僅在該模塊被首次導人時執(zhí)行,所以C項錯誤。

19.DA選項正確,遞歸函數(shù)必須要有一個明確的結束條件作為遞歸的出口;B選項正是遞歸函數(shù)的含義,正確;C選項正確,在計算機中,函數(shù)調用是通過棧這種數(shù)據(jù)結構實現(xiàn)的,每當進入一個函數(shù)調用,棧就會加一層棧幀,每當函數(shù)返回,棧就會減一層棧幀,由于棧的大小不是無限的,所以,遞歸調用的次數(shù)過多,會導致棧溢出;D選項,每當進入更深一層的遞歸時,問題規(guī)模顯然會相對前一次遞歸減小。

20.D根據(jù)字典的索引方式可知,d.get(’egg’,’nothisfood’)索引的是字典第一層,但是第一層只有鍵food,沒有鍵egg,故索引不出值,輸出的是“nothisfood”。

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

22.D文件是存儲在輔助存儲器上的一組數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內容,A選項正確??梢允褂胦pen()打開文件,用close()關閉文件,B選項正確。在Python中,文件讀取方法如下(f代表文件變量)。f.read():從文件中讀入整個文件內容。f.readline():從文件中讀入一行內容。f.readlineS():從文件中讀入所有行,以每行為元素形成一個列表。f.seek():改變當前文件操作指針的位置。C選項正確。本題選擇D選項。

23.D在Python語言中,讀取CSV格式文件中的二維碼數(shù)據(jù)采用遍歷循環(huán)和字符串的split()方法相結合,方法如下:\nf=open(”cpi.csv”,”r”)\nls=[]\nforlineinf:\nls.a(chǎn)ppend(line.strip(”\n”).split(”,”))\nf.close()

24.D列表Is中有3個元素,函數(shù)funC('\nyellow”),將yellow傳遞給形參a,用append()方法將a中內容添加到列表Is中,最后返回,故最終的Is=[’\'apple',’’redn\n,\'’orangen/\'yellow'],print(ls),即將列表Is中的內容輸出。本題選擇D選項。

25.DPython源文件的后綴名為py。

26.B

27.A算法的空間復雜度是指算法在執(zhí)行過程中所需要的內存空間。本題選擇A選項。

28.B

29.D

30.C

31.Y

32.Y

33.N

34.Y

35.N

36.N

37.Y

38.Y

39.Y

40.N

41.291

42.[2,4]

43.'B'

44.20

45.'[1,2,3]'

46.9

47.True

48.False

49.'r'

50.6

51.importturtleturtle.color(“red”.”yellow”)turtle.begin_fill()foriinrange(36):turtle.fd(200)turtle,left(110)turtle.end_fill()該題考查的是用Python標準庫turtle庫繪制太陽花。根據(jù)題干可知,太陽花的邊為紅色且用黃色填充,因此第1空填red,第2空填yellow。由于涉及填充圖形,所以要調用begin_fill()函數(shù),因此第3空應填入be-gin_fill()。題目要求邊長為200像素,則第4空應填200。太陽花一共36個角,每個角10度,因此繪制一條邊需要逆時針旋轉170度再繪制下一條邊,因此第5空應填入170。

52.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ù),結束本次循環(huán),使用continue語句;不可以被整除則為奇數(shù),輸出該數(shù)。while循環(huán)不具有自動計數(shù)的功能,所以需要定義一個變量,初始值為0,每經(jīng)過一次循環(huán),變量加1;當變量超過50時,停止循環(huán)。

53.a=[11,3,8]b=eval(input())S=0foriinrange(3):s+=a[i]*b[i]print(s)本題用變量S收集兩個列表中對應元素乘積的和,因此要先定義變量S,第1空應填入s=0。兩個列表中對應元素乘積可表示為a[i]*b[i],再求和S\r\n+=a[i]*b[i];由于列表中只有3個元素,索引從0開始,所以for循環(huán)遍歷中i的取值依次為0、1、2,因此第2空應填入range(3)。四川省自貢市全國計算機等級考試Python語言程序設計學校:________班級:________姓名:________考號:________

一、單選題(30題)1.設棧與隊列初始狀態(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

2.下面屬于Python的標準庫是()。

A.turtleB.jiebaC.scipyD.Flask

3.在滿足實體完整性約束的條件下()。

A.—個關系中應該有一個或多個候選關鍵字

B.—個關系中只能有一個候選關鍵字

C.一個關系中必須有多個候選關鍵字

D.—個關系中可以沒有候選關鍵字

4.下面關于類的說法錯誤的是()。

A.類是一種實例

B.在類進行實例化時將會首先執(zhí)行該類中的int方法

C.在對類進行實例化時,傳人的實參不用帶上self,它在類執(zhí)行過程中將自行帶上

D.類中的變量前帶有前綴self意味著此變量在類中任意位置可以使用

5.正則非貪婪模式使用()符號設置

A.\$B.\∧C.\{}D.\?

6.以下屬于Python的導入語句的是()。

A.classB.returnC.importD.print

7.鍵盤輸入數(shù)字5,以下代碼的輸出結果是()。n=eva](input(”請輸入一個整數(shù):”))s=0ifn>=5:n-=1s=4ifn<5:n一=1s=3prim(s)

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

8.程序流程圖是()。

A.總體設計階段使用的表達工具B.詳細設計階段使用的表達工具C.編碼階段使用的表達工具D.測試階段使用的表達工具

9.Python中匿名函數(shù)的關鍵字是()。

A.lambdaB.globalC.withD.pass

10.以下代碼的輸出結果是()。deffibRate(n):ifn<=0:Return-1elifn==1:return-1elifn==2:return1else:L=[1,5]foriinrange(2,n):L.append(L[-1]+L[-2])returnL[-2]%L[-1]print(fibRate(7))A.0.6B.28C.-1D.1

11.以下關于Python循環(huán)結構的描述中,錯誤的是()。

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

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

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

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

12.以下關于Python分支結構的描述中,錯誤的是()。

A.Python分支結構使用保留字if、elif和else來實現(xiàn),每個if后面必須有elif或else

B.if-else結構是可以嵌套的

C.if語句會判斷if后面的邏輯表達式,當表達式為真時,執(zhí)行if后續(xù)的語句塊

D.縮進是Python分支語句的語法部分,縮進不正確會影響分支功能

13.執(zhí)行以下代碼的結果是()A.2B.22C.23D.24

14.以下關于分支和循環(huán)結構的描述中,正確的是()。

A.在循環(huán)中,continue語句的作用是跳出當前循環(huán)

B.在循環(huán)中,break語句的作用是結束該語句所在的循環(huán)

C.帶有else子句的循環(huán)語句,如果是因為執(zhí)行了break語句而退出的話,則會執(zhí)行else子句中的代碼

D.在Python中,分支結構和循環(huán)結構必須帶有else子句

15.s=‘1234567890’,以下表示‘1234’的是()。A.s[1:5]B.s[0:3]C.s[-10:-5]D.s[0:4]

16.下面代碼的輸出結果是()。try:print(8/9/(8//9))except:print("計算錯誤")

A.0B.1C.計算錯誤D.8

17.下列關于Python的描述,正確的是()。

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

B.元組的元素值可以修改、刪除、連接

C.字典中的“鍵”只能是整數(shù)、字符串

D.集合分為可變集合和不可變集合,可變集合的元素可以添加、刪除

18.下面關于Python中模塊導入的說法錯誤的是()。

A.Python中,可以使用import語句將一個源代碼文件作為模塊導入

B.在系統(tǒng)導入模塊時,會創(chuàng)建一個名為源代碼的文件的對象,該對象引用模塊的名字空間,即可通過這個對象訪問模塊中的函數(shù)和變量

C.import語句可在程序的任何位置使用,可以在程序中多次導入統(tǒng)一模塊,每次導入該模塊時都會將該模塊中的代碼執(zhí)行一次

D.模塊導入時可以使用as關鍵字來改變模塊的引用對象名字

19.下面關于遞歸函數(shù),描述錯誤的是()。

A.遞歸函數(shù)必須有一個明確的結束條件

B.遞歸函數(shù)就是一個函數(shù)在內部調用自身本身

C.遞歸效率不高,遞歸層次過多會導致棧溢出

D.每進入更深一層的遞歸時,問題規(guī)模相對于前一次遞歸是不變的

20.以下代碼的輸出結果是()。d={’food’:{’cake’:1,’egg’:5}}print(d.get(’egg’,’nothisfood’))

A.eggB.1C.foodD.nothisfood

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

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

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

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

22.以下關于文件的描述中,錯誤的是()。

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

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

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

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

23.在Python語言中,讀入CSV文件保存的二維數(shù)據(jù),按特定分隔符抽取信息,最可能用到的函數(shù)是()。

A.read()B.join()C.replace()D.split()

24.以下代碼的輸出結果是()。Is=["apple",”red","orangen]deffunC(a):Is.append(a)returnfunC("yellow")print(Is)

A.[]

B.[“apple”,”red”,”orange”]

C.["yellow"]

D.[Mapple","red","orange","yellow"]

25.在Python語言中,可以作為源文件后綴名的是()。

A.pdfB.docxC.pngD.py

26.Python3中獲取用戶輸入并默認以字符串存儲的函數(shù)是()

A.raw_inputB.inputC.rawD.print

27.算法的空間復雜度是指()。

A.算法在執(zhí)行過程中所需要的計算機存儲空間

B.算法所處理的數(shù)據(jù)量

C.算法程序中的語句或指令條數(shù)

D.算法在執(zhí)行過程中所需要的臨時工作單元數(shù)

28.執(zhí)行以下代碼的結果是?A.(1,2,3,4)B.(1,2,3,[1,2,4])C.異常報錯D.(1,2,3,[1,2,3],4)

29.靜態(tài)成員變量稱為類變量,非靜態(tài)成員變量稱為實例變量,下列關于一個類的靜態(tài)成員的描述中,不正確的是()

A.該類的對象共享其靜態(tài)成員變量的值

B.靜態(tài)成員變量可被該類的所有方法訪問

C.該類的靜態(tài)方法只能訪問該類的靜態(tài)成員變量

D.該類的靜態(tài)數(shù)據(jù)成員變量的值不可修改

30.執(zhí)行以下代碼的結果是()A.1B.2C.5D.8

二、判斷題(10題)31.Python列表、元組、字符串都屬于有序序列。

A.是B.否

32.Python支持使用字典的“鍵”作為下標來訪問字典中的值。

A.是B.否

33.繼承自threading.Thread類的派生類中不能有普通的成員方法。A.是B.否

34.定義類時如果實現(xiàn)了__len__()方法,該類對象即可支持內置函數(shù)len()。

A.是B.否

35.放在一對三引號之間的任何內容將被認為是注釋。

A.是B.否

36.列表可以作為集合的元素。

A.是B.否

37.Python字典中的“鍵”可以是元組。

A.是B.否

38.如果需要連接大量字符串成為一個字符串,那么使用字符串對象的join()方法比運算符+具有更高的效率。

A.是B.否

39.在編寫應用程序時,應合理控制線程數(shù)量,線程并不是越多越好。

A.是B.否

40.在Python中可以使用for作為變量名。

A.是B.否

三、填空題(10題)41.表達式int('123',16)的值為_________。

42.表達式[indexforindex,valueinenumerate([3,5,7,3,7])ifvalue==max([3,5,7,3,7])]的值為__________________。

43.表達式chr(ord('b')^32)的值為_________。

44.表達式len('Helloworld!'.ljust(20))的值為_________。

45.表達式'%s'%[1,2,3]的值為_____________。

46.表達式range(10)[-1]的值為____________。

47.已知a=[1,2,3]和b=[1,2,4],那么id(a[1])==id(b[1])的執(zhí)行結果為___________。

48.表達式'abc10'.isdigit()的值為__________________。

49.表達式'Helloworld!'[-4]的值為________________。

50.表達式5if5>6else(6if3>2else5)的值為_________。

四、操作題(3題)51.考生文件夾下存在一個文件“PY201.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。使用turtle庫的turtle.fd()函數(shù)和turtle.le£t()函數(shù)繪制一長為200像素黃底紅邊的太陽花,效果如下所示。

試題程序:#請在程序的_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼importturtleturtle.color(_____(1)_____,_____(2)_____)turtle._____(3)_____foriinrange(36):turtle.fd(_____(4)_____)turtle.left(_____(5)_____)turtle.end_fill()

52.考生文件夾下存在一個文件PY103.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:使用循環(huán)輸出從1到50之間的奇數(shù)。

試題程序:

#請在_____處使用一行代碼或表達式替換

#注意:請不要修改其他已給出代碼______whilecount<50:

ifcount%2==0:

print(count,end=”,”)

53.考生文件夾下存在一個文件“PY102.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。a和b是兩個列表變量,列表a為[11,3,8]已給定,輸入列表b,計算a中元素與b中對應元素乘積的累加和。例如:輸入的列表b為[4,5,2],累加和為11*4+5*3+8*2=75,因此,屏幕輸出的計算結果為75。試題程序:#請在程序的_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼a=[11,3,8]b=eval(input())#例如..[4,5,2]—(1)—foriin(2):s+=a[i]*b[i]print(s)

參考答案

1.D棧稱為“后進先出”表或“先進后出”的線性表;隊列稱為“先進先出”或“后進后出”的線性表。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。

2.Aturtle庫是Python的標準庫,用于基本圖形的繪制;jieba庫是Python的第三方中文分詞庫;scipy是數(shù)據(jù)分析方向的第三方庫;Flask是Web開發(fā)方向的第三方庫。本題選擇A選項。

3.A實體完整性約束要求關系的主鍵中屬性值不能為空值,本題選擇A選項。

4.AA選項中類只是一種抽象事物的分類,對象才是一種實例。

5.D

6.C在Python中,無論是標準庫、第三方庫還是自定義庫,在使用之前都需要進行導入,方法就是使用import語句導入模塊。本題選擇C選項。

7.B輸入5,因為n=5滿足第一個if條件,所以n=n一1,n=4,s=4;由于現(xiàn)在n=4,滿足第二個if條件,所以執(zhí)行n=n一1,n=3,s=3。print(s),輸出3。

8.B詳細設計階段常見的工具有程序流程圖、N—S圖、PAD圖、HIPO圖、判定表等。本題選B選項。

9.AB選項是定義全局變量的關鍵字,C選項是with...as用來代替?zhèn)鹘y(tǒng)的try...\nfinally語法,D選項的意思是程序什么都不做。本題選擇A選項。

10.B將實參7傳遞給函數(shù)形參變量n,之后進入多分支結構,依次判斷后,執(zhí)行else后面的語句。for語句為foriin\r\nrange(2,7),i從2依次變化到6,循環(huán)5次,將L[-1]+L[-2]的值通過append()方法加入列表L中。當i=2時,L[-1]+L[-2]=5+1=6,將6添加到列表[中,此時L=[1,5,6];當i=3時,L[-1]+L[-2]=6+5=11,將11添加到列表L中,此時L=[l,5,6,ll];當i=4時,L[-1]+L[-2]=11+6=17,將17添加到列表L中,此時L=[l,5,6,ll,17];當i=5時,L[-1]+L[-2]=17+11=28,將28添加到列表L中,此時L=\r\n[1,5,6,11,17,28];當i=6時,L[-1]+L[-2]=28+17=45,將45添加到列表L中,此時L=\r\n[1,5,6,11,17,28,45]。最后L[-2]%L[-1]=28%45=28,故程序輸出28。本題選擇B選項。

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

12.APython分支結構使用保留字if、elif和else來實現(xiàn),每個if后面不一定要有elif或else,A選項錯誤;if-else結構是可以嵌套的,B選項正確;if語句會判斷if后面的邏輯表達式,當表達式為真時,執(zhí)行if后續(xù)的語句塊,C選項正確;縮進是Python分支語句的語法部分,縮進不正確會影響分支功能,D選項正確。本題選擇A選項。

13.D

14.Bcontinue語句用于中斷本次循環(huán)的執(zhí)行,繼續(xù)執(zhí)行下一輪循環(huán)的條件,而不是跳出當前循環(huán);Python中的for、while循環(huán)都有一個可選的else子句,如果用break語句終止循環(huán),那么else語句將不會執(zhí)行。

15.D對字符串中某個子串或區(qū)間的檢索稱為切片。切片的使用方式如下。<字符串或字符串變量>[N:M]切片獲取字符串從N到M(不包含M)的子字符串,其中N和M為字符串的索引,可以混合使用正向遞增索引和反向遞減索引。切片要求N和M都在字符串的索引區(qū)間,如果N大于等于M,則返回空字符串。如果N缺失,則默認將N設為0;如果M缺失,則默認表示到字符串結尾。題干中s[1:5]=‘2345’,s[0:3]=‘1231’,s[-10:-5]=‘12345’,s[0:4]=‘1234’。本題選擇D選項。

16.Cx/y返回x和y的商,產(chǎn)生的結果為浮點數(shù);x//y返回不大于x與y之商的最大整數(shù)。try-\nexcept是異常處理機制,當try中的代碼報錯時執(zhí)行except后面的語句,不報錯則繼續(xù)執(zhí)行同級語句。由于8//9\n=0,8/9/0產(chǎn)生了除以0的操作,因此會報錯。本題選擇C選項。

17.D列表的索引是從0開始的;元組的元素值可以連接,但不能被修改、刪除;字典中的“鍵”可以是整數(shù)或者字符串,但也可以是函數(shù)、元組、類等任意不可變類型。本題選擇D選項。

18.Cimport語句確實可以在程序的任何位置使用,但是當在程序中多次導入同一個模塊時,該模塊中的代碼僅僅在該模塊被首次導人時執(zhí)行,所以C項錯誤。

19.DA選項正確,遞歸函數(shù)必須要有一個明確的結束條件作為遞歸的出口;B選項正是遞歸函數(shù)的含義,正確;C選項正確,在計算機中,函數(shù)調用是通過棧這種數(shù)據(jù)結構實現(xiàn)的,每當進入一個函數(shù)調用,棧就會加一層棧幀,每當函數(shù)返回,棧就會減一層棧幀,由于棧的大小不是無限的,所以,遞歸調用的次數(shù)過多,會導致棧溢出;D選項,每當進入更深一層的遞歸時,問題規(guī)模顯然會相對前一次遞歸減小。

20.D根據(jù)字典的索引方式可知,d.get(’egg’,’nothisfood’)索引的是字典第一層,但是第一層只有鍵food,沒有鍵egg,故索引不出值,輸出的是“nothisfood”。

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

22.D文件是存儲在輔助存儲器上的一組數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內容,A選項正確。可以使用open()打開文件,用close()關閉文件,B選項正確。在Python中,文件讀取方法如下(f代表文件變量)。f.read():從文件中讀入整個文件內容。f.readline():從文件中讀入一行內容。f.readlineS():從文件中讀入所有行,以每行為元素形成一個列表。f.seek():改變當前文件操作指針的位置。C選項正確。本題選擇D選項。

23.D在Python語言中,讀取CSV格式文件中的二維碼數(shù)據(jù)采用遍歷循環(huán)和字符串的split()方法相結合,方法如下:\nf=open(”cpi.csv”,”r”)\nls=[]\nforlineinf:\nls.a(chǎn)ppend(line.strip(”\n”).split(”,”))\nf.close()

24.D列表Is中有3個元素,函數(shù)funC('\nyellow”),將yellow傳遞給形參a,用append()方法將a中內容添加到列表Is中,最后返回,故最終的Is=[’\'apple',’’redn\n,\'’orangen/\'yellow'],print(ls),即將列表Is中的內容輸出。本題選擇D選項。

25.DPython源文件的后綴名為py。

26.B

27.A算法的空間復雜度是指算法在執(zhí)行過程中所需要的內存空間。本題選擇A選項。

28.B

29.D

30.C

31.Y

32.Y

33.N

34.Y

35.N

36.N

37.Y

38.Y

39.Y

40.N

41.291

42.[2,4]

43.'B'

44.20

45.'[1,2,3]'

46.9

47.True

48.False

49.'r'

50.6

51.importturtleturtle.color(“red”.”yellow”)turtle.begin_fill()foriinrange(36):turtle.fd(200)turtle,left(110)turtle.end_fill()該題考查的是用Python標準庫turtle庫繪制太陽花。根據(jù)題干可知,太陽花的邊為紅色且用黃色填充,因此第1空填red,第2空填yellow。由于涉及填充圖形,所以要調用begin_fill()函數(shù),因此第3空應填入be-gin_fill()。題目要求邊長為200像素,則第4空應填200。太陽花一共36個角,每個角10度,因此繪制一條邊需要逆時針旋轉170度再繪制下一條邊,因此第5空應填入170。

52.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ù),結束本次循環(huán),使用continue語句;不可以被整除則為奇數(shù),輸出該數(shù)。while循環(huán)不具有自動計數(shù)的功能,所以需要定義一個變量,初始值為0,每經(jīng)過一次循環(huán),變量加1;當變量超過50時,停止循環(huán)。

53.a=[11,3,8]b=eval(input())S=0foriinrange(3):s+=a[i]*b[i]print(s)本題用變量S收集兩個列表中對應元素乘積的和,因此要先定義變量S,第1空應填入s=0。兩個列表中對應元素乘積可表示為a[i]*b[i],再求和S\r\n+=a[i]*b[i];由于列表中只有3個元素,索引從0開始,所以for循環(huán)遍歷中i的取值依次為0、1、2,因此第2空應填入range(3)。四川省自貢市全國計算機等級考試Python語言程序設計學校:________班級:________姓名:________考號:________

一、單選題(30題)1.設棧與隊列初始狀態(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

2.下面屬于Python的標準庫是()。

A.turtleB.jiebaC.scipyD.Flask

3.在滿足實體完整性約束的條件下()。

A.—個關系中應該有一個或多個候選關鍵字

B.—個關系中只能有一個候選關鍵字

C.一個關系中必須有多個候選關鍵字

D.—個關系中可以沒有候選關鍵字

4.下面關于類的說法錯誤的是()。

A.類是一種實例

B.在類進行實例化時將會首先執(zhí)行該類中的int方法

C.在對類進行實例化時,傳人的實參不用帶上self,它在類執(zhí)行過程中將自行帶上

D.類中的變量前帶有前綴self意味著此變量在類中任意位置可以使用

5.正則非貪婪模式使用()符號設置

A.\$B.\∧C.\{}D.\?

6.以下屬于Python的導入語句的是()。

A.classB.returnC.importD.print

7.鍵盤輸入數(shù)字5,以下代碼的輸出結果是()。n=eva](input(”請輸入一個整數(shù):”))s=0ifn>=5:n-=1s=4ifn<5:n一=1s=3prim(s)

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

8.程序流程圖是()。

A.總體設計階段使用的表達工具B.詳細設計階段使用的表達工具C.編碼階段使用的表達工具D.測試階段使用的表達工具

9.Python中匿名函數(shù)的關鍵字是()。

A.lambdaB.globalC.withD.pass

10.以下代碼的輸出結果是()。deffibRate(n):ifn<=0:Return-1elifn==1:return-1elifn==2:return1else:L=[1,5]foriinrange(2,n):L.append(L[-1]+L[-2])returnL[-2]%L[-1]print(fibRate(7))A.0.6B.28C.-1D.1

11.以下關于Python循環(huán)結構的描述中,錯誤的是()。

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

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

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

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

12.以下關于Python分支結構的描述中,錯誤的是()。

A.Python分支結構使用保留字if、elif和else來實現(xiàn),每個if后面必須有elif或else

B.if-else結構是可以嵌套的

C.if語句會判斷if后面的邏輯表達式,當表達式為真時,執(zhí)行if后續(xù)的語句塊

D.縮進是Python分支語句的語法部分,縮進不正確會影響分支功能

13.執(zhí)行以下代碼的結果是()A.2B.22C.23D.24

14.以下關于分支和循環(huán)結構的描述中,正確的是()。

A.在循環(huán)中,continue語句的作用是跳出當前循環(huán)

B.在循環(huán)中,break語句的作用是結束該語句所在的循環(huán)

C.帶有else子句的循環(huán)語句,如果是因為執(zhí)行了break語句而退出的話,則會執(zhí)行else子句中的代碼

D.在Python中,分支結構和循環(huán)結構必須帶有else子句

15.s=‘1234567890’,以下表示‘1234’的是()。A.s[1:5]B.s[0:3]C.s[-10:-5]D.s[0:4]

16.下面代碼的輸出結果是()。try:print(8/9/(8//9))except:print("計算錯誤")

A.0B.1C.計算錯誤D.8

17.下列關于Python的描述,正確的是()。

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

B.元組的元素值可以修改、刪除、連接

C.字典中的“鍵”只能是整數(shù)、字符串

D.集合分為可變集合和不可變集合,可變集合的元素可以添加、刪除

18.下面關于Python中模塊導入的說法錯誤的是()。

A.Python中,可以使用import語句將一個源代碼文件作為模塊導入

B.在系統(tǒng)導入模塊時,會創(chuàng)建一個名為源代碼的文件的對象,該對象引用模塊的名字空間,即可通過這個對象訪問模塊中的函數(shù)和變量

C.import語句可在程序的任何位置使用,可以在程序中多次導入統(tǒng)一模塊,每次導入該模塊時都會將該模塊中的代碼執(zhí)行一次

D.模塊導入時可以使用as關鍵字來改變模塊的引用對象名字

19.下面關于遞歸函數(shù),描述錯誤的是()。

A.遞歸函數(shù)必須有一個明確的結束條件

B.遞歸函數(shù)就是一個函數(shù)在內部調用自身本身

C.遞歸效率不高,遞歸層次過多會導致棧溢出

D.每進入更深一層的遞歸時,問題規(guī)模相對于前一次遞歸是不變的

20.以下代碼的輸出結果是()。d={’food’:{’cake’:1,’egg’:5}}print(d.get(’egg’,’nothisfood’))

A.eggB.1C.foodD.nothisfood

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

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

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

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

22.以下關于文件的描述中,錯誤的是()。

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

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

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

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

23.在Python語言中,讀入CSV文件保存的二維數(shù)據(jù),按特定分隔符抽取信息,最可能用到的函數(shù)是()。

A.read()B.join()C.replace()D.split()

24.以下代碼的輸出結果是()。Is=["apple",”red","orangen]deffunC(a):Is.append(a)returnfunC("yellow")print(Is)

A.[]

B.[“apple”,”red”,”orange”]

C.["yellow"]

D.[Mapple","red","orange","yellow"]

25.在Python語言中,可以作為源文件后綴名的是()。

A.pdfB.docxC.pngD.py

26.Python3中獲取用戶輸入并默認以字符串存儲的函數(shù)是()

A.raw_inputB.inputC.rawD.print

27.算法的空間復雜度是指()。

A.算法在執(zhí)行過程中所需要的計算機存儲空間

B.算法所處理的數(shù)據(jù)量

C.算法程序中的語句或指令條數(shù)

D.算法在執(zhí)行過程中所需要的臨時工作單元數(shù)

28.執(zhí)行以下代碼的結果是?A.(1,2,3,4)B.(1,2,3,[1,2,4])C.異常報錯D.(1,2,3,[1,2,3],4)

29.靜態(tài)成員變量稱為類變量,非靜態(tài)成員變量稱為實例變量,下列關于一個類的靜態(tài)成員的描述中,不正確的是()

A.該類的對象共享其靜態(tài)成員變量的值

B.靜態(tài)成員變量可被該類的所有方法訪問

C.該類的靜態(tài)方法只能訪問該類的靜態(tài)成員變量

D.該類的靜態(tài)數(shù)據(jù)成員變量的值不可修改

30.執(zhí)行以下代碼的結果是()A.1B.2C.5D.8

二、判斷題(10題)31.Python列表、元組、字符串都屬于有序序列。

A.是B.否

32.Python支持使用字典的“鍵”作為下標來訪問字典中的值。

A.是B.否

33.繼承自threading.Thread類的派生類中不能有普通的成員方法。A.是B.否

34.定義類時如果實現(xiàn)了__len__()方法,該類對象即可支持內置函數(shù)len()。

A.是B.否

35.放在一對三引號之間的任何內容將被認為是注釋。

A.是B.否

36.列表可以作為集合的元素。

A.是B.否

37.Python字典中的“鍵”可以是元組。

A.是B.否

38.如果需要連接大量字符串成為一個字符串,那么使用字符串對象的join()方法比運算符+具有更高的效率。

A.是B.否

39.在編寫應用程序時,應合理控制線程數(shù)量,線程并不是越多越好。

A.是B.否

40.在Python中可以使用for作為變量名。

A.是B.否

三、填空題(10題)41.表達式int('123',16)的值為_________。

42.表達式[indexforindex,valueinenumerate([3,5,7,3,7])ifvalue==max([3,5,7,3,7])]的值為__________________。

43.表達式chr(ord('b')^32)的值為_________。

44.表達式len('Helloworld!'.ljust(20))的值為_________。

45.表達式'%s'%[1,2,3]的值為_____________。

46.表達式range(10)[-1]的值為____________。

47.已知a=[1,2,3]和b=[1,2,4],那么id(a[1])==id(b[1])的執(zhí)行結果為___________。

48.表達式'abc10'.isdigit()的值為__________________。

49.表達式'Helloworld!'[-4]的值為________________。

50.表達式5if5>6else(6if3>2else5)的值為_________。

四、操作題(3題)51.考生文件夾下存在一個文件“PY201.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。使用turtle庫的turtle.fd()函數(shù)和turtle.le£t()函數(shù)繪制一長為200像素黃底紅邊的太陽花,效果如下所示。

試題程序:#請在程序的_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼importturtleturtle.color(_____(1)_____,_____(2)_____)turtle._____(3)_____foriinrange(36):turtle.fd(_____(4)_____)turtle.left(_____(5)_____)turtle.end_fill()

52.考生文件夾下存在一個文件PY103.py,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能:使用循環(huán)輸出從1到50之間的奇數(shù)。

試題程序:

#請在_____處使用一行代碼或表達式替換

#注意:請不要修改其他已給出代碼______whilecount<50:

ifcount%2==0:

print(count,end=”,”)

53.考生文件夾下存在一個文件“PY102.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。a和b是兩個列表變量,列表a為[11,3,8]已給定,輸入列表b,計算a中元素與b中對應元素乘積的累加和。例如:輸入的列表b為[4,5,2],累加和為11*4+5*3+8*2=75,因此,屏幕輸出的計算結果為75。試題程序:#請在程序的_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼a=[11,3,8]b=eval(input())#例如..[4,5,2]—(1)—foriin(2):s+=a[i]*b[i]print(s)

參考答案

1.D棧稱為“后進先出”表或“先進后出”的線性表;隊列稱為“先進先出”或“后進后出”的線性表。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。

2.Aturtle庫是Python的標準庫,用于基本圖形的繪制;jieba庫是Python的第三方中文分詞庫;scipy是數(shù)據(jù)分析方向的第三方庫;Flask是Web開發(fā)方向的第三方庫。本題選擇A選項。

3.A實體完整性約束要求關系的主鍵中屬性值不能為空值,本題選擇A選項。

4.AA選項中類只是一種抽象事物的分類,對象才是一種實例。

5.D

6.C在Python中,無論是標準庫、第三方庫還是自定義庫,在使用之前都需要進行導入,方法就是使用import語句導入模塊。本題選擇C選項。

7.B輸入5,因為n=5滿足第一個if條件,所以n=n一1,n=4,s=4;由于現(xiàn)在n=4,滿足第二個if條件,所以執(zhí)行n=n一1,n=3,s=3。print(s),輸出3。

8.B詳細設計階段常見的工具有程序流程圖、N—S圖、PAD圖、HIPO圖、判定表等。本題選B選項。

9.AB選項是定義全局變量的關鍵字,C選項是with...as用來代替?zhèn)鹘y(tǒng)的try...\nfinally語法,D選項的意思是程序什么都不做。本題選擇A選項。

10.B將實參7傳遞給函數(shù)形參變量n,之后進入多分支結構,依次判斷后,執(zhí)行else后面的語句。for語句為foriin\r\nrange(2,7),i從2依次變化到6,循環(huán)5次,將L[-1]+L[-2]的值通過append()方法加入列表L中。當i=2時,L[-1]+L[-2]=5+1=6,將6添加到列表[中,此時L=[1,5,6];當i=3時,L[-1]+L[-2]=6+5=11,將11添加到列表L中,此時L=[l,5,6,ll];當i=4時,L[-1]+L[-2]=11+6=17,將17添加到列表L中,此時L=[l,5,6,ll,17];當i=5時,L[-1]+L[-2]=17+11=28,將28添加到列表L中,此時L=\r\n[1,5,6,11,17,28];當i=6時,L[-1]+L[-2]=28+17=45,將45添加到列表L中,此時L=\r\n[1,5,6,11,17,28,45]。最后L[-2]%L[-1]=28%45=28,故程序輸出28。本題選擇B選項。

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

12.APython分支結構使用保留字if、elif和else來實現(xiàn),每個if后面不一定要有elif或else,A選項錯誤;if-else結構是可以嵌套的,B選項正確;if語句會判斷if后面的邏輯表達式,當表達式為真

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論