江蘇省南通市全國計算機等級考試Python語言程序設計真題(含答案)_第1頁
江蘇省南通市全國計算機等級考試Python語言程序設計真題(含答案)_第2頁
江蘇省南通市全國計算機等級考試Python語言程序設計真題(含答案)_第3頁
江蘇省南通市全國計算機等級考試Python語言程序設計真題(含答案)_第4頁
江蘇省南通市全國計算機等級考試Python語言程序設計真題(含答案)_第5頁
已閱讀5頁,還剩18頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

江蘇省南通市全國計算機等級考試Python語言程序設計真題(含答案)學校:________班級:________姓名:________考號:________

一、單選題(30題)1.如果文件a.txt在目錄’C:\\A’下,執行以下代碼會發生什么操作?()importosos.rmdir(r'C:\\A’)

A.刪除文件夾A,保留文件a.txt

B.刪除文件夾A和文件a.txt

C.刪除文件a.txt,保留文件夾A

D.OSError

2.一間宿舍可住多個學生,則實體宿舍和學生之間的聯系是()。

A.—對一B.—對多C.多對一D.多對多

3.在銀行業務中,實體客戶和實體銀行之間的聯系是()。

A.—對一B.—對多C.多對一D.多對多

4.下列哪種情況不會導致Python對象的引用計數增加()

A.對象被創建B.被作為參數傳遞給函數C.成為容器對象的元素D.該對象無法訪問時

5.關于Python元組類型,以下選項中描述錯誤的是()。

A.元組不可以被修改

B.Python中元組使用圓括號和逗號表示

C.元組中的元素要求是相同類型

D.一個元組可以作為另一個元祖的元素,可以采用多級索引獲取信息

6.下面的排序算法中初始數據集的排列順序對算法的性能無影響的是()A.插入排序B.堆排序C.冒泡排序D.快速排序

7.以下程序的輸出結果是()。d={}foriinrange(26): d[chr(i+ord(“A”))]=chr((i+13)%26+ord(“A”))forcin“Python”: print(d.get(c,c),end=“”)

A.PlgubaB.CabuglC.PythonD.Cython

8.以下程序的輸出結果是()。a,b,c='I’,chr(64),"you"s=a+b+cprint(s)

A.I@youB.IyouC.I4youD.Ichr(64)you

9.以下程序的輸出結果是()。n=2deff(a): n=bool(a-2) returnnb=f(2)print(n,b)

A.20B.0TrueC.2FalseD.0False

10.以下保留字不用于循環邏輯的是()。

A.tryB.elseC.forD.continue

11.以下代碼的輸出結果是()。print(0.1+0.2==0.3)

A.一1B.TrueC.FalseD.0

12.支持子程序調用的數據結構是()。

A.棧B.樹C.隊列D.二叉樹

13.以下程序的輸出結果是()。ls1=[1,2,3,4,5]ls2=ls1ls2.reverse()print(ls1)

A.5,4,3,2,1B.[1,2,3,4,5]C.[5,4,3,2,1]D.1,2,3,4,5

14.下列敘述中正確的是()。A.線性表的鏈式存儲結構與順序存儲結構所需要的存儲空間是相同的

B.線性表的鏈式存儲結構所需要的存儲空間一般要多于順序存儲結構

C.線性表的鏈式存儲結構所需要的存儲空間一般要少于順序存儲結構

D.線性表的鏈式存儲結構與順序存儲結構在存儲空間的需求上沒有可比性

15.下面屬于“對象”成份之一的是()。

A.封裝B.規則C.屬性D.繼承

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

A.missmissmissB.mmmissssssC.mmmiiissssssD.mmmssssss

17.在數據管理技術發展的三個階段中,數據共享最好的是()。

A.人工管理階段B.文件系統階段C.數據庫系統階段D.三個階段相同

18.給定列表Is=[1,2,3,"1",”2",”3”],其元素包含兩種數據類型,列表18的數據組織維度是()。

A.二維數據B.—維數據C.多維數據D.高維數據

19.以下屬于Python機器學習方向的第三方庫的是()。

A.randomB.SnowNLPC.TensorflowD.loso

20.以下代碼的輸出結果是()。ls=[]formin’想念’:fornin’家人’:ls.append(m+n)print(ls)

A.想念家人B.想想念念家家人人C.想家想人念家念人D.[’想家’,’想人’,’念家’,’念人’]

21.以下程序的輸出結果是()。forcin’PythonNCRE’:ifc==’N’:breakprint?

A.無輸出B.PythonC.PythoD.PythonCRE

22.數據庫設計中反映用戶對數據要求的模式是()。

A.內模式B.概念模式C.外模式D.設計模式

23.表格類型數據的組織維度最可能是()。

A.多維數據B.一維數據C.二維數據D.高維數據

24.設棧與隊列初始狀態為空。首先A、B、C、D、E依次入棧,接著F、G、H、I、J依次入隊;然后依次出隊至隊空,接著依次出棧至棧空。則輸出序列為()。

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

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

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

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

25.下面代碼的輸出結果是()。n=2deff(a):n=bool(a-2)returnnb=f(2)print(n,b)

A.20

B.0True

C.2False

D.0False

26.下面代碼的輸出結果是()。letter=['A’,’B’,’C',’D’,’D',’D’]foriinletter:ifi=='D':letter.remove(i)print(letter)

A.[‘A’,’B’,’C’]

B.[‘A’,’B’,’C’,’D’,’D’]

C.[‘A’,’B’,’C’,’D’,’D’,’D’]

D.['A’,’B’,’C’,’D’]

27.當試圖訪問的對象屬性不存在時,為了不讓程序拋出異常,需要用到的語句是()。

A.try—except語句B.for語句C.eval語句D.if語句

28.列表l1=[1,2,3],則表達式1+l1()A.[2,3,4]B.[1,1,2,3]C.[1,2,4]D.異常

29.在Python語言中,不屬于組合數據類型的是()。

A.浮點數類型B.列表類型C.字典類型D.字符串類型

30.有三個關系R、S和T如下:[*9]由關系R和S通過運算得到關系T,則所使用的運算為()。

A.笛卡爾積B.交C.并D.自然連接

二、判斷題(10題)31.Python變量使用前必須先聲明,并且一旦聲明就不能再當前作用域內改變其類型。

A.是B.否

32.在Python中定義類時實例方法的第一個參數名稱不管是什么,都表示對象自身。

A.是B.否

33.Python標準庫os中的方法startfile()可以啟動任何已關聯應用程序的文件,并自動調用關聯的程序。

A.是B.否

34.函數中的return語句一定能夠得到執行。

A.是B.否

35.Python標準庫threading中的Lock、RLock、Condition、Event、Semaphore對象都可以用來實現線程同步。

A.是B.否

36.已知列表x=[1,2,3],那么執行語句x=3之后,變量x的地址不變。A.是B.否

37.在Python中可以使用if作為變量名。

A.是B.否

38.帶有else子句的循環如果因為執行了break語句而退出的話,則會執行else子句中的代碼。

A.是B.否

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

A.是B.否

40.正則表達式元字符“s”用來匹配任意空白字符。

A.是B.否

三、填空題(10題)41.表達式'Helloworld'.swapcase().swapcase()的值為______________。

42.字典對象的_____________方法返回字典中的“鍵-值對”列表。

43.表達式eval('''__import__('math').sqrt(9)''')的值為______________。

44.表達式re.split('\.+','alpha.beta...gamma..delta')的值為_______________________。

45.正則表達式元字符________用來表示該符號前面的字符或子模式1次或多次出現。

46.表達式sorted([13,1,237,89,100],key=lambdax:len(str(x)))的值為___________________________________。

47.表達式sum(range(1,10,2))的值為____________。

48.已知x={'a':'b','c':'d'},那么表達式'a'inx的值為______________。

49.執行代碼x,y,z=sorted([1,3,2])之后,變量y的值為______。

50.在IDLE交互模式中瀏覽上一條語句的快捷鍵是__________。

四、操作題(3題)51.考生文件夾下存在一個文件“PY201.Py”,請寫代碼替換橫線,不修改其他代碼,實現以下功能。使用turtle庫的turtle.circle()函數、turtle.seth()函數及turtle.left()函數繪制一個四瓣花圖形,效果如下所示。

試題程序:#請在_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼importturtleforiinrange(_____(1)_____):turtle.seth(_____(2)_____)turtle.circle(50,90)turtle.seth(_____(3)_____)turtle.circle(50,90)turtle.(4)

52.考生文件夾下存在一個文件“PY202.py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改,請在該文件中編寫代碼,以實現如下功能。輸出九九乘法表。按照乘法表的格式輸出九九乘法表,并將輸出的結果保存在考生文件夾下,命名為“PY202.txt”。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準fo=open("PY202.txt","w")fo.close()

53.考生文件夾下存在3個Python源文件,分別對應3個問題;1個文本文件,作為本題目的輸入數據,請按照源文件內部說明修改代碼,實現以下功能。《賣火柴的小女孩》是丹麥童話故事作家安徒生寫的一篇童話故事,發表于1846年。主要講了一個賣火柴的小女孩在富人闔家歡樂、舉杯共慶的大年夜凍死在街頭的故事。這里給出《賣火柴的小女孩》的一個網絡版本文件,文件名為“小女孩.txt”。問題1:在“PY301-1.py”文件中修改代碼,對“小女孩.txt”文件進行字符頻次統計,輸出頻次最高的中文字符(不包含標點符號)及其頻次,字符與頻次之間采用英文冒號(:)分隔,將輸出結果保存在考生文件夾下,命名為“PY301-l.txt”。示例格式如下。的:83試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準…fo=open("PY301-1.txt","w")d={}fo.write("{}:{}".format(_____))fo.close()問題L在“PY301-2.Py”文件中修改代碼,對“小女孩.txt”文件進行字符頻次統計,按照頻次由高到低,輸出前10個頻次最高的字符,不包含回車符,字符之間無間隔,連續輸出,將輸出結果保存在考生文件夾下,命名為“PY301-2.txt”。示例格式如下。,的一...(共10個字符)試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準fo=open("PY301-2.txt",”w”)…d={}…Is=list(d.items())ls.sort(key=lambdax:x[l],reverse=True)#此行可以按照字符頻次由高到低排序…問題3:在PY301-3.py文件中修改代碼,對“小女孩.txt”文件進行字符頻次統計,將所有字符按照頻次從高到低排序,字符包括中文、標點、英文等,但不包含空格符和回車符。將排序后的字符及頻次輸出到考生文件夾下,文件名為“小女孩-頻次排序.txt”。字符與頻次之間采用英文冒號(:)分隔,各字符之間采用英文逗號(,)分隔,參考CSV格式,最后無逗號,文件內部示例格式如下。著:30,那:29,火:29試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準…d={}…Is=list(d.items())Is.sort(key=lambdax:x[1]#reverse=True)#此行可以按照字符頻次由高到低排序

參考答案

1.D使用rmdir()刪除目錄之前要先清除其中所有的文件,否則會報OSError錯誤。

2.B因為一間宿舍可以住多個學生即多個學生住在一個宿舍中,但一個學生只能住一間宿舍,所以實體宿舍和學生之間是一對多的關系。本題選擇B選項。

3.D一個客戶可以在多家銀行辦理業務,一家銀行也有多個客戶辦理業務,因此,實體客戶和實體銀行之間的聯系是多對多。本題選擇D選項。

4.D

5.C元組與列表類似,可存儲不同類型的數據;元組是不可改變的,創建后不能再做任何修改操作。

6.B

7.Dord()函數是把字符轉換成對應的ASCII值,chr()函數是ord()函數的逆運算,即把ASCII值轉換成對應的字符輸出,所以ord(“A”)為65。第一個for循環的作用是生成鍵值對存儲在字典變量d中。例如,當i=0,d[A]=N;i=1,d[B]=0……—直到i=13,d[N]=A,后面的鍵和值與前面的是互換位置的,如i=14,d[0]=B;i=15,d[P]=C……依次循環賦值,直到i=25時結束for循環。第二個for循環的作用是輸出字典的值,get(key,default=None)函數有兩個參數:第一個參數是字典的鍵;第二個參數是默認值,作用是返回字典中key對應的值,如果key不存在,則返回默認值,如d={“A”:“N”,“0”:“B”,“Z”:“M”},d.get(“A”,“C”)返回的是N。當c=“P”時,在字典中查找是否存在鍵為“P”的值,遍歷后發現存在這樣的值,所以返回C。for循環繼續遍歷剩下的字符,在字典中找不到對應的鍵,則返回默認值,所以結果返回為Cython。本題選擇D選項。

8.A程序中,chr(64)輸出的是字符@,之后用“+”連接字符串,最后輸出I@you。本題選擇A選項。

9.C這段代碼是全局變量、局部變量以及Python內置函數bool()的一個結合。當函數內部的局部變量名和函數外部全局變量名相同,調用函數時,總是先找到函數內部的局部變量名,所以當a為2時,經過布爾型轉換之后的a-2,即b為False,而在函數外部只能訪問全局變量名,所以n仍為2。本題選擇C選項。

10.A用于循環邏輯的保留字:while、for、else、break、continue。try用于捕捉異常。

11.C在Python語言中,0.1+0.2=0.30000000000000004。原因是:對于十進制,它只能表示以進制數的質因子為分母的分數。10的質因子有2和5,因此1/2、1/4、1/5、1/8和1/10都可以精確表示;相反,1/3、1/6和1/7都是循環小數,因為它們的分母使用了質因子3或者7。二進制下(進制數為2),只有一個質因子,即2,因此只能精確表示分母質因子是2的分數。二進制中,1/2、1/4和1/8都可以被精確表示,但1/5或者1/10就變成了循環小數。所以,在十進制中能夠精確表示的0.1與0.2(1/10與1/5),到了計算機所使用的二進制中就變成了循環小數。當對這些循環小數進行數學運算并將二進制數據轉換成人類可讀的十進制數據時,會對小數尾部進行截斷處理。在不同的語言中,運行0.1+0.2會輸出不同的結果。

12.A棧支持子程序調用。棧是-種只能在-端進行插入或刪除的線性表,在主程序調用子函數時要首先保存主程序當前的狀態,然后轉去執行子程序,最終把子程序的執行結果返回到主程序中調用子程序的位置,繼續向下執行,這種調用符合棧的特點,因此本題的答案為A。

13.C在Python中,列表對象的賦值就是簡單的對象引用。本題中,ls1和ls2是一樣的,他們指向同一片內存,ls2不過是ls1的別名,是引用。對l2做修改,11也會跟著變化。ls2.reverse()是指將列表ls2中的元素反轉,結果為[5,4,3,2,1],則ls1的值也為[5,4,3,2,1]。

14.B線性鏈式存儲結構中每個結點都由數據域與指針域兩部分組成,增加了存儲空間,所以一般要多于順序存儲結構。

15.C面向對象方法中的對象由兩部分組成:①數據,也稱為屬性,即對象所包含的信息,表示對象的狀態;②方法,也稱為操作,即對象所能執行的功能、所能具有的行為。本題選C選項。

16.B外層for循環依次將字符串“mlss”中的字符賦給變量i,內層for控制循環3次,注意是先執行print再判斷if條件,輸出第一個i后,碰到if判斷條件,當i==“i”時退出內層循環,所以結果為mmmlssssss。本題選擇B選項。

17.C數據管理發展至今已經歷了三個階段:人工管理階段、文件系統階段和數據庫系統階段。其中最后一個階段結構簡單,使用方便邏輯性強物理性少,在各方面的表現都最好,一直占據數據庫領域的主導地位,所以選擇C)。

18.B二維數據由多個一維數據構成,可以看作一維數據的組合形式。本題中該列表中雖然包含兩種數據類型,但仍然是一維數據。本題選擇B選項。

19.CsnowNLP和loso是自然語言處理方向的第三方庫;random庫用于產生各種分布的偽隨機序列,是Python的標準庫。本題選擇C選項。

20.D外層for第1次循環將字符’想’賦給變量m,m=’想’,內層for第1次循環將’家’賦給變量n,則m+n連接字符,利用列表的append()方法將連接后的字符’想家’加入到列表ls中;內層for第2次循環將’人’賦給變量n,則m+n連接字符,利用列表的append()方法將連接后的字符’想人’加入到列表ls中。外層for第2次循環將字符’念’賦給變量m,m=’念’,內層for第1次循環將’家’賦給變量n,則m+n連接字符,利用列表的append()方法將連接后的字符’念家’加入到列表ls中;內層for第2次循環將’人’賦給變量n,則m+n連接字符,利用列表的append()方法將連接后的字符’念人’加入到列表ls中。最后列表ls=[’想家’,’想人’,’念家’,’念人’],print(ls)輸出ls。本題選D選項。

21.A本題中,break語句出現在print語句之前,當if的條件為True時,執行break語句,跳出for循環,不再執行循環體中break后面的語句,故無輸出。

22.C數據庫系統的三級模式是概念模式、外模式和內模式。概念模式是數據庫系統中全局數據邏輯結構的描述,是全體用戶公共數據視圖。外模式也稱子模式或用戶模式,它是用戶的數據視圖,給出了每個用戶的局部數據描述,所以選擇C。內模式又稱物理模式,它給出了數據庫物理存儲結構與物理存取方法。

23.C一維數據由對等關系的有序或無序數據構成,采用線性方式組織;二維數據,也稱表格數據,由關聯關系數據構成,采用二維表格方式組織;高維數據由鍵值對類型的數據構成,采用對象方式組織。故答案為C項。

24.D棧稱為“后進先出”表或“先進后出”的線性表;隊列稱為“先進先出”或“后進后出”的線性表。F、G、H、I、J依次人隊,則依次出隊順序為F、G、H、I、J;A、B、C、D、E依次入棧,則依次出棧順序為E、D、C、B、A。故輸出序列為F,G,H,I,J,E,D,C,B,A。本題選擇D選項。

25.C這段代碼是全局變量、局部變量以及Python內置函數bool()的一個結合。在函數內部的局部變量名和函數外部全局變量名相同時,調用函數時,總是先找到函數內部的局部變量名,所以當a為2時,經過布爾型轉換之后的a\r\n-2,即b為False,而在函數外部只能訪問全局變量名,所以n仍為2,本題選擇C選項。

26.D遍歷列表letter,當i==’D’時,執行letter.removeG),此時列表letter:\n[‘A’,’B’,’C’,'D’];再遍歷當i==\n‘D’,執行letter.remove(i),此時列表letter=['A’,’B’,’C’,’D’]。因為列表的元素個數隨著“D”元素的刪除而減小,當刪除第一個“D”元素之后,列表元素的個數即變為5,for循環又是控制循環次數的,因此只遍歷5次,當第二個“\nD”元素刪除時,循環結束。本題選擇D選項。

27.Atry—except語句用于檢測和處理異常。

28.D

29.APython中組合數據類型包括元組、列表、字典和集合等。

30.D自然連接是一種特殊的等值連接,它要求兩個關系中進行比較的分量必須是相同的屬性,并且在結果中把重復的屬性列去掉,所以根據T關系中的有序組可知R與S進行的是自然連接操作。

31.N

32.Y

33.Y

34.N

35.Y

36.N

37.N

38.N

39.Y

40.Y

41.'Helloworld'

42.items()

43.3.0

44.['alpha','beta','gamma','delta']

45.+

46.[1,13,89,237,100]

47.25

48.True

49.2

50.Alt+P

51.importturtleforiinrange(4):turtle.seth(90*(i+1))turtle,circle(50,90)turtle.seth(-90+i*90)turtle,

circle(50,90)turtle.hideturtle()該題考查的是用Python標準庫turtle庫繪制四瓣花。因為需要繪制4個花瓣,所以循環執行4次,第1空填4。然后利用cirde()函數繪制圓弧的特點,每旋轉90度繪制四分之一個圓弧,且題目中用seth()函數表示旋轉角度,此函數依據絕對角度旋轉,因此第2空填90\r\n*(i+1),第3空填-90+i*90。最后隱藏畫筆箭頭,第4空應填hideturtle()。

52.fo=open("PY202.txt","w")Foriinrange(1,10):Forjinrange(1,i+1):Fowrite(“{}={}={}”.format(j,i,i*j))Fo.write(“\\n”)fo.close()輸出《九九乘法表》,首先要先查看乘法表的規律,乘法表豎向是1-9,橫向的每行是從1到每行的行號,所以可以使用兩個for循環遍歷輸出。格式可以使用format()方法控制,最后把輸出的《九九乘法表》存入文件\r\nPY202.txt中。

53.(1)fi=open("小女孩.txt","r")fo=open(”PY301—1.txt”,”w”)txt=fi.read()d={}\r\nexclude=",。!?、()【】<>《》=:+-*-“”…"forwordintxt:ifwordinexclude:continueelse:d[word]=d.get(word,0)+1ls=list(d.items())ls.sort(key=lambda\r\nx:x[1],reverse=True)fo.write(”{}:{}”format(ls[0][0],ls[0][1]))fo.close()(2)fi=open("小女孩.txt","r")fo=open(”PY301—2.txt”,”w”)txt=fi.read()d={}forwordintxt;d[word]=d.get(word,0)+1deld["\\n"]ls=list(d.items())ls.sort(key=lambdax:x[1],reverse=True)#此行可以按照詞頻由高到低排序foriinrange(10);fo.write(ls[i][0])fi.close()fo.close()(3)fi=open("小女孩.txt","r")fo=open(

溫馨提示

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

評論

0/150

提交評論