山西省運城市全國計算機等級考試Python語言程序設計模擬考試(含答案)_第1頁
山西省運城市全國計算機等級考試Python語言程序設計模擬考試(含答案)_第2頁
山西省運城市全國計算機等級考試Python語言程序設計模擬考試(含答案)_第3頁
山西省運城市全國計算機等級考試Python語言程序設計模擬考試(含答案)_第4頁
山西省運城市全國計算機等級考試Python語言程序設計模擬考試(含答案)_第5頁
已閱讀5頁,還剩17頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

山西省運城市全國計算機等級考試Python語言程序設計模擬考試(含答案)學校:________班級:________姓名:________考號:________

一、單選題(30題)1.下列關于Python程序格式的描述中正確的是()。

A.注釋可以在一行中的任意位置開始,這一行都會作為注釋不被執行

B.縮進是指每行代碼前的留白部分,用來表示層次關系,使代碼更加整潔利于閱讀,所有代碼都需要在行前至少加一個空格

C.Python不允許在一行的末尾加分號,這會導致語法錯誤

D.一行代碼的長度如果過長,可以使用反斜杠續行

2.生成一個[1,99]的隨機整數的函數是()。

A.random.randint(1,100)

B.random,randint(0,99)

C.random.randint(1,99)

D.random,uniform.(1,99)

3.下列關于列表的說法正確的是()。

A.列表中的值可以是任何數據類型,被稱為元素或項

B.列表的索引是從1開始的,以此類推

C.使用append()函數可以向列表的指定位置插入元素

D.使用remove()函數可以從列表中刪除元素,但必須知道元素在列表中的位置

4.結構化程序設計的基本原則不包括A.多態性B.自頂向下C.模塊化D.逐步求精

5.以下程序中,while循環的循環次數是()。i=0Whilei<10:ifi<1:print(“Python")continueifi==5:print(“World!”)breaki+=1

A.10B.5C.4D.死循環,不能確定

6.下列說法正確的是()。

A.set()可以將任何類型轉換為集合類型

B.remove()方法刪除集合中的元素,不管元素存不存在都不報錯

C.集合中的元素不可重復,元素類型只能是不可變數據類型

D.集合元素是有序的

7.在Python中,將二維數據寫入CSV文件,最可能使用的函數是()。

A.write()B.split()C.join()D.exists()

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

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

9.在軟件開發中,需求分析階段可以使用的工具是()。

A.N-S圖B.DFD圖C.PAD圖D.程序流程圖

10.字符串tstr=‘television’,顯示結果為vi的是()。

A.print(tstr[4:7])

B.print(tstr[5:7])

C.print(tstr[-6:6])

D.print(tstr[4:-2])

11.如果一個函數沒有return語句,調用它后的返回值為()

A.0B.TrueC.FalseD.None

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

13.在供應關系中,實體供應商和實體零件之間的聯系是()。

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

14.以下代碼的輸出結果是()。d={”大海”:”藍色”,”天空":”灰色","大地":”黑色”}print(d["大地”],d.get("天空”,"黃色”))

A.黑色黑色B.黑色灰色C.黑色黃色D.黑色藍色

15.下面程序的輸出結果是()。

ls=[“橘子”,”芒果”,”草莓”,”西瓜”,”水蜜桃”]

forkinls:

print(k,end=””)A.橘子芒果草莓西瓜水蜜桃B.橘子芒果草莓西瓜水蜜桃C.西瓜D.”橘子””芒果””草莓””西瓜””水蜜桃”

16.以下代碼的輸出結果是()。forsin“PythonNice!”:ifs==“i”:breakprint(s,end=“”)

A.PythonB.PythonNC.PythonNiD.PythonNice

17.以下程序的輸出結果是()。foriinrange(3):print(i,end=‘,’)A.0,1,2B.0,1,2,C.1,2,3D.1,2,3,

18.對于以下代碼的描述正確的是()。s=”Pythonisgood”l=”isn’tit?”length=len(s)s_title=s.title()s_l=s+1s_number=s[1:6]print(length)

A.length為12。

B.s_title為”PYTHONISGOOD”

C.s_1為”Pythonisgoodisn’tit?”

D.s_number為”Python”

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

A.osB.sysC.SciPyD.glob

20.下列關于Python中復數類型的描述錯誤的是()。

A.復數由實數部分和虛數部分構成

B.復數可以看作是二元有序實數對(a,b)

C.虛數部分必須后綴j,且為小寫

D.復數中的虛數部分不能單獨存在,必須有實數部分

21.軟件設計中模塊劃分應遵循的準則是()。A.低內聚低耦合

B.高內聚低耦合

C.低內聚高耦合

D.高內聚高耦合

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

A.Python的整數類型有長度限制,超過上限會產生溢出錯誤

B.Python語言中采用嚴格的“縮進”來表明程序格式,不可嵌套

C.Python中可以用八進制來表示整數

D.Python的浮點類型沒有長度限制,只受限于內存的大小

23.以下關于turtle庫的描述,錯誤的是()。

A.在importturtle之后,可以用turtle.circle()語句畫一個圓圈

B.seth(x)是setheading(x)函數的別名,讓畫筆旋轉x角度

C.可以用importturtle來導入turtle庫函數

D.home()函數設置當前畫筆位置到原點,方向朝上

24.以下代碼的輸出結果是()。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

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

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

26.以下程序Dog類中的__init__()方法共包含幾個形參()。ClassDog(): def__init__(self,name,age) =name self.age=age

A.0個B.1個C.2個D.3個

27.以下代碼的輸出結果是()。whileTrue:guess=eval(input())ifguess==0x452//2:breakprint(guess)

A.0x452B.breakC.553D.”0x452//2”

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

A.while循環使用關鍵字continue結束本次循環

B.while循環可以使用保留字break和continue

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

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

29.以下代碼的輸出結果是()。forsin“PythonNice!":ifs=="i”:breakprint(s,end=””)

A.PythonB.PythonNC.PythonNiD.PythonNice

30.在Python的類定義中,對函數變量的訪問形式為()。

A.<對象>.<變量>B.<對象>.方法(變量)C.<類名>.<變量>D.<對象>.方法(變量)

二、判斷題(10題)31.調用函數時傳遞的實參個數必須與函數形參個數相等才行。

A.是B.否

32.Python運算符%不僅可以用來求余數,還可以用來格式化字符串。

A.是B.否

33.Python中一切內容都可以稱為對象。

A.是B.否

34.在函數中沒有任何辦法可以通過形參來影響實參的值。

A.是B.否

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

A.是B.否

36.4j是合法Python數字類型。

A.是B.否

37.在同一個作用域內,局部變量會隱藏同名的全局變量。

A.是B.否

38.在Python中可以使用id作為變量名,盡管不建議這樣做。

A.是B.否

39.調用函數時,在實參前面加一個型號*表示序列解包。

A.是B.否

40.在派生類中可以通過“基類名.方法名()”的方式來調用基類中的方法。

A.是B.否

三、填空題(10題)41.表達式'Helloworld.IlikePython.'.rfind('python')的值為________。

42.假設已從標準庫functools導入reduce()函數,那么表達式reduce(lambdax,y:x+y,[1,2,3])的值為____。

43.表達式3or5的值為________。

44.表達式len('SDIBT')的值為__________。

45.表達式[1,2]+[3]的值為__________________。

46.表達式type('3')in(int,float,complex)的值為__________。

47.Python擴展庫______________中封裝了Windows底層幾乎所有API函數。

48.可以使用內置函數___________________查看包含當前作用域內所有局部變量和值的字典。

49.正則表達式模塊re的__________方法用來編譯正則表達式對象。

50.表達式13//4的值為__________。

四、操作題(3題)51.考生文件夾下存在一個文件“PY101.py”,請寫代碼替換橫線,不修改其他代碼,實現以下功能。用鍵盤輸入正整數n,按要求把n輸出到屏幕。

格式要求:寬度為30個字符,以@填充,右對齊,帶千位分隔符。如果輸入的正整數超過30位,則按照真實長度輸出。例如:用鍵盤輸入的正整數n為5201314,屏幕輸出@@@@@@@@@@@@@@@5,201,314

試題程序:

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

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

n=eval(input("請輸入正整數”))print("{_____}".format(n))

52.考生文件夾下存在兩個Python源文件“PY30H.py”和“PY301-2.py”,分別對應兩個問題,請按照文件內說明修改代碼,實現以下功能。《傲慢與偏見》是史上最震撼人心的“世界文學十部最佳小說之一”。第1章的內容由考生文件夾下文件“arrogant,txt”給出。問題1:請編寫程序,統計該篇文章的英文字符數(不統計換行符),字符與出現次數之間用冒號(:)分隔。結果保存在考生文件夾下,命名為“PY301-l.txt”。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準…d={}Is=list(d.items())…fo.write("{}:{}\n".format(_____,_____))問題2:在問題1的前提下,將得到的字符次數進行降序排列,并將排名前10的常用字符保存在“arrogant-sort,txt”文件中。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準…d={}…Is=list(d.items())Is.sort(key=lambdax:x[1],reverse=True)…fo.write("{}:{}\n".format(_____,_____))

53.在考生文件夾下有一個文件“PY102.py”,請按照文件內的說明,完善代碼,實現下面功能:用鍵盤輸入一個十進制數保存在變量s中,轉換為二進制數輸出顯示在屏幕上,示例如下。請輸入一個十進制數:25轉換成二進制數是:11001試題程序:#請在程序的_____處使用一行代碼或表達式替換#注意:請不要修改其他已給出代碼s=input("請輸入一個十進制數:")num=_____(1)_____print("轉換成二進制數是:{_____(2)_____}".format(_____(3)_____))

參考答案

1.D注釋可以在一行的任意位置開始,但只有在井號(#)后的部分才會被作為注釋不被執行;Python有嚴格的格式要求,不能隨意縮進,只有在需要的時候才在代碼前加空格;Python允許在一行的末尾加分號,但一般不建議這么做,會影響代碼的美觀。本題選擇D選項。

2.Crandom.randint(a,b)隨機生成[a,b](包括a、b)的整數;random.uniform(a,b)隨機生成[a,b)(包括a,不包括b)的實數。本題選擇C選項。

3.A列表的索引是從0開始的,以此類推;使用append()函數可以向列表插入元素,但只能插入列表的末尾;使用remove(x)函數是將列表中出現的第一個x元素刪除。本題選擇A選項。

4.A結構化程序設計方法的主要原則可以概括為:自頂向下,逐步求精,模塊化和限制使用GOTO語句,其中不包括多態性。

5.Dwhile循環的判斷條件為真時,進人循環體,為假時,直接執行while同級的代碼。初始值為i=0,進入循環體之后,因為i<\n1,執行continue語句跳出本次循環,進入下一循環。i的值始終為0,故程序為死循環。本題選擇D選項。

6.Cset()函數將其他組合數據類型變成集合類型;remove()刪除集合中指定的元素,不存在則產生KeyError異常;集合元素是無序的,集合的輸出順序與定義順序可以不一致。

7.C在Python中,二維列表對象輸出CSV文件時,采用遍歷循環和字符串的join()方法相結合的方法。方法如下:#ls代表二維列表,此處省略f=open('cpi.csv','w')forrowinIs£.write(“,'.join(row)\\n')f.close()本題選擇C選項。

8.D

9.B解析:軟件開發階段包括需求分析、總體設計、詳細設計、編碼和測試5個階段。其中需求分析階段常用的工具是數據流圖(簡稱DFD)和數據字典(簡稱DD)。常見的詳細設計的圖形描述工具主要有程序流程圖、N-S結構圖、問題分析圖(簡稱PAD圖)。

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

11.D

12.D

13.A一家供應商可提供多種零件,一種零件也可被多家供應商提供,所以實體供應商和實體零件之間的聯系是多對多。本題選擇A選項。

14.B在Python中,字典是存儲可變數量鍵值對的數據結構,通過字典類型實現映射。字典使用花括號({})創建,每個元素是一個鍵值對,語法格式為:{<鍵1>:<值1>,<鍵2>:\n<值2>,'…,<鍵n:<值n>}其中,鍵和值通過冒號連接,不同鍵值對通過逗號隔開。字典具有和集合類似的性質,即鍵值對之間沒有順序且不能重復。d[鍵]獲取鍵對應值的值,d.get(key,defart)方法用來返回key對應的值,如果字典中不存在該鍵,則返回默認值。本題選擇B選項。

15.Bfor循環遍歷列表ls,依次把ls中的元素賦值給變量k,并使用函數print()輸出各元素(格式為元素間用空格分隔)。本題選擇B選項。

16.Bfor循環遍歷字符串,將字符串中的字符依次賦值給變量s,當s=i的時候,跳出該循環,輸出之前變量s被賦值的字符,所以輸出為PythonN。

17.Brange()函數與for循環結合使用,一般可以創建一個整數列表,且range(start,stop[,step])包含3個參數,代表列表的開始、結束以及步長,但其中不包含stop參數的范圍,即區間為左閉右開。print()函數的end參數用來設置輸出格式,默認為換行。該題輸出數字之間使用逗號分隔。本題選擇B選項。

18.Clen()方法用來獲取字符串的長度,所以length應為14;title()方法是把字符串每個單詞的首字母變為大寫,所以應為PythonIsGood;索引的序號是從0開始的,所以s[1:6]應為ython。

19.CSciPy是Python數據分析方向的第三方庫。本題選擇C選項。

20.CPython中復數類型的虛數部分的后綴可以為j或者J;復數的實部可以單獨存在,但是虛部不可以單獨存在;復數有實部和虛部構成,可以使用z.real和z.imag分別獲得它的實部和虛部。

21.B解析:耦合性和內聚性足模塊獨立性的兩個定性標準。內聚性是一個模塊內部各個元素間彼此結合的緊密程度的度量,作為軟件結構設計的設計原則,要求每個模塊的內部都具有很強的內聚性;耦合性是指模塊間相互連接的緊密程度的度量,一個模塊與其他模塊的耦合性越強則該模塊的獨立性越弱。一般優秀的軟件設計應盡量做到高內聚、低耦合,即減弱模塊之間的耦合性和提高模塊內的內聚性,有利于提高模塊的獨立性。

22.CPython的整數類型沒有長度限制;Python語言采用嚴格的“縮進”格式,可以嵌套;Python的浮點類型有長度限制,也受限于內存的大小。

23.Dturtle庫的home()函數是設置當前畫筆位置為原點,朝向東。

24.A

25.D

26.D__init__()方法是一個特殊的方法,每當根據類創建新實例時,Python就會自動運行該方法。該方法的開頭和結尾各有兩個下劃線,這是一種約定,旨在避免Python的默認方法和普通方法發生命名沖突。self、name、age都是__init__()方法的形參,所以共3個。本題選擇D選項。

27.C該程序最外層是while循環,while循環的條件是True,由此可知while內的語句會無限循環。input()函數是用來獲取用戶從鍵盤輸入的內容并以字符串類型返回。eval()函數是把字符串轉換成Python可用的語言。if語句的作用是來控制程序是否繼續循環,判斷條件中0x452是十六進制數,對2整除的結果是553,如果用戶輸入的數據是553,則將結果輸出并終止循環;如果輸入其他數據,程序會一直要求用戶輸入直到輸入正確的數據才會終止循環。本題選C選項。

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

29.Bfor循環遍歷字符串,將字符串中的字符依次賦值給變量s,當s==i的時候,跳出該循環,輸出之前變量s被賦值的字符,所以輸出為PythonN。本題選擇B選項。

30.A訪問函數的變量時,需要使用點表示法:<對象>.<變量名>。本題選擇A選項。

31.N

32.Y

33.Y

34.N

35.Y

36.Y

37.Y

38.Y

39.Y

40.Y

41.-1

42.6

43.3

44.5

45.[1,2,3]

46.FalseTrue

47.pywin32

48.locals()

49.compile()

50.3

51.n=eval(input(“請輸入正整數:”))print(”{0:@>30,}”.format(n))該題目主要考查Python字符串的格式化方法。字符串的.format()格式化方法的語法格式為<模板字符串>.format(\r\n<逗號分隔的參數>)。題目的輸出格式為右對齊、30個字符、以@填充、千位分隔符,橫線處應填入0:@>30,或:@>30,。

52.考生文件夾下存在兩個Python源文件“PY301.py”和“PY301-2.py”,分別對應兩個問題,請按照文件內說明修改代碼,實現以下功能。《傲慢與偏見》是史上最震撼人心的“世界文學十部最佳小說之一”。第1章的內容由考生文件夾下文件“arrogant,txt”給出。問題1:請編寫程序,統計該篇文章的英文字符數(不統計換行符),字符與出現次數之間用冒號(:)分隔。結果保存在考生文件夾下,命名為“PY301-l.txt”。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準…d={}Is=list(d.items())…fo.write("{}:{}\\n".format(_____,_____))問題2:在問題1的前提下,將得到的字符次數進行降序排列,并將排名前10的常用字符保存在“arrogant-sort,txt”文件中。試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準…d={}…Is=list(d.items())Is.sort(key=lambdax:x[1],reverse=True)…fo.write("{}:{}\\n".format(_____,_____))試題答案:(1)Fi=open(“arrogant.txt,”r”)Fo=open(“PY301-1.txt”,”w”Txt=fi.read()d={}Forsintxt:D[s]=d.get(s,0)+1Deld[‘\\n’]Is=list(d.items())Foriinrange(len(is)):fo.write(“{}:{}\\n”.format(ls[i][0],is[i][1])Fi.close()Fo.close()(2)F

溫馨提示

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

評論

0/150

提交評論