黑龍江省哈爾濱市全國計算機等級考試Python語言程序設(shè)計模擬考試(含答案)_第1頁
黑龍江省哈爾濱市全國計算機等級考試Python語言程序設(shè)計模擬考試(含答案)_第2頁
黑龍江省哈爾濱市全國計算機等級考試Python語言程序設(shè)計模擬考試(含答案)_第3頁
黑龍江省哈爾濱市全國計算機等級考試Python語言程序設(shè)計模擬考試(含答案)_第4頁
黑龍江省哈爾濱市全國計算機等級考試Python語言程序設(shè)計模擬考試(含答案)_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

黑龍江省哈爾濱市全國計算機等級考試Python語言程序設(shè)計模擬考試(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.正則非貪婪模式使用()符號設(shè)置

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

2.以下程序的輸出結(jié)果是()。try: print((3+4j)*(3-4j))except: print(“運算錯誤!!”)

A.(25+0j)B.5C.運算錯誤!!D.3

3.在Python中,不屬于組合數(shù)據(jù)類型的是()。

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

4.下面代碼的輸出結(jié)果是()。forxinrange(2,8):y=0y+=Xprint(y)

A.27B.7C.8D.35

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

6.以下關(guān)于Python程序語法元素的描述,正確的選項是()。

A.縮進格式要求程序?qū)R,增添了編程難度

B.Python變量名允許以數(shù)字開頭

C.true是Python的保留字

D.所有的if、while、def、class語句后面都要用’:’結(jié)尾

7.下面代碼中描述的是哪一種傳人參數(shù)的方法?()deff(a,b):ifa>b:print("l")elifa==b:pritn(”2”)else:print("3”)f(2,3)

A.可變參數(shù)B.關(guān)鍵字參數(shù)C.默認(rèn)值參數(shù)D.位置參數(shù)

8.下列選項中不屬于結(jié)構(gòu)化程序設(shè)計原則的是()。

A.可封裝B.自頂向下C.模塊化D.逐步求精

9.軟件設(shè)計中劃分模塊的一個準(zhǔn)則是()。

A.低內(nèi)聚、低耦合B.高內(nèi)聚、低耦合C.低內(nèi)聚、高耦合D.高內(nèi)聚、高耦合

10.Python提供3種基本的數(shù)字類型,它們是()。

A.整數(shù)類型、浮點數(shù)類型、復(fù)數(shù)類型

B.整數(shù)類型、二進制類型、浮點數(shù)類型

C.整數(shù)類型、二進制類型、布爾類型

D.整數(shù)類型、二進制類型、復(fù)數(shù)類型

11.在Python中,屬于網(wǎng)絡(luò)爬蟲領(lǐng)域的第三方庫是()。

A.wordcloudB.NumPyC.ScrapyD.PyQt5

12.有3個關(guān)系R、S、T如下:

則由關(guān)系R和S得到關(guān)系T的運算是()。

A.自然連接B.差C.交D.并

13.以下關(guān)于random庫的描述,錯誤的是()。

A.random庫是Python的第三方庫

B.通過fromrandomimport*可以引入random隨機庫

C.設(shè)定相同種子,每次調(diào)用隨機函數(shù)生成的隨機數(shù)相同

D.通過importrandom可以引入random隨機庫

14.下列敘述中正確的是()。

A.循環(huán)隊列有隊頭和隊尾兩個指針,因此,循環(huán)隊列是非線性結(jié)構(gòu)

B.在循環(huán)隊列中,只需要隊頭指針就能反映隊列中元素的動態(tài)變化情況

C.在循環(huán)隊列中,只需要隊尾指針就能反映隊列中元素的動態(tài)變化情況

D.循環(huán)隊列中元素的個數(shù)是由隊頭指針和隊尾指針共同決定

15.Python中文件的打開方式為't',對應(yīng)的文件打開模式為()。

A.只讀方式B.只寫方式C.文本文件模式D.二進制文件模式

16.使用一個還未賦予對象的變量錯誤提示是()

A.NameErrorB.KeyErrorC.SystemErrorD.ReferenceError

17.以下代碼的輸出結(jié)果是()。a=5.2b=2.5print(a//b)

A.2.08B.2.1C.2D.2.0

18.以下程序的輸出結(jié)果是()。>>>s=(3,)>>>type(s)A.<class‘diet’>

B.<class‘tuple’>

C.<class‘list’>

D.<class‘set’>

19.表達式3+5%6*2//8的值是()。

A.5B.4C.6D.7

20.以下程序被調(diào)用后,能夠正確執(zhí)行的是()。deff(x,y=1,z=2):pass

A.f(x=1,2)B.f(x=1,y=2,z=3)C.f(1,x=2,z=3)D.f(1,y=2,3)

21.下面程序的輸出結(jié)果是()。lisl=[1,2,['python1]]lis2=['loves']lisl[1]=lis2print(lisl)

A.[lis2,2,[‘python’]]

B.[1,['loves'],['python']]

C.[1,2,'python','loves']

D.[1,2,[‘python1,’loves’]]

22.以下關(guān)于Python中try語句的描述中,錯誤的是()。

A.try用來捕捉執(zhí)行代碼發(fā)生的異常,處理異常后能夠回到異常處繼續(xù)執(zhí)行

B.當(dāng)執(zhí)行try代碼塊觸發(fā)異常后,會執(zhí)行except后面的語句

C.一個try代碼塊可以對應(yīng)多個處理異常的except代碼塊

D.try代碼塊不觸發(fā)異常時,不會執(zhí)行except后面的語句

23.下面代碼的輸出結(jié)果是()。deffun(x,y,z):u=x+y—zprint(u)fun(1+2j,5,4一1j)

A.NameErrorB.(2+3j)C.2D.3j

24.如果定義班級關(guān)系如下:班級(班級號,總?cè)藬?shù),所屬學(xué)院,班級學(xué)生)則使它不滿足第一范式的屬性是()。

A.班級號B.班級學(xué)生C.總?cè)藬?shù)D.所屬學(xué)院

25.以下代碼的輸出結(jié)果是()。Is=[”2020”,”1903”,“Python”]Is.append(2050)Is.append([2020,"2020"])print(Is)

A.['2020','1903','Python',2020,[2050,'2020']]

B.['2020','1903','Python',2020]

C.['2020','1903','Python',2050,[2020,'2020']]

D.['2020','1903','Python',2050,['2020']]

26.下面關(guān)于局部變量和全局變量的描述,正確的是()。

A.全局變量不可以定義在函數(shù)中

B.全局變量在使用后立即被釋放

C.局部變量在使用后立即被釋放

D.局部變量不可以和全局變量的命名相同

27.''[0:4]該表達使用了Python的特性()

A.IndexingB.SlicingC.PathD.Multi-Indexing

28.以下關(guān)于Python循環(huán)結(jié)構(gòu)的描述中,錯誤的是()。

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

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

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

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

29.當(dāng)在命令行中以pythonmy.pyv1v2形式運行python腳本時,通過fromsysimportargv如何獲得v2的參數(shù)值?

A.argv[0]B.argv[1]C.argv[2]D.argv[3]

30.算法的空間復(fù)雜度是指()。

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

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

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

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

二、判斷題(10題)31.列表對象的append()方法屬于原地操作,用于在列表尾部追加一個元素。

A.是B.否

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

A.是B.否

33.在同一個作用域內(nèi),局部變量會隱藏同名的全局變量。

A.是B.否

34.集合可以作為字典的值。

A.是B.否

35.在Python3.x中語句print(*[1,2,3])不能正確執(zhí)行。

A.是B.否

36.在編寫多層循環(huán)時,為了提高運行效率,應(yīng)盡量減少內(nèi)循環(huán)中不必要的計算。

A.是B.否

37.加法運算符可以用來連接字符串并生成新字符串。

A.是B.否

38.在函數(shù)內(nèi)部沒有辦法定義全局變量。

A.是B.否

39.在函數(shù)內(nèi)部,既可以使用global來聲明使用外部全局變量,也可以使用global直接定義全局變量。A.是B.否

40.定義類時實現(xiàn)了__eq__()方法,該類對象即可支持運算符==。

A.是B.否

三、填空題(10題)41.已知x為非空列表,那么表達式x.reverse()==list(reversed(x))的值為__________。

42.表達式isinstance('abcdefg',object)的值為_____________。

43.表達式'abcabcabc'.count('abc')的值為_____________。

44.表達式16**0.5的值為__________。

45.在函數(shù)內(nèi)部可以通過關(guān)鍵字()來定義全局變量()。

46.已知列表x=[1.0,2.0,3.0],那么表達式sum(x)/len(x)的值為___________。

47.假設(shè)math標(biāo)準(zhǔn)庫已導(dǎo)入,那么表達式eval('math.sqrt(4)')的值為_________。

48.已知x=3,那么執(zhí)行語句x*=6之后,x的值為________________。

49.已知x=3,那么執(zhí)行語句x+=6之后,x的值為_______________。

50.表達式len(range(1,10))的值為___________。

四、操作題(3題)51.考生文件夾下存在一個文件“PY202.Py”,該文件是本題目的代碼提示框架,其中代碼可以任意修改,請在該文件中編寫代碼,以實現(xiàn)如下功能。用鍵盤輸入一組人員的姓名、性別、年齡等信息,信息間采用空格分隔,每個人的信息為一行,按鍵結(jié)束輸入。示例格式如下。張猛男35楊青女18汪海男26孫倩女22計算并輸出這組人員的平均年齡(保留1位小數(shù))和其中女性人數(shù),結(jié)果保存在考生文件夾下,命名為“PY202.txt”。格式如下。平均年齡是25.2女性人數(shù)是2試題程序:#以下代碼為提示框架#請在程序的...處使用一行或多行代碼替換#請在程序的_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fo=open("PY202.txt","w”)data=input("請輸入一組人員的姓名、性別、年齡:")#姓名性別年齡…whiledata:data=input("請輸入一組人員的姓名、性別、年齡:")…fo.write("平均年齡是{:.1f}女性人數(shù)是{}".format(_____))fo.close()

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

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

試題程序:

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

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

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

53.考生文件夾下存在一個Python源文件“PY301.Py”,請按照文件內(nèi)說明修改代碼,實現(xiàn)以下功能?!皊core,csv”文件中存儲的是一個學(xué)生在第一季度同一學(xué)科對應(yīng)的月考成績,求出每一門學(xué)科在3個月中的平均成績,將結(jié)果輸出在考生文件夾下,命名為“avg-score,txt”。參考如下格式。語文:90.67數(shù)學(xué):88.00英語:85.67物理:67.33科學(xué):81.00試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fi=open("score.csv","r")fo=open("avg-score.txt","w")Is=[]X=[]sum=0…fi.close()fo.close()

參考答案

1.D

2.A(3+4j)*(3-4j)是復(fù)數(shù)的乘法運算。設(shè)c1=a+bj,c2=c+dj(a、b、c、d均為實數(shù)),c1*c2=(ac-bd)+(bc+ad)j。結(jié)果是(25+0j)。本題選擇A選項。

3.APython中組合數(shù)據(jù)類型包括元組、列表、字典和集合等。本題選擇A選項。

4.B變量x依次被賦值為[2,8)區(qū)間的自然數(shù),在循環(huán)內(nèi)定義一變量y并賦值為0,即每次計算累加和之前y都被清零,所以結(jié)果為7。

5.B

6.D縮進格式要求程序?qū)R,清晰簡明地表示了語句的所屬關(guān)系;Python采用大寫字母、小寫字母、數(shù)字、下劃線和漢字等字符及其組合進行命名,但名字的首字符不能是數(shù)字,標(biāo)識符中間不能出現(xiàn)空格,長度沒有限制;Python的保留字是大小寫敏感的,true是保留字,但true不是保留字。

7.Df()函數(shù)中參數(shù)數(shù)量是固定的,所以A選項錯誤;傳入?yún)?shù)時并沒有指定形參a或b,所以B選項錯誤;函數(shù)并沒有自帶默認(rèn)值參數(shù),且使用函數(shù)時傳入了兩個實參,C選項錯誤。該函數(shù)的傳參方式采用默認(rèn)的傳參方式,即位置參數(shù)傳參。本題選擇D選項。

8.A結(jié)構(gòu)化程序設(shè)計的思想包括自頂向下、逐步求精、模塊化、限制使用goto語句,本題選擇A選項。

9.B一般較優(yōu)秀的軟件設(shè)計,應(yīng)盡量做到高內(nèi)聚、低耦合,即降低模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨立性。本題選擇B選項。

10.APython提供的3種基本的數(shù)字類型為整數(shù)類型、浮點數(shù)類型、復(fù)數(shù)類型,分別對應(yīng)數(shù)學(xué)中的整數(shù)、實數(shù)和復(fù)數(shù)。本題選擇A選項。

11.C屬于網(wǎng)絡(luò)爬蟲領(lǐng)域的第三方庫是Scrapy;NumPy庫是Python在數(shù)據(jù)分析方向的第三方庫;使用wordcloud可以方便地生成詞云圖,這是Python在數(shù)據(jù)可視化方向的第三方庫;PyQt5庫是Python在用戶圖形界面方向的第三方庫。本題選擇C選項。

12.B關(guān)系T中的元組是關(guān)系R中有而關(guān)系S中沒有的元組的集合,所以進行的是差運算。本題選擇B選項。

13.Arandom庫用于產(chǎn)生各種分布的偽隨機序列,是Python的標(biāo)準(zhǔn)庫,而不是Python的第三方庫,本題選擇A選項。

14.D\r\n所謂循環(huán)隊列,就是將隊列存儲空間的最后一個位置繞到第一個位置,形成邏輯上的環(huán)狀空間,供隊列循環(huán)使用。在循環(huán)隊列中,用隊尾指針rear指向隊列中的隊尾元素,用排頭指針front指向排頭元素的前一個位置,因此,從排頭指針front指向的后一個位置直到隊尾指針real指向的位置之間所有的元素均為隊列中的元素。求解隊列中元素個數(shù)的方法是:若front>rear,隊列中有n-front+rear個元素(其中n為循環(huán)隊列的容量);若front<rear,隊列中有real-front個元素;若front=rear,隊列中有n個或0個元素。循環(huán)隊列是線性結(jié)構(gòu)。因此本題的正確答案是D。

15.C在Python中,文件的打開方式對應(yīng)為:’r’:只讀方式;’w’:只寫方式;’t’:文本文件模式;,b’:二進制文件模式。

16.A

17.D“//”返回兩個數(shù)的整數(shù)商,且返回的類型滿足以下關(guān)系:①整數(shù)和浮點數(shù)混合運算,輸出結(jié)果是浮點數(shù);②整數(shù)之間運算,結(jié)果為整數(shù)。因此,5.2//2.5=2.0。

18.B變量s是元組類型,type()返回的是表達式的值的類型。本題選擇B選項。

19.B根據(jù)運算符的優(yōu)先級,運算順序為:5%6=5,5*2=10,10//8=1,3+1=4。故答案為B項。

20.B函數(shù)的參數(shù)在定義時可以指定默認(rèn)值,當(dāng)函數(shù)被調(diào)用時,如果沒有傳人對應(yīng)的參數(shù)值,則使用函數(shù)定義時的默認(rèn)值替代。本題在定義函數(shù)時,y=1,z=2就是指定的默認(rèn)值。在Python中,函數(shù)調(diào)用時,參數(shù)傳遞的主要方式有位置傳遞和關(guān)鍵字傳遞兩種。位置傳遞是根據(jù)函數(shù)定義的參數(shù)位置來傳遞參數(shù);關(guān)鍵字傳遞是根據(jù)每個參數(shù)的名字傳遞參數(shù),該方式不用區(qū)分參數(shù)順序位置,名字對了就行。關(guān)鍵字傳遞可以和位置傳遞混用,但混用時位置參數(shù)要出現(xiàn)在關(guān)鍵字參數(shù)之前。A項,第一個參數(shù)為關(guān)鍵字傳遞,第二個參數(shù)為位置傳遞,混用順序不對;D項,第二個參數(shù)為關(guān)鍵字傳遞,第三個參數(shù)為位置傳遞,混用順序不對;C項,第一個參數(shù)已經(jīng)使用位置傳遞(將1傳遞給x),第二個參數(shù)又使用關(guān)鍵字傳遞將2傳遞給x,會出現(xiàn)異常報錯。故答案為B項。

21.B列表索引從0開始,lisl[l]=lis2是將列表lis2賦值并覆蓋lisl[l]位置上的元素,運算后lisl=[1,[\nloves'],[’python']]。本題選擇B選項。

22.APython使用保留字try和except進行異常處理,基本的語法如下。try:\t<語句塊1>except:\t<語句塊2>“語句塊1”是正常執(zhí)行的程序內(nèi)容,當(dāng)執(zhí)行這個語句塊發(fā)生異常時,則執(zhí)行except保留字后面的“語句塊2”。一個try代碼塊可以對應(yīng)多個處理異常的except代碼塊。本題選擇A選項。

23.Bfun()函數(shù)進行加減計算,輸入為復(fù)數(shù),按復(fù)數(shù)加減運算法則計算結(jié)果為(2+3j)。

24.B對于關(guān)系模式,若其中的每個屬性都已不能再分為簡單項,則它屬于第一范式模式。題目中“班級”關(guān)系的“班級學(xué)生”屬性,還可以進行再分,如學(xué)號、姓名、性別、出生日期等,因此不滿足第一范式。本題選擇B選項。

25.C要向列表中添加元素,可以使用append()方法,添加的元素類型可以不同,可以是數(shù)字、字符串、列表等,要注意的是append()方法不能同時添加多個元素。本題選擇C選項。

26.C根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量指在函數(shù)內(nèi)部定義的變量,僅在函數(shù)內(nèi)部有效,且作用域也在函數(shù)內(nèi)部,當(dāng)函數(shù)退出時變量將不再存在。全局變量一般指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效。全局變量在函數(shù)內(nèi)部使用時,需要提前使用保留字global聲明,語法形式:global<全局變量>。使用global對全局變量聲明時,該變量要與外部全局變量同名。本題選擇C選項。

27.B

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

29.C

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

31.Y

32.Y

33.Y

34.Y

35.N

36.Y

37.Y

38.N

39.Y

40.Y

41.False

42.True

43.3

44.4

45.global

46.2.0

47.2.0

48.18

49.9

50.9

51.fo=open(“PY202.txt","w”)data=input(“請輸入一組人員的姓名、性別、年齡:”)#姓名性別年齡women_num=0age_amount=0person_num=0whiledataName,sex,age=data.split(‘’)Ifsex==’女’Women_num+1Age_amount+=int(age)Person_num+=1Data=input()data=input(”請輸入一組人員的姓名、性別、年齡:")Average_age=sge_amount/person_numFo.write(“平均年齡是{:.if}女性人數(shù)是{}“.foumat(average_age,women_num))fo.close()由題目可知,首先需要定義3個變量分別用來統(tǒng)計女性人數(shù)、年齡總和以及總?cè)藬?shù)。本題要求每個人的信息采用空格分隔,即需要用字符串分隔函數(shù)split()進行分隔,該函數(shù)返回的是一個列表

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論