河北省邯鄲市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)_第1頁
河北省邯鄲市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)_第2頁
河北省邯鄲市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)_第3頁
河北省邯鄲市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)_第4頁
河北省邯鄲市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

河北省邯鄲市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.下面哪個語句能夠讓列表中的名字按行輸出?names=[‘Dick’,‘Nancy’,‘Roger’]A.print("\n".join(names))

B.print(names.join("\n"))

C.print(names.append("\n"))

D.print(names.join("%s\n",names))

2.執(zhí)行以下代碼的結(jié)果是()A.12B.24C.36D.48

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

A.鏈表可以是線性結(jié)構(gòu)也可以是非線性結(jié)構(gòu)

B.鏈表只能是非線性結(jié)構(gòu)

C.快速排序也適用于線性鏈表

D.二分法查找也適用于有序鏈表

4.以下程序的輸出結(jié)果是()。ls=[]formin‘想念’:fornin‘家人’:ls.append(m+n)print(ls)A.想念家人B.想想念念家家人人C.想家想人念家念人D.[‘想家’,‘想人’,‘念家’,‘念人’]

5.下面代碼的輸出結(jié)果是()。x=10whilex:x一=1ifx%2:print(x,end=”)else:pass

A.86420B.975311C.97531D.864200

6.生成一個[1,99]的隨機(jī)整數(shù)的函數(shù)是()。

A.random.randint(1,100)

B.random,randint(0,99)

C.random.randint(1,99)

D.random,uniform.(1,99)

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

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

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

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

B.seth(x)是setheading(x)函數(shù)的別名,其作用是讓畫筆旋轉(zhuǎn)x角度

C.可以用importturtle來導(dǎo)入turtle庫函數(shù)

D.home()函數(shù)用于設(shè)置當(dāng)前畫筆位置為原點(diǎn),方向朝上

9.第三方庫BeautifulSoup4的功能是()。

A.解析和處理HTML和XMLB.支持Web應(yīng)用程序框架C.支持WebServices框架D.處理HTTP請求

10.生成一個[1,99]之間隨機(jī)整數(shù)的函數(shù)是()。

A.random.randint(1,100)

B.random.randint(0,99)

C.random.randint(1,99)

D.random.uniform(1,99)

11.以下關(guān)于函數(shù)優(yōu)點(diǎn)的描述中,正確的是()。

A.函數(shù)可以表現(xiàn)程序的復(fù)雜度B.函數(shù)可以使程序更加模塊化C.函數(shù)可以減少代碼多次使用D.函數(shù)便于書寫

12.以下關(guān)于函數(shù)的定義與編寫的描述,錯誤的是()。

A.函數(shù)是代碼復(fù)用的一種方式

B.在Python中,使用關(guān)鍵字define定義函數(shù)

C.定義函數(shù)時,即使函數(shù)不需要接收任何參數(shù),也必須保留空的圓括號來表示這是一個函數(shù)

D.編寫函數(shù)時,一般建議先對參數(shù)進(jìn)行合法性檢查,然后再進(jìn)行編寫

13.下面關(guān)于遞歸函數(shù)的描述中,錯誤的是()。

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

B.遞歸函數(shù)就是一個函數(shù)在內(nèi)部調(diào)用自身

C.遞歸效率不高,遞歸層次過多會導(dǎo)致棧溢出

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

14.以下關(guān)于Python函數(shù)的描述中,錯誤的是()。

A.函數(shù)代碼是可以重復(fù)使用的

B.每次使用函數(shù)需要提供相同的參數(shù)作為輸入

C.函數(shù)通過函數(shù)名進(jìn)行調(diào)用

D.函數(shù)是一段具有特定功能的語句組

15.下列關(guān)于Python運(yùn)算符的使用描述正確的是()。

A.a=!b,比較a與b是否不相等

B.a=+b,等同于a=a+b

C.a==b,比較a與b是否相等

D.a//=b,等同于a=a/b

16.以下程序的輸出結(jié)果是()。t=”theWorldisSObig.Iwanttosee”S=t[20:21]+’love’+t[:9]print(S)

A.Ilovethe

B.IloveWodd

C.IlovetheWorld

D.IlovetheWod

17.在Python3下輸入100000000L,會得到()

A.100000000LB.100000000C.SyntaxError:invalidsyntaxD.1e8

18.以下選項(xiàng)中不是Python文件目錄操作方法的是()。

A.split()B.rename()C.getcwd()D.rmdir()

19.以下關(guān)于數(shù)據(jù)維度的描述,錯誤的是()。

A.—維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織,對應(yīng)于數(shù)學(xué)中的集合或數(shù)組的概念

B.二維數(shù)據(jù)由關(guān)聯(lián)關(guān)系構(gòu)成,采用表格方式組織,對應(yīng)于數(shù)學(xué)中的矩陣

C.高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)組成,采用對象方式組織

D.—維數(shù)據(jù)由對等關(guān)系的有序數(shù)據(jù)構(gòu)成,無序數(shù)據(jù)不是一維數(shù)據(jù)

20.下面的d是一個字典變量,能夠輸出數(shù)字2的語句是()。d={‘food’:{‘cake’:1,‘egg’:5},’‘cake’:2,‘egg’:3}

A.print(d[‘food’][‘egg’])

B.print(d[‘cake’])

C.print(d[‘food’][-1])

D.print(d[‘cake’][1])

21.執(zhí)行以下代碼的結(jié)果是()A.4B.5C.8D.12

22.ls=[2,”apple”,[42,”yellow”,”misd”],1.2],表達(dá)式ls[2][一1][2]的結(jié)果是()。

A.mB.iC.sD.d

23.下列關(guān)于Python中復(fù)數(shù)類型的描述錯誤的是()。

A.復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成

B.復(fù)數(shù)可以看作二元有序?qū)崝?shù)對(a,b)

C.虛數(shù)部分必須有后綴j,且為小寫

D.復(fù)數(shù)中的虛數(shù)部分不能單獨(dú)存在,必須有實(shí)數(shù)部分

24.以下關(guān)于Python分支的描述中,錯誤的是()。

A.Python分支結(jié)構(gòu)使用保留字if、elif及else來實(shí)現(xiàn),每個if后面必須有elif或else

B.if-elSe結(jié)構(gòu)是可以嵌套的

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

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

25.關(guān)于以下代碼的描述中,正確的是()。defrune(a,b):c=a**2+bb=areturnca=10b=2c=func(b,a)+a

A.執(zhí)行該函數(shù)后,變量c的值為112

B.該函數(shù)名稱為fun

C.執(zhí)行該函數(shù)后,變量b的值為2

D.執(zhí)行該函數(shù)后,變量b的值為10

26.數(shù)據(jù)庫設(shè)計(jì)中反映用戶對數(shù)據(jù)要求的模式是()。

A.內(nèi)模式B.概念模式C.外模式D.設(shè)計(jì)模式

27.以下代碼的輸出結(jié)果是()。deffibRate(n):ifn<=0:return—1elifn==1:retum—1elifn==2:return1else:L=[1,5]foriinrange(2,n):L.a(chǎn)ppend(L[一1]+L[一2])returnL[一2]%L[一1]print(fibRate(7))

A.0.6B.28C.一1D.1

28.以下關(guān)于文件讀/寫的描述中,錯誤的是()。

A.對文件進(jìn)行讀/寫操作之后必須關(guān)閉文件以確保所有內(nèi)容都得到保存

B.以寫模式打開的文件無法進(jìn)行讀操作

C.文件對象的seek()方法用來返回文件指針的當(dāng)前位置

D.文件對象的readline()方法用來讀取一行字符串

29.以下不是Python語言關(guān)鍵字的選項(xiàng)是()。

A.classB.defC.defineD.elif

30.屬于Python讀取文件一行操作的是()。

A.readtextB.readlineC.readallD.read

二、判斷題(10題)31.正則表達(dá)式元字符“^”一般用來表示從字符串開始處進(jìn)行匹配,用在一對方括號中的時候則表示反向匹配,不匹配方括號中的字符。

A.是B.否

32.相同內(nèi)容的字符串使用不同的編碼格式進(jìn)行編碼得到的結(jié)果并不完全相同。

A.是B.否

33.同一個列表對象中所有元素必須為相同類型。A.是B.否

34.在調(diào)用函數(shù)時,可以通過關(guān)鍵參數(shù)的形式進(jìn)行傳值,從而避免必須記住函數(shù)形參順序的麻煩。

A.是B.否

35.lambda表達(dá)式中可以使用任意復(fù)雜的表達(dá)式,但是必須只編寫一個表達(dá)式。

A.是B.否

36.在Python中可以使用id作為變量名,但是不建議這樣做。

A.是B.否

37.Python標(biāo)準(zhǔn)庫os中的方法listdir()返回包含指定路徑中所有文件和文件夾名稱的列表。

A.是B.否

38.已知x為非空列表,那么執(zhí)行語句x[0]=3之后,列表對象x的內(nèi)存地址不變。

A.是B.否

39.Python變量名區(qū)分大小寫,所以student和Student不是同一個變量。

A.是B.否

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

A.是B.否

三、填空題(10題)41.表達(dá)式[str(i)foriinrange(3)]的值為____________。

42.達(dá)式sorted([111,2,33],key=lambdax:-len(str(x)))的值為____________。

43.list(map(str,[1,2,3]))的執(zhí)行結(jié)果為_____________________。

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

45.以3為實(shí)部4為虛部,Python復(fù)數(shù)的表達(dá)形式為___________或________。

46.轉(zhuǎn)義字符’\n’的含義是___________________。

47.已知x=[[1,3,3],[2,3,1]],那么表達(dá)式sorted(x,key=lambdaitem:item[0]+item[2])的值為______________________________________。

48.已知x=[3,5,7],那么表達(dá)式x[10:]的值為____________。

49.表達(dá)式'%d,%c'%(65,65)的值為________。

50.列表、元組、字符串是Python的_________(有序?無序)序列。

四、操作題(3題)51.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能:隨機(jī)選擇一個手機(jī)品牌屏幕輸出。

試題程序:

#請?jiān)诔绦虻摹幨褂靡恍谢蚨嘈写a替換

#請?jiān)诔绦虻腳_____處使用一行代碼替換#注意:請不要修改其他已給出代碼

import________brandlist=[’三星’,’蘋果’,’vivo’,’OPPO’,’魅族’]random.seed(0)

……

print(name)

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

試題程序:

#請?jiān)赺____處使用一行代碼或表達(dá)式替換

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

ifcount%2==0:

print(count,end=”,”)

53.考生文件夾下存在一個文件“PY103.py”,請寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。用鍵盤輸入十進(jìn)制整數(shù),按要求將這個整數(shù)轉(zhuǎn)換為二進(jìn)制、八進(jìn)制及十六進(jìn)制(大寫)并輸出到屏幕。例如:輸入數(shù)字:425對應(yīng)的二進(jìn)制數(shù):110101001對應(yīng)的八進(jìn)制數(shù):651對應(yīng)的十六進(jìn)制數(shù):1A9試題程序:#請?jiān)赺____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼num=eval(input("輸入數(shù)字:"))print("對應(yīng)的二進(jìn)制數(shù):{_____(1)_____}\n八進(jìn)制數(shù):{_____(2)_____}\n十六進(jìn)制數(shù):{_____(3)_____}".format(num))試題答案:num=eval(input("輸入數(shù)字:”))Print(”對應(yīng)的二進(jìn)制數(shù):{0:b}\n八進(jìn)制數(shù):{0:o}\n十六進(jìn)制數(shù):{0:x}”.format(num))

參考答案

1.A

2.B

3.A線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)稱為線性鏈表,線性鏈表可以是線性結(jié)構(gòu)也可以是非線性結(jié)構(gòu)。快速排序和二分法查找適用于順序存儲的線性表。本題選擇A選項(xiàng)。

4.D外層for第一次循環(huán)將字符‘想’賦給變量m,m=‘想’,內(nèi)層for第一次循環(huán)將‘家’賦給變量n,m+n連接字符,利用列表的append()方法將連接后的字符‘想家’加入列表ls中;內(nèi)層for第二次循環(huán)將‘人’賦給變量n,m+n連接字符,利用列表的append()方法將連接后的字符‘想人’加入列表ls中。外層for第二次循環(huán)將字符‘念’賦給變量m,m=‘念’,內(nèi)層for第一次循環(huán)將‘家’賦給變量n,m+n連接字符,利用列表的append()方法將連接后的字符‘念家’加入列表ls中;內(nèi)層for第二次循環(huán)將‘人’賦給變量n,m+n連接字符,利用列表的append()方法將連接后的字符‘念人’加入列表ls中。最后列表ls=[‘想家’,‘想人’,‘念家’,‘念人’],print(ls)輸出ls。本題選擇D選項(xiàng)。

5.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)過一系列的運(yùn)算,輸出結(jié)果為:97531。

6.Crandom.randint(a,b)隨機(jī)生成[a,b](包括a、b)的整數(shù);random.uniform(a,b)隨機(jī)生成[a,b)(包括a,不包括b)的實(shí)數(shù)。本題選擇C選項(xiàng)。

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

8.Dturtle庫的home()函數(shù)用于設(shè)置當(dāng)前畫筆位置為原點(diǎn),朝向東。本題選擇D選項(xiàng)。

9.ABeautifulSoup4用于解析和處理HTML和XML。它的最大優(yōu)點(diǎn)是能根據(jù)HTML和XML語法建立解析樹,進(jìn)而高效解析其中的內(nèi)容。本題選擇A選項(xiàng)。

10.Crandom.randint(a,b)隨機(jī)生成[a,b](包括a、b)之間的整數(shù);random.uniform(a,b)隨機(jī)生成[a,b](包括a,不包括b)之間的實(shí)數(shù)。故答案為C項(xiàng)。

11.B函數(shù)定義:函數(shù)是指一組語句的集合通過一個名字(函數(shù)名)封裝起來,要想執(zhí)行這個函數(shù),只需要調(diào)用其函數(shù)名即可。函數(shù)能提高應(yīng)用的模塊性和代碼的重復(fù)利用率。本題選B選項(xiàng)。

12.B在Python中,使用關(guān)鍵字def定義函數(shù)。本題選擇B選項(xiàng)。

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

14.B函數(shù)是一段具有特定功能的、可重用的語句組,通過函數(shù)名來表示和調(diào)用。經(jīng)過定義,一組語句等價于一個函數(shù),在需要使用這組語句的地方,直接調(diào)用函數(shù)名稱即可。采用參數(shù)名稱傳遞方式不需要保持參數(shù)傳遞的順序,參數(shù)之間的順序可以任意調(diào)整,只需要對每個必要參數(shù)賦予實(shí)際值即可,每次使用函數(shù)不需要提供相同的參數(shù)作為輸入。

15.C比較a與b是否不相等的運(yùn)算符是!=;a+=b等同于a=a+b;a//=b等同于a=a//b。

16.C字符串的索引序號從0開始,t[20:21]是指字符串中序號是20的元素I,t[:9]是從序號0到8元素,用“+”連接字符串,最后輸出IlovetheWorld。本題選擇C選項(xiàng)。

17.C

18.Arename():給文件重命名;getcwd():得到當(dāng)前工作目錄,即當(dāng)前Python腳本工作的目錄路徑;rmdir():刪除目錄。split():按給出的分隔符分隔字符串,返回的是列表類型。

19.D任何可以以序列或集合表示的內(nèi)容都可以看作一維數(shù)據(jù)。本題選擇D選項(xiàng)。

20.B在Python中,字典是存儲可變數(shù)量鍵值對的數(shù)據(jù)結(jié)構(gòu),鍵和值可以是任意數(shù)據(jù)類型,通過鍵索引值,并可以通過鍵修改值。因此,可以直接利用鍵值對關(guān)系索引元素。索引模式:<值>=<字典變量>[<鍵>]。故能夠正確索引字典并輸出數(shù)字2的語句是print(d[‘cake’])。本題選擇B選項(xiàng)。

21.B

22.C列表索引正向遞增索引從0開始,反向遞減索引從一1開始,ls[2][一1][2]指的是列表中下標(biāo)為2的元素下的下標(biāo)為一1元素下的下標(biāo)為2的元素,輸出結(jié)果是s。本題選擇C選項(xiàng)。

23.CPython中復(fù)數(shù)類型的虛數(shù)部分的后綴可以為j或者J;復(fù)數(shù)的實(shí)部可以單獨(dú)存在,但是虛部不可以單獨(dú)存在;復(fù)數(shù)由實(shí)部和虛部構(gòu)成,可以使用z.\nreal和z.imag分別獲得它的實(shí)部和虛部。本題選擇C選項(xiàng)。

24.APython分支結(jié)構(gòu)使用關(guān)鍵字if、elif及else來實(shí)現(xiàn),每個if后面不一定要有elif或else,A項(xiàng)錯誤;if-else結(jié)構(gòu)是可以嵌套的,B項(xiàng)正確;if語句會判斷if后面的邏輯表達(dá)式,當(dāng)表達(dá)式為真時,執(zhí)行if后的語句塊,C項(xiàng)正確;縮進(jìn)是Python分支語句的語法部分,縮進(jìn)不正確會影響分支功能,D選項(xiàng)正確。本題選擇A選項(xiàng)。

25.C程序中,將實(shí)參b的值傳給形參a,將實(shí)參a的值傳給形參b,則在函數(shù)體中c=2**2+10=14,函數(shù)返回14,則實(shí)參c=14+10=24;形參a和b在函數(shù)結(jié)束后會自動釋放,并沒有影響到實(shí)參a和b的值,故實(shí)參a仍然是10,實(shí)參b仍然是2。

26.C數(shù)據(jù)庫系統(tǒng)的三級模式是概念模式、外模式和內(nèi)模式。概念模式是數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶公共數(shù)據(jù)視圖。外模式也稱子模式或用戶模式,它是用戶的數(shù)據(jù)視圖,給出了每個用戶的局部數(shù)據(jù)描述,所以選擇C。內(nèi)模式又稱物理模式,它給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法。

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

28.C文件對象的seek()方法用來定位文件的讀/寫位置,tell()方法用來返回文件指針的當(dāng)前位置。本題選擇C選項(xiàng)。

29.C保留字,也稱關(guān)鍵字,是指被編程語言內(nèi)部定義并保留使用的標(biāo)識符。Python3.x版本中有35個保留字,分別為:and,as,assert,async,await,break,class,continue,def,del,elif,else,excep!,F(xiàn)alse,finally,for,from,global,if,import,in,is,lambda,None,nonlocal,not,or.pass,raise,return,True,try,while,with,yield。define不是Python語言關(guān)鍵字。本題選擇C選項(xiàng)。

30.B在Python語言中,文件讀取方法有(設(shè)f代表文件變量):\nf.read():從文件中讀入整個文件內(nèi)容。\nf.readline():從文件中讀入一行內(nèi)容。\nf.readlines():從文件中讀人所有行,以每行為元素形成一個列表。\nf.seek():改變當(dāng)前文件操作指針的位置。本題選B選項(xiàng)。

31.Y

32.Y

33.N

34.Y

35.Y

36.Y

37.Y

38.Y

39.Y

40.Y

41.['0','1','2']

42.[111,33,2]

43.[‘1’,‘2’,‘3’]

44.True

45.3+4j、3+4J

46.回車換行

47.[[2,3,1],[1,3,3]]

48.[]

49.'65,A'

50.有序

51.importrandom\r\nbrandlist=[’三星’,’蘋果’,’vivo’,’OPPO’,’魅族’]\r\nrandom.seed(0)\r\nname=brandlist[random.randint(0,4)]

print(name)題目要求隨機(jī)輸出列表中的一個手機(jī)名稱,“隨機(jī)”需要用到Python的標(biāo)準(zhǔn)庫random,random.seed(0)的作用是設(shè)置初始化隨機(jī)數(shù)種子,設(shè)置種子的好處就是可以重復(fù)再現(xiàn)相同的隨機(jī)數(shù)序列。輸出列表中的元素可以使用索引的方法,分析代碼可知,列表中共有5個元素,所以元素的序號由0到4,需要用到random庫的randint()方法。random.randint(a,b)的作用是產(chǎn)生一個[a,b]之間的隨機(jī)整數(shù)。

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

53.num=eval(input("輸入數(shù)字:”))Print(”對應(yīng)的二進(jìn)制數(shù):{0:b}\\n八進(jìn)制數(shù):{0:o}\\n十六進(jìn)制數(shù):{0:x}”.format(num))考查format()方法的使用。格式控制標(biāo)記可以使用變量來表示,即用槽來指定對應(yīng)的控制標(biāo)記及數(shù)量,模板字符串在本題中總共有3個槽,即參數(shù)變量需要3個,但此時的參數(shù)只有一個,這里需要指定對應(yīng)的變量。<類型\r\n>\r\n表示輸出整數(shù)和浮點(diǎn)數(shù)類型的格式規(guī)則。b表示二進(jìn)制;o表示八進(jìn)制;大寫的X表示大寫的十六進(jìn)制。因此第1空填入o:b,第2空填入0:o,第3空填入0:X。河北省邯鄲市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.下面哪個語句能夠讓列表中的名字按行輸出?names=[‘Dick’,‘Nancy’,‘Roger’]A.print("\n".join(names))

B.print(names.join("\n"))

C.print(names.append("\n"))

D.print(names.join("%s\n",names))

2.執(zhí)行以下代碼的結(jié)果是()A.12B.24C.36D.48

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

A.鏈表可以是線性結(jié)構(gòu)也可以是非線性結(jié)構(gòu)

B.鏈表只能是非線性結(jié)構(gòu)

C.快速排序也適用于線性鏈表

D.二分法查找也適用于有序鏈表

4.以下程序的輸出結(jié)果是()。ls=[]formin‘想念’:fornin‘家人’:ls.append(m+n)print(ls)A.想念家人B.想想念念家家人人C.想家想人念家念人D.[‘想家’,‘想人’,‘念家’,‘念人’]

5.下面代碼的輸出結(jié)果是()。x=10whilex:x一=1ifx%2:print(x,end=”)else:pass

A.86420B.975311C.97531D.864200

6.生成一個[1,99]的隨機(jī)整數(shù)的函數(shù)是()。

A.random.randint(1,100)

B.random,randint(0,99)

C.random.randint(1,99)

D.random,uniform.(1,99)

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

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

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

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

B.seth(x)是setheading(x)函數(shù)的別名,其作用是讓畫筆旋轉(zhuǎn)x角度

C.可以用importturtle來導(dǎo)入turtle庫函數(shù)

D.home()函數(shù)用于設(shè)置當(dāng)前畫筆位置為原點(diǎn),方向朝上

9.第三方庫BeautifulSoup4的功能是()。

A.解析和處理HTML和XMLB.支持Web應(yīng)用程序框架C.支持WebServices框架D.處理HTTP請求

10.生成一個[1,99]之間隨機(jī)整數(shù)的函數(shù)是()。

A.random.randint(1,100)

B.random.randint(0,99)

C.random.randint(1,99)

D.random.uniform(1,99)

11.以下關(guān)于函數(shù)優(yōu)點(diǎn)的描述中,正確的是()。

A.函數(shù)可以表現(xiàn)程序的復(fù)雜度B.函數(shù)可以使程序更加模塊化C.函數(shù)可以減少代碼多次使用D.函數(shù)便于書寫

12.以下關(guān)于函數(shù)的定義與編寫的描述,錯誤的是()。

A.函數(shù)是代碼復(fù)用的一種方式

B.在Python中,使用關(guān)鍵字define定義函數(shù)

C.定義函數(shù)時,即使函數(shù)不需要接收任何參數(shù),也必須保留空的圓括號來表示這是一個函數(shù)

D.編寫函數(shù)時,一般建議先對參數(shù)進(jìn)行合法性檢查,然后再進(jìn)行編寫

13.下面關(guān)于遞歸函數(shù)的描述中,錯誤的是()。

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

B.遞歸函數(shù)就是一個函數(shù)在內(nèi)部調(diào)用自身

C.遞歸效率不高,遞歸層次過多會導(dǎo)致棧溢出

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

14.以下關(guān)于Python函數(shù)的描述中,錯誤的是()。

A.函數(shù)代碼是可以重復(fù)使用的

B.每次使用函數(shù)需要提供相同的參數(shù)作為輸入

C.函數(shù)通過函數(shù)名進(jìn)行調(diào)用

D.函數(shù)是一段具有特定功能的語句組

15.下列關(guān)于Python運(yùn)算符的使用描述正確的是()。

A.a=!b,比較a與b是否不相等

B.a=+b,等同于a=a+b

C.a==b,比較a與b是否相等

D.a//=b,等同于a=a/b

16.以下程序的輸出結(jié)果是()。t=”theWorldisSObig.Iwanttosee”S=t[20:21]+’love’+t[:9]print(S)

A.Ilovethe

B.IloveWodd

C.IlovetheWorld

D.IlovetheWod

17.在Python3下輸入100000000L,會得到()

A.100000000LB.100000000C.SyntaxError:invalidsyntaxD.1e8

18.以下選項(xiàng)中不是Python文件目錄操作方法的是()。

A.split()B.rename()C.getcwd()D.rmdir()

19.以下關(guān)于數(shù)據(jù)維度的描述,錯誤的是()。

A.—維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織,對應(yīng)于數(shù)學(xué)中的集合或數(shù)組的概念

B.二維數(shù)據(jù)由關(guān)聯(lián)關(guān)系構(gòu)成,采用表格方式組織,對應(yīng)于數(shù)學(xué)中的矩陣

C.高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)組成,采用對象方式組織

D.—維數(shù)據(jù)由對等關(guān)系的有序數(shù)據(jù)構(gòu)成,無序數(shù)據(jù)不是一維數(shù)據(jù)

20.下面的d是一個字典變量,能夠輸出數(shù)字2的語句是()。d={‘food’:{‘cake’:1,‘egg’:5},’‘cake’:2,‘egg’:3}

A.print(d[‘food’][‘egg’])

B.print(d[‘cake’])

C.print(d[‘food’][-1])

D.print(d[‘cake’][1])

21.執(zhí)行以下代碼的結(jié)果是()A.4B.5C.8D.12

22.ls=[2,”apple”,[42,”yellow”,”misd”],1.2],表達(dá)式ls[2][一1][2]的結(jié)果是()。

A.mB.iC.sD.d

23.下列關(guān)于Python中復(fù)數(shù)類型的描述錯誤的是()。

A.復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成

B.復(fù)數(shù)可以看作二元有序?qū)崝?shù)對(a,b)

C.虛數(shù)部分必須有后綴j,且為小寫

D.復(fù)數(shù)中的虛數(shù)部分不能單獨(dú)存在,必須有實(shí)數(shù)部分

24.以下關(guān)于Python分支的描述中,錯誤的是()。

A.Python分支結(jié)構(gòu)使用保留字if、elif及else來實(shí)現(xiàn),每個if后面必須有elif或else

B.if-elSe結(jié)構(gòu)是可以嵌套的

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

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

25.關(guān)于以下代碼的描述中,正確的是()。defrune(a,b):c=a**2+bb=areturnca=10b=2c=func(b,a)+a

A.執(zhí)行該函數(shù)后,變量c的值為112

B.該函數(shù)名稱為fun

C.執(zhí)行該函數(shù)后,變量b的值為2

D.執(zhí)行該函數(shù)后,變量b的值為10

26.數(shù)據(jù)庫設(shè)計(jì)中反映用戶對數(shù)據(jù)要求的模式是()。

A.內(nèi)模式B.概念模式C.外模式D.設(shè)計(jì)模式

27.以下代碼的輸出結(jié)果是()。deffibRate(n):ifn<=0:return—1elifn==1:retum—1elifn==2:return1else:L=[1,5]foriinrange(2,n):L.a(chǎn)ppend(L[一1]+L[一2])returnL[一2]%L[一1]print(fibRate(7))

A.0.6B.28C.一1D.1

28.以下關(guān)于文件讀/寫的描述中,錯誤的是()。

A.對文件進(jìn)行讀/寫操作之后必須關(guān)閉文件以確保所有內(nèi)容都得到保存

B.以寫模式打開的文件無法進(jìn)行讀操作

C.文件對象的seek()方法用來返回文件指針的當(dāng)前位置

D.文件對象的readline()方法用來讀取一行字符串

29.以下不是Python語言關(guān)鍵字的選項(xiàng)是()。

A.classB.defC.defineD.elif

30.屬于Python讀取文件一行操作的是()。

A.readtextB.readlineC.readallD.read

二、判斷題(10題)31.正則表達(dá)式元字符“^”一般用來表示從字符串開始處進(jìn)行匹配,用在一對方括號中的時候則表示反向匹配,不匹配方括號中的字符。

A.是B.否

32.相同內(nèi)容的字符串使用不同的編碼格式進(jìn)行編碼得到的結(jié)果并不完全相同。

A.是B.否

33.同一個列表對象中所有元素必須為相同類型。A.是B.否

34.在調(diào)用函數(shù)時,可以通過關(guān)鍵參數(shù)的形式進(jìn)行傳值,從而避免必須記住函數(shù)形參順序的麻煩。

A.是B.否

35.lambda表達(dá)式中可以使用任意復(fù)雜的表達(dá)式,但是必須只編寫一個表達(dá)式。

A.是B.否

36.在Python中可以使用id作為變量名,但是不建議這樣做。

A.是B.否

37.Python標(biāo)準(zhǔn)庫os中的方法listdir()返回包含指定路徑中所有文件和文件夾名稱的列表。

A.是B.否

38.已知x為非空列表,那么執(zhí)行語句x[0]=3之后,列表對象x的內(nèi)存地址不變。

A.是B.否

39.Python變量名區(qū)分大小寫,所以student和Student不是同一個變量。

A.是B.否

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

A.是B.否

三、填空題(10題)41.表達(dá)式[str(i)foriinrange(3)]的值為____________。

42.達(dá)式sorted([111,2,33],key=lambdax:-len(str(x)))的值為____________。

43.list(map(str,[1,2,3]))的執(zhí)行結(jié)果為_____________________。

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

45.以3為實(shí)部4為虛部,Python復(fù)數(shù)的表達(dá)形式為___________或________。

46.轉(zhuǎn)義字符’\n’的含義是___________________。

47.已知x=[[1,3,3],[2,3,1]],那么表達(dá)式sorted(x,key=lambdaitem:item[0]+item[2])的值為______________________________________。

48.已知x=[3,5,7],那么表達(dá)式x[10:]的值為____________。

49.表達(dá)式'%d,%c'%(65,65)的值為________。

50.列表、元組、字符串是Python的_________(有序?無序)序列。

四、操作題(3題)51.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能:隨機(jī)選擇一個手機(jī)品牌屏幕輸出。

試題程序:

#請?jiān)诔绦虻摹幨褂靡恍谢蚨嘈写a替換

#請?jiān)诔绦虻腳_____處使用一行代碼替換#注意:請不要修改其他已給出代碼

import________brandlist=[’三星’,’蘋果’,’vivo’,’OPPO’,’魅族’]random.seed(0)

……

print(name)

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

試題程序:

#請?jiān)赺____處使用一行代碼或表達(dá)式替換

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

ifcount%2==0:

print(count,end=”,”)

53.考生文件夾下存在一個文件“PY103.py”,請寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。用鍵盤輸入十進(jìn)制整數(shù),按要求將這個整數(shù)轉(zhuǎn)換為二進(jìn)制、八進(jìn)制及十六進(jìn)制(大寫)并輸出到屏幕。例如:輸入數(shù)字:425對應(yīng)的二進(jìn)制數(shù):110101001對應(yīng)的八進(jìn)制數(shù):651對應(yīng)的十六進(jìn)制數(shù):1A9試題程序:#請?jiān)赺____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼num=eval(input("輸入數(shù)字:"))print("對應(yīng)的二進(jìn)制數(shù):{_____(1)_____}\n八進(jìn)制數(shù):{_____(2)_____}\n十六進(jìn)制數(shù):{_____(3)_____}".format(num))試題答案:num=eval(input("輸入數(shù)字:”))Print(”對應(yīng)的二進(jìn)制數(shù):{0:b}\n八進(jìn)制數(shù):{0:o}\n十六進(jìn)制數(shù):{0:x}”.format(num))

參考答案

1.A

2.B

3.A線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)稱為線性鏈表,線性鏈表可以是線性結(jié)構(gòu)也可以是非線性結(jié)構(gòu)??焖倥判蚝投址ú檎疫m用于順序存儲的線性表。本題選擇A選項(xiàng)。

4.D外層for第一次循環(huán)將字符‘想’賦給變量m,m=‘想’,內(nèi)層for第一次循環(huán)將‘家’賦給變量n,m+n連接字符,利用列表的append()方法將連接后的字符‘想家’加入列表ls中;內(nèi)層for第二次循環(huán)將‘人’賦給變量n,m+n連接字符,利用列表的append()方法將連接后的字符‘想人’加入列表ls中。外層for第二次循環(huán)將字符‘念’賦給變量m,m=‘念’,內(nèi)層for第一次循環(huán)將‘家’賦給變量n,m+n連接字符,利用列表的append()方法將連接后的字符‘念家’加入列表ls中;內(nèi)層for第二次循環(huán)將‘人’賦給變量n,m+n連接字符,利用列表的append()方法將連接后的字符‘念人’加入列表ls中。最后列表ls=[‘想家’,‘想人’,‘念家’,‘念人’],print(ls)輸出ls。本題選擇D選項(xiàng)。

5.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)過一系列的運(yùn)算,輸出結(jié)果為:97531。

6.Crandom.randint(a,b)隨機(jī)生成[a,b](包括a、b)的整數(shù);random.uniform(a,b)隨機(jī)生成[a,b)(包括a,不包括b)的實(shí)數(shù)。本題選擇C選項(xiàng)。

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

8.Dturtle庫的home()函數(shù)用于設(shè)置當(dāng)前畫筆位置為原點(diǎn),朝向東。本題選擇D選項(xiàng)。

9.ABeautifulSoup4用于解析和處理HTML和XML。它的最大優(yōu)點(diǎn)是能根據(jù)HTML和XML語法建立解析樹,進(jìn)而高效解析其中的內(nèi)容。本題選擇A選項(xiàng)。

10.Crandom.randint(a,b)隨機(jī)生成[a,b](包括a、b)之間的整數(shù);random.uniform(a,b)隨機(jī)生成[a,b](包括a,不包括b)之間的實(shí)數(shù)。故答案為C項(xiàng)。

11.B函數(shù)定義:函數(shù)是指一組語句的集合通過一個名字(函數(shù)名)封裝起來,要想執(zhí)行這個函數(shù),只需要調(diào)用其函數(shù)名即可。函數(shù)能提高應(yīng)用的模塊性和代碼的重復(fù)利用率。本題選B選項(xiàng)。

12.B在Python中,使用關(guān)鍵字def定義函數(shù)。本題選擇B選項(xiàng)。

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

14.B函數(shù)是一段具有特定功能的、可重用的語句組,通過函數(shù)名來表示和調(diào)用。經(jīng)過定義,一組語句等價于一個函數(shù),在需要使用這組語句的地方,直接調(diào)用函數(shù)名稱即可。采用參數(shù)名稱傳遞方式不需要保持參數(shù)傳遞的順序,參數(shù)之間的順序可以任意調(diào)整,只需要對每個必要參數(shù)賦予實(shí)際值即可,每次使用函數(shù)不需要提供相同的參數(shù)作為輸入。

15.C比較a與b是否不相等的運(yùn)算符是!=;a+=b等同于a=a+b;a//=b等同于a=a//b。

16.C字符串的索引序號從0開始,t[20:21]是指字符串中序號是20的元素I,t[:9]是從序號0到8元素,用“+”連接字符串,最后輸出IlovetheWorld。本題選擇C選項(xiàng)。

17.C

18.Arename():給文件重命名;getcwd():得到當(dāng)前工作目錄,即當(dāng)前Python腳本工作的目錄路徑;rmdir():刪除目錄。split():按給出的分隔符分隔字符串,返回的是列表類型。

19.D任何可以以序列或集合表示的內(nèi)容都可以看作一維數(shù)據(jù)。本題選擇D選項(xiàng)。

20.B在Python中,字典是存儲可變數(shù)量鍵值對的數(shù)據(jù)結(jié)構(gòu),鍵和值可以是任意數(shù)據(jù)類型,通過鍵索引值,并可以通過鍵修改值。因此,可以直接利用鍵值對關(guān)系索引元素。索引模式:<值>=<字典變量>[<鍵>]。故能夠正確索引字典并輸出數(shù)字2的語句是print(d[‘cake’])。本題選擇B選項(xiàng)。

21.B

22.C列表索引正向遞增索引從0開始,反向遞減索引從一1開始,ls[2][一1][2]指的是列表中下標(biāo)為2的元素下的下標(biāo)為一1元素下的下標(biāo)為2的元素,輸出結(jié)果是s。本題選擇C選項(xiàng)。

23.CPython中復(fù)數(shù)類型的虛數(shù)部分的后綴可以為j或者J;復(fù)數(shù)的實(shí)部可以單獨(dú)存在,但是虛部不可以單獨(dú)存在;復(fù)數(shù)由實(shí)部和虛部構(gòu)成,可以使用z.\nreal和z.imag分別獲得它的實(shí)部和虛部。本題選擇C選項(xiàng)。

24.APython分支結(jié)構(gòu)使用關(guān)鍵字if、elif及else來實(shí)現(xiàn),每個if后面不一定要有elif或else,A項(xiàng)錯誤;if-else結(jié)構(gòu)是可以嵌套的,B項(xiàng)正確;if語句會判斷if后面的邏輯表達(dá)式,當(dāng)表達(dá)式為真時,執(zhí)行if后的語句塊,C項(xiàng)正確;縮進(jìn)是Python分支語句的語法部分,縮進(jìn)不正確會影響分支功能,D選項(xiàng)正確。本題選擇A選項(xiàng)。

25.C程序中,將實(shí)參b的值傳給形參a,將實(shí)參a的值傳給形參b,則在函數(shù)體中c=2**2+10=14,函數(shù)返回14,則實(shí)參c=14+10=24;形參a和b在函數(shù)結(jié)束后會自動釋放,并沒有影響到實(shí)參a和b的值,故實(shí)參a仍然是10,實(shí)參b仍然是2。

26.C數(shù)據(jù)庫系統(tǒng)的三級模式是概念模式、外模式和內(nèi)模式。概念模式是數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶公共數(shù)據(jù)視圖。外模式也稱子模式或用戶模式,它是用戶的數(shù)據(jù)視圖,給出了每個用戶的局部數(shù)據(jù)描述,所以選擇C。內(nèi)模式又稱物理模式,它給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法。

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

28.C文件對象的seek()方法用來定位文件的讀/寫位置,tell()方法用來返回文件指針的當(dāng)前位置。本題選擇C選項(xiàng)。

29.C保留字,也稱關(guān)鍵字,是指被編程語言內(nèi)部定義并保留使用的標(biāo)識符。Python3.x版本中有35個保留字,分別為:and,as,assert,async,await,break,class,continue,def,del,elif,else,excep!,F(xiàn)alse,finally,for,from,global,if,import,in,is,lambda,None,nonlocal,not,or.pass,raise,return,True,try,while,with,yield。define不是Python語言關(guān)鍵字。本題選擇C選項(xiàng)。

30.B在Python語言中,文件讀取方法有(設(shè)f代表文件變量):\nf.read():從文件中讀入整個文件內(nèi)容。\nf.readline():從文件中讀入一行內(nèi)容。\nf.readlines():從文件中讀人所有行,以每行為元素形成一個列表。\nf.seek():改變當(dāng)前文件操作指針的位置。本題選B選項(xiàng)。

31.Y

32.Y

33.N

34.Y

35.Y

36.Y

37.Y

38.Y

39.Y

40.Y

41.['0','1','2']

42.[111,33,2]

43.[‘1’,‘2’,‘3’]

44.True

45.3+4j、3+4J

46.回車換行

47.[[2,3,1],[1,3,3]]

48.[]

49.'65,A'

50.有序

51.importrandom\r\nbrandlist=[’三星’,’蘋果’,’vivo’,’OPPO’,’魅族’]\r\nrandom.seed(0)\r\nname=brandlist[random.randint(0,4)]

print(name)題目要求隨機(jī)輸出列表中的一個手機(jī)名稱,“隨機(jī)”需要用到Python的標(biāo)準(zhǔn)庫random,random.seed(0)的作用是設(shè)置初始化隨機(jī)數(shù)種子,設(shè)置種子的好處就是可以重復(fù)再現(xiàn)相同的隨機(jī)數(shù)序列。輸出列表中的元素可以使用索引的方法,分析代碼可知,列表中共有5個元素,所以元素的序號由0到4,需要用到random庫的randint()方法。random.randint(a,b)的作用是產(chǎn)生一個[a,b]之間的隨機(jī)整數(shù)。

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

53.num=eval(input("輸入數(shù)字:”))Print(”對應(yīng)的二進(jìn)制數(shù):{0:b}\\n八進(jìn)制數(shù):{0:o}\\n十六進(jìn)制數(shù):{0:x}”.format(num))考查format()方法的使用。格式控制標(biāo)記可以使用變量來表示,即用槽來指定對應(yīng)的控制標(biāo)記及數(shù)量,模板字符串在本題中總共有3個槽,即參數(shù)變量需要3個,但此時的參數(shù)只有一個,這里需要指定對應(yīng)的變量。<類型\r\n>\r\n表示輸出整數(shù)和浮點(diǎn)數(shù)類型的格式規(guī)則。b表示二進(jìn)制;o表示八進(jìn)制;大寫的X表示大寫的十六進(jìn)制。因此第1空填入o:b,第2空填入0:o,第3空填入0:X。河北省邯鄲市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.下面哪個語句能夠讓列表中的名字按行輸出?names=[‘Dick’,‘Nancy’,‘Roger’]A.print("\n".join(names))

B.print(names.join("\n"))

C.print(names.append("\n"))

D.print(names.join("%s\n",names))

2.執(zhí)行以下代碼的結(jié)果是()A.12B.24C.36D.48

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

A.鏈表可以是線性結(jié)構(gòu)也可以是非線性結(jié)構(gòu)

B.鏈表只能是非線性結(jié)構(gòu)

C.快速排序也適用于線性鏈表

D.二分法查找也適用于有序鏈表

4.以下程序的輸出結(jié)果是()。ls=[]formin‘想念’:fornin‘家人’:ls.append(m+n)print(ls)A.想念家人B.想想念念家家人人C.想家想人念家念人D.[‘想家’,‘想人’,‘念家’,‘念人’]

5.下面代碼的輸出結(jié)果是()。x=10whilex:x一=1ifx%2:print(x,end=”)else:pass

A.86420B.975311C.97531D.864200

6.生成一個[1,99]的隨機(jī)整數(shù)的函數(shù)是()。

A.random.randint(1,100)

B.random,randint(0,99)

C.random.randint(1,99)

D.random,uniform.(1,99)

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

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

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

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

B.seth(x)是setheading(x)函數(shù)的別名,其作用是讓畫筆旋轉(zhuǎn)x角度

C.可以用importturtle來導(dǎo)入turtle庫函數(shù)

D.home()函數(shù)用于設(shè)置當(dāng)前畫筆位置為原點(diǎn),方向朝上

9.第三方庫BeautifulSoup4的功能是()。

A.解析和處理HTML和XMLB.支持Web應(yīng)用程序框架C.支持WebServices框架D.處理HTTP請求

10.生成一個[1,99]之間隨機(jī)整數(shù)的函數(shù)是()。

A.random.randint(1,100)

B.random.randint(0,99)

C.random.randint(1,99)

D.random.uniform(1,99)

11.以下關(guān)于函數(shù)優(yōu)點(diǎn)的描述中,正確的是()。

A.函數(shù)可以表現(xiàn)程序的復(fù)雜度B.函數(shù)可以使程序更加模塊化C.函數(shù)可以減少代碼多次使用D.函數(shù)便于書寫

12.以下關(guān)于函數(shù)的定義與編寫的描述,錯誤的是()。

A.函數(shù)是代碼復(fù)用的一種方式

B.在Python中,使用關(guān)鍵字define定義函數(shù)

C.定義函數(shù)時,即使函數(shù)不需要接收任何參數(shù),也必須保留空的圓括號來表示這是一個函數(shù)

D.編寫函數(shù)時,一般建議先對參數(shù)進(jìn)行合法性檢查,然后再進(jìn)行編寫

13.下面關(guān)于遞歸函數(shù)的描述中,錯誤的是()。

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

B.遞歸函數(shù)就是一個函數(shù)在內(nèi)部調(diào)用自身

C.遞歸效率不高,遞歸層次過多會導(dǎo)致棧溢出

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

14.以下關(guān)于Python函數(shù)的描述中,錯誤的是()。

A.函數(shù)代碼是可以重復(fù)使用的

B.每次使用函數(shù)需要提供相同的參數(shù)作為輸入

C.函數(shù)通過函數(shù)名進(jìn)行調(diào)用

D.函數(shù)是一段具有特定功能的語句組

15.下列關(guān)于Python運(yùn)算符的使用描述正確的是()。

A.a=!b,比較a與b是否不相等

B.a=+b,等同于a=a+b

C.a==b,比較a與b是否相等

D.a//=b,等同于a=a/b

16.以下程序的輸出結(jié)果是()。t=”theWorldisSObig.Iwanttosee”S=t[20:21]+’love’+t[:9]print(S)

A.Ilovethe

B.IloveWodd

C.IlovetheWorld

D.IlovetheWod

17.在Python3下輸入100000000L,會得到()

A.100000000LB.100000000C.SyntaxError:invalidsyntaxD.1e8

18.以下選項(xiàng)中不是Python文件目錄操作方法的是()。

A.split()B.rename()C.getcwd()D.rmdir()

19.以下關(guān)于數(shù)據(jù)維度的描述,錯誤的是()。

A.—維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織,對應(yīng)于數(shù)學(xué)中的集合或數(shù)組的概念

B.二維數(shù)據(jù)由關(guān)聯(lián)關(guān)系構(gòu)成,采用表格方式組織,對應(yīng)于數(shù)學(xué)中的矩陣

C.高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)組成,采用對象方式組織

D.—維數(shù)據(jù)由對等關(guān)系的有序數(shù)據(jù)構(gòu)成,無序數(shù)據(jù)不是一維數(shù)據(jù)

20.下面的d是一個字典變量,能夠輸出數(shù)字2的語句是()。d={‘food’:{‘cake’:1,‘egg’:5},’‘cake’:2,‘egg’:3}

A.print(d[‘food’][‘egg’])

B.print(d[‘cake’])

C.print(d[‘food’][-1])

D.print(d[‘cake’][1])

21.執(zhí)行以下代碼的結(jié)果是()A.4B.5C.8D.12

22.ls=[2,”apple”,[42,”yellow”,”misd”],1.2],表達(dá)式ls[2][一1][2]的結(jié)果是()。

A.mB.iC.sD.d

23.下列關(guān)于Python中復(fù)數(shù)類型的描述錯誤的是()。

A.復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成

B.復(fù)數(shù)可以看作二元有序?qū)崝?shù)對(a,b)

C.虛數(shù)部分必須有后綴j,且為小寫

D.復(fù)數(shù)中的虛數(shù)部分不能單獨(dú)存在,必須有實(shí)數(shù)部分

24.以下關(guān)于Python分支的描述中,錯誤的是()。

A.Python分支結(jié)構(gòu)使用保留字if、elif及else來實(shí)現(xiàn),每個if后面必須有elif或else

B.if-elSe結(jié)構(gòu)是可以嵌套的

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

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

25.關(guān)于以下代碼的描述中,正確的是()。defrune(a,b):c=a**2+bb=areturnca=10b=2c=func(b,a)+a

A.執(zhí)行該函數(shù)后,變量c的值為112

B.該函數(shù)名稱為fun

C.執(zhí)行該函數(shù)后,變量b的值為2

D.執(zhí)行該函數(shù)后,變量b的值為10

26.數(shù)據(jù)庫設(shè)計(jì)中反映用戶對數(shù)據(jù)要求的模式是()。

A.內(nèi)模式B.概念模式C.外模式D.設(shè)計(jì)模式

27.以下代碼的輸出結(jié)果是()。deffibRate(n):ifn<=0:return—1elifn==1:retum—1elifn==2:return1else:L=[1,5]foriinrange(2,n):L.a(chǎn)ppend(L[一1]+L[一2])returnL[一2]%L[一1]print(fibRate(7))

A.0.6B.28C.一1D.1

28.以下關(guān)于文件讀/寫的描述中,錯誤的是()。

A.對文件進(jìn)行讀/寫操作之后必須關(guān)閉文件以確保所有內(nèi)容都得到保存

B.以寫模式打開的文件無法進(jìn)行讀操作

C.文件對象的seek()方法用來返回文件指針的當(dāng)前位置

D.文件對象的readline()方法用來讀取一行字符串

29.以下不是Python語言關(guān)鍵字的選項(xiàng)是()。

A.classB.defC.defineD.elif

30.屬于Python讀取文件一行操作的是()。

A.readtextB.readlineC.readallD.read

二、判斷題(10題)31.正則表達(dá)式元字符“^”一般用來表示從字符串開始處進(jìn)行匹配,用在一對方括號中的時候則表示反向匹配,不匹配方括號中的字符。

A.是B.否

32.相同內(nèi)容的字符串使用不同的編碼格式進(jìn)行編碼得到的結(jié)果并不完全相同。

A.是B.否

33.同一個列表對象中所有元素必須為相同類型。A.是B.否

34.在調(diào)用函數(shù)時,可以通過關(guān)鍵參數(shù)的形式進(jìn)行傳值,從而避免必須記住函數(shù)形參順序的麻煩。

A.是B.否

35.lambda表達(dá)式中可以使用任意復(fù)雜的表達(dá)式,但是必須只編寫一個表達(dá)式。

A.是B.否

36.在Python中可以使用id作為變量名,但是不建議這樣做。

A.是B.否

37.Python標(biāo)準(zhǔn)庫os中的方法listdir()返回包含指定路徑中所有文件和文件夾名稱的列表。

A.是B.否

38.已知x為非空列表,那么執(zhí)行語句x[0]=3之后,列表對象x的內(nèi)存地址不變。

A.是B.否

39.Python變量名區(qū)分大小寫,所以student和Student不是同一個變量。

A.是B.否

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

A.是B.否

三、填空題(10題)41.表達(dá)式[str(i)foriinrange(3)]的值為____________。

42.達(dá)式sorted([111,2,33],key=lambdax:-len(str(x)))的值為____________。

43.list(map(str,[1,2,3]))的執(zhí)行結(jié)果為_____________________。

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

45.以3為實(shí)部4為虛部,Python復(fù)數(shù)的表達(dá)形式為___________或________。

46.轉(zhuǎn)義字符’\n’的含義是___________________。

47.已知x=[[1,3,3],[2,3,1]],那么表達(dá)式sorted(x,key=lambdaitem:item[0]+item[2])的值為______________________________________。

48.已知x=[3,5,7],那么表達(dá)式x[10:]的值為____________。

49.表達(dá)式'%d,%c'%(65,65)的值為________。

50.列表、元組、字符串是Python的_________(有序?無序)序列。

四、操作題(3題)51.考生文件夾下存在一個文件PY101.py,請寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能:隨機(jī)選擇一個手機(jī)品牌屏幕輸出。

試題程序:

#請?jiān)诔绦虻摹幨褂靡恍谢蚨嘈写a替換

#請?jiān)诔绦虻腳_____處使用一行代碼替換#注意:請不要修改其他已給出代碼

import________brandlist=[’三星’,’蘋果’,’vivo’,’OPPO’,’魅族’]random.seed(0)

……

print(name)

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

試題程序:

#請?jiān)赺____處使用一行代碼或表達(dá)式替換

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

ifcount%2==0:

print(count,end=”,”)

53.考生文件夾下存在一個文件“PY103.py”,請寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。用鍵盤輸入十進(jìn)制整數(shù),按要求將這個整數(shù)轉(zhuǎn)換為二進(jìn)制、八進(jìn)制及十六進(jìn)制(大寫)并輸出到屏幕。例如:輸入數(shù)字:425對應(yīng)的二進(jìn)制數(shù):110101001對應(yīng)的八進(jìn)制數(shù):651對應(yīng)的十六進(jìn)制數(shù):1A9試題程序:#請?jiān)赺____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼num=eval(input("輸入數(shù)字:"))print("對應(yīng)的二進(jìn)制數(shù):{_____(1)_____}\n八進(jìn)制數(shù):{_____(2)_____}\n十六進(jìn)制數(shù):{_____(3)_____}".format(num))試題答案:num=eval(input("輸入數(shù)字:”))Print(”對應(yīng)的二進(jìn)制數(shù):{0:b}\n八進(jìn)制數(shù):{0:o}\n十六進(jìn)制數(shù):{0:x}”.format(num))

參考答案

1.A

2.B

3.A線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)稱為線性鏈表,線性鏈表可以是線性結(jié)構(gòu)也可以是非線性結(jié)構(gòu)??焖倥判蚝投址ú檎疫m用于順序存儲的線性表。本題選擇A選項(xiàng)。

4.D外層for第一次循環(huán)將字符‘想’賦給變量m,m=‘想’,內(nèi)層for第一次循環(huán)將‘家’賦給變量n,m+n連接字符,利用列表的append()方法將連接后的字符‘想家’加入列表ls中;內(nèi)層for第二次循環(huán)將‘人’賦給變量n,m+n連接字符,利用列表的append()方法將連接后的字符‘想人’加入列表ls中。外層for第二次循環(huán)將字符‘念’賦給變量m,m=‘念’,內(nèi)層for第一次循環(huán)將‘家’賦給變量n,m+n連接字符,利用列表的append()方法將連接后的字符‘念家’加入列表ls中;內(nèi)層for第二次循環(huán)將‘人’賦給變量n,m+n連接字符,利用列表的append()方法將連接后的字符‘念人’加入列表ls中。最后列表ls=[‘想家’,‘想人’,‘念家’,‘念人’],print(ls)輸出ls。本題選擇D選項(xiàng)。

5.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)過一系列的運(yùn)算,輸出結(jié)果為:97531。

6.Crandom.randint(a,b)隨機(jī)生成[a,b](包括a、b)的整數(shù);random.uniform(a,b)隨機(jī)生成[a,b)(包括a,不包括b)的實(shí)數(shù)。本題選擇C選項(xiàng)。

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

8.Dturtle庫的home()函數(shù)用于設(shè)置當(dāng)前畫筆位置為原點(diǎn),朝向東。本題選擇D選項(xiàng)。

9.ABeautifulSoup4用于解析和處理HTML和XML。它的最大優(yōu)點(diǎn)是能根據(jù)HTML和XML語法建立解析樹,進(jìn)而高效解析其中的內(nèi)容。本題選擇A選項(xiàng)。

10.Crandom.randint(a,b)隨機(jī)生成[a,b](包括a、b)之間的整數(shù);random.uniform(a,b)隨機(jī)生成[a,b](包括a,不包括b)之間的實(shí)數(shù)。故答案為C項(xiàng)。

11.B函數(shù)定義:函數(shù)是指一組語句的集合通過一個名字(函數(shù)名)封裝起來,要想執(zhí)行這個函數(shù),只需要調(diào)用其函數(shù)名即可。函數(shù)能提高應(yīng)用的模塊性和代碼的重復(fù)利用率。本題選B選項(xiàng)。

12.B在Python中,使用關(guān)鍵字def定義函數(shù)。本題選擇B選項(xiàng)。

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

14.B函數(shù)是一段具有特定功能的、可重用的語句組,通過函數(shù)名來表示和調(diào)用。經(jīng)過定義,一組語句等價于一個函數(shù),在需要使用這組語句的地方,直接調(diào)用函數(shù)名稱即可。采用參數(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論