湖北省荊州市全國計(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頁,還剩55頁未讀, 繼續(xù)免費(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.下列函數(shù)中,不是Python內(nèi)置函數(shù)的是()。

A.exec()B.sum()C.close()D.eval()

2.下面代碼的輸出結(jié)果是()。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’]

3.下面對于類的說法錯(cuò)誤的是()。

A.類是一種實(shí)例

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

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

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

4.下面代碼的輸出結(jié)果是()。deff(n):ifn==1:return1else:returnn*f(n—1)print(f(4))

A.24B.4C.0D.10

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

A.二維數(shù)據(jù)B.一維數(shù)據(jù)C.多維數(shù)據(jù)D.高維數(shù)據(jù)

6.以下程序的輸出結(jié)果是()。forsin“PythonNCRE”: ifs==“N”: break print(s,end=“”)

A.PythonCREB.NC.PythonD.PythonNCRE

7.執(zhí)行以下代碼的結(jié)果是?A.1B.2C.4D.異常報(bào)錯(cuò)

8.設(shè)二叉樹中有20個(gè)葉子節(jié)點(diǎn),5個(gè)度為1的節(jié)點(diǎn),則該二叉樹中總的節(jié)點(diǎn)數(shù)為()。

A.46B.45C.44D.不可能有這樣的二叉樹

9.以下代碼的輸出結(jié)果是()。a=[[1,2,3],[4,5,6],[7,8,9]]s=0forcina:forjinrange(3):s+=c[j]print(s)

A.[1,2,3,4,5,6,7,8,9]B.45C.24D.0

10.下面代碼的輸出結(jié)果為()。foriinrange(8):ifi%2!=1:continueelse:print(i,end=”,”)

A.0,B.1,C.1,3,5,7,D.0,2,4,6,

11.數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是()。

A.數(shù)據(jù)庫的設(shè)計(jì)B.數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)C.數(shù)據(jù)庫的維護(hù)D.數(shù)據(jù)庫管理員的培訓(xùn)

12.以下程序的輸出結(jié)果是()。list=[“1”,“3”,“5”]defapp(x): list.append(x)app(“7”)print(list)

A.[‘1’,‘3’,‘5’]B.[‘1’,‘3’,‘5’,‘7’]C.[‘7’]D.“1,3,5,7”

13.若I,j均為整形數(shù)值對象,以下哪個(gè)語句計(jì)算i被j除后的余數(shù)()

A.imodjB.i/jC.i%jD.i//j

14.下列排序方法中,最壞情況下比較次數(shù)最少的是()。

A.冒泡排序B.簡單選擇排序C.直接插入排序D.堆排序

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

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

B.整數(shù)類型、二進(jìn)制類型、浮點(diǎn)數(shù)類型

C.整數(shù)類型、二進(jìn)制類型、浮點(diǎn)數(shù)類型

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

16.設(shè)str1=‘python’,語句print(str1.center(10,*))的執(zhí)行結(jié)果是()。

A.python****B.**python**C.****pythonD.SyntaxError

17.下面哪一項(xiàng)不屬于面向?qū)ο蟮奶攸c(diǎn)()。

A.封裝B.多態(tài)C.性能高D.繼承

18.以下關(guān)于Python字典變量的定義中,正確的是()。

A.d={[1,2]:1,[3,4]:3}

B.d={1:as,2:sf}

C.d={(1,2):1,(3,4):3}

D.d={‘python’:1,2:[tea,cat]}

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

20.下面代碼的輸出結(jié)果是()。foriin"Goaheadbravely!”:ifi=="b":breakelse:print(i,end="")

A.Goaheadravely!B.bravely!C.Goaheadbravely!D.Goahead

21.為以下程序填空,使得輸出結(jié)果是{40:‘yuwen’,20:‘yingyu’,30:‘shuxu’}的選項(xiàng)是()。tb={‘yingyu’:20,‘shuxue’:30,‘yuwen’:40}stb={}foritintb.items(): print(it) _________print(stb)

A.stb[it[1]]=it[0]

B.stb[it[1]]=stb[it[0]]

C.stb[it[1]]=tb[it[1]]

D.D.stb[it[1]]=tb[it[0]]

22.關(guān)于數(shù)據(jù)組織的維度描述正確的是()。

A.二維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成

B.高維數(shù)據(jù)由關(guān)聯(lián)關(guān)系數(shù)據(jù)構(gòu)成

C.CSV是一維數(shù)據(jù)

D.—維數(shù)據(jù)采用線性方式存儲

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

A.print(tstr[4:7])

B.print(tstr[5:7])

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

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

24.在Python中,將二維數(shù)據(jù)寫入CSV文件,最可能使用的方法是()。

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

25.time庫的time.time()函數(shù)的作用是()。

A.以數(shù)字形式返回當(dāng)前系統(tǒng)時(shí)間

B.以字符串形式返回當(dāng)前系統(tǒng)時(shí)間

C.以struct_time形式返回當(dāng)前系統(tǒng)時(shí)間

D.根據(jù)format格式定義返回當(dāng)前系統(tǒng)時(shí)間

26.以下程序的輸出結(jié)果是()。deffun(x): try: returnx*4 except: returnxprint(fun(“5”))

A.20B.5555C.5D.9

27.對以下代碼的輸出描述正確的是()。lis=list(range(6))print(lis)

A.[0,1,2,3,4,5]

B.[0,1,2,3,4,5,6]

C.0,1,2,3,4,5

D.0,1,2,3,4,5,6

28.以下不屬于Python的pip工具命令的是()。

A.getB.installC.showD.download

29.Python中文件的打開模式為‘t’,對應(yīng)的文件打開模式為()。

A.只讀模式B.只寫模式C.文本文件模式D.二進(jìn)制文件模式

30.以下關(guān)于列表變量ls操作的描述中,錯(cuò)誤的是()。

A.ls.copy():生成一個(gè)新列表,復(fù)制ls的所有元素

B.ls.removed):刪除ls中所有的x元素

C.ls.append(x):在ls最后增加一個(gè)元素

D.ls.reverse():反轉(zhuǎn)列表ls中所有元素

二、判斷題(10題)31.對于數(shù)字n,如果表達(dá)式0notin[n%dfordinrange(2,n)]的值為True則說明n是素?cái)?shù)。

A.是B.否

32.正則表達(dá)式元字符“\s”用來匹配任意空白字符。

A.是B.否

33.在Windows平臺上編寫的Python程序無法在Unix平臺運(yùn)行。A.是B.否

34.屬性可以像數(shù)據(jù)成員一樣進(jìn)行訪問,但賦值時(shí)具有方法的優(yōu)點(diǎn),可以對新值進(jìn)行檢查。

A.是B.否

35.表達(dá)式list('[1,2,3]')的值是[1,2,3]。

A.是B.否

36.使用Python列表的方法insert()為列表插入元素時(shí)會(huì)改變列表中插入位置之后元素的索引。

A.是B.否

37.在函數(shù)中沒有任何辦法可以通過形參來影響實(shí)參的值。

A.是B.否

38.Python類不支持多繼承。

A.是B.否

39.3+4j不是合法的Python表達(dá)式。

A.是B.否

40.Python集合中的元素不允許重復(fù)。

A.是B.否

三、填空題(10題)41.表達(dá)式round(3.7)的值為_________。

42.表達(dá)式isinstance(4j,(int,float,complex))的值為_____________。

43.Python3.x語句print(1,2,3,sep=',')的輸出結(jié)果為________________。

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

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

46.表達(dá)式[1,2,3].count(4)的值為_______________。

47.表達(dá)式type(3+4j)in(int,float,complex)的值為____________。

48.表達(dá)式{1,2,3,4}-{3,4,5,6}的值為__________________。

49.表達(dá)式3**2的值為_________。

50.已知x=[3,5,7],那么執(zhí)行語句x[1:]=[2]之后,x的值為________________。

四、操作題(3題)51.考生文件夾下存在一個(gè)文件“PY201.py”,請寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。使用turtle庫的turtle.seth()函數(shù)和turtle.fd()函數(shù)繪制一個(gè)邊長為100像素的三角形,效果如下所示。

試題程序:#請?jiān)赺____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼importturtleforiinrange(_____(1)_____):turtle.seth(_____(2)_____)_____(3)_____(100)

52.考生文件夾下存在一個(gè)文件“PY201.py”,請寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。使用turtle庫的turtle.right()函數(shù)和turtle.fd()函數(shù)繪制一個(gè)五角星,邊長為200像素,5個(gè)內(nèi)角度數(shù)為36度,效果如下所示。試題程序:#請?jiān)诔绦虻腳____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼fromturtleimport*foriin_____(1)_____:fd(_____(2)_____)_____(3)_____

53.考生文件夾下存在兩個(gè)Python源文件“PY301-1.py”和“PY301-2.py”,分別對應(yīng)兩個(gè)問題,請按照文件內(nèi)說明修改代碼,實(shí)現(xiàn)以下功能。李白,字太白,號青蓮居士,又號“謫仙人”,是唐代偉大的浪漫主義詩人,被后世譽(yù)為“詩仙”??忌募A下有一個(gè)“關(guān)山月.txt”文件,內(nèi)容如下。明月出天山,蒼茫云海間。長風(fēng)幾萬里,吹度玉門關(guān)。漢下白登道,胡窺青海灣。由來征戰(zhàn)地,不見有人還。戍客望邊邑,思?xì)w多苦顏。高樓當(dāng)此夜,嘆息未應(yīng)閑。問題1:這是一段由標(biāo)點(diǎn)符號分隔的文本,請編寫程序,以“?!本涮枮榉指?,將這段文本轉(zhuǎn)換為詩詞風(fēng)格,輸出到文件“關(guān)山月-詩歌.txt”中。試題程序:#以下代碼為提示框架#請?jiān)?..處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fi=open("關(guān)山月.txt","r")…fi.close()fo.close()問題2:把問題1生成的“關(guān)山月-詩歌.txt”文件,以每行為單位,保留標(biāo)點(diǎn)符號為原順序和位置,輸出全文的反轉(zhuǎn)形式。將文件保存在考生文件夾下并命名為“關(guān)山月-反轉(zhuǎn).txt”。輸出的形式如下。高樓當(dāng)此夜,嘆息未應(yīng)閑。戍客望邊邑,思?xì)w多苦顏。由來征戰(zhàn)地,不見有人還。漢下白登道,胡窺青海灣。長風(fēng)幾萬里,吹度玉門關(guān)。明月出天山,蒼茫云海間。試題程序:#以下代碼為提示框架#請?jiān)?..處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fi=open("關(guān)山月-詩歌.txt","r")fo=open(“關(guān)山月-反轉(zhuǎn).txt","w")…fi.close()fo.close()

參考答案

1.Cclose()函數(shù)用于文件關(guān)閉,通過file.close()的方式調(diào)用,不是Python的內(nèi)置函數(shù)。本題選擇C選項(xiàng)。

2.D遍歷列表letter,當(dāng)i==’D’時(shí),執(zhí)行l(wèi)etter.removeG),此時(shí)列表letter:\n[‘A’,’B’,’C’,'D’];再遍歷當(dāng)i==\n‘D’,執(zhí)行l(wèi)etter.remove(i),此時(shí)列表letter=['A’,’B’,’C’,’D’]。因?yàn)榱斜淼脑貍€(gè)數(shù)隨著“D”元素的刪除而減小,當(dāng)刪除第一個(gè)“D”元素之后,列表元素的個(gè)數(shù)即變?yōu)?,for循環(huán)又是控制循環(huán)次數(shù)的,因此只遍歷5次,當(dāng)?shù)诙€(gè)“\nD”元素刪除時(shí),循環(huán)結(jié)束。本題選擇D選項(xiàng)。

3.AA選項(xiàng)中類只是一種抽象事物的分類,對象才是一種實(shí)例。本題選擇A選項(xiàng)。

4.A該代碼的功能是根據(jù)傳人的參數(shù)求取該數(shù)的階乘,經(jīng)過一系列的運(yùn)算將結(jié)果返回,4的階乘為24。

5.B二維數(shù)據(jù)由多個(gè)一維數(shù)據(jù)構(gòu)成,可以看作是一維數(shù)據(jù)的組合形式。本題中該列表中雖然包含兩種數(shù)據(jù)類型,但仍然是一維數(shù)據(jù)。

6.Cfor循環(huán)將字符串“PythonNCRE”的字符依次賦給變量S,當(dāng)s==“N”時(shí),跳出for循環(huán),故輸出為Python。本題選擇C選項(xiàng)。

7.D

8.C二叉樹中只存在度為0、1、2的結(jié)點(diǎn),根據(jù)在二叉樹中度為0的結(jié)點(diǎn)(葉子結(jié)點(diǎn))總比度為2的結(jié)點(diǎn)多一個(gè),可知本題中度為2的結(jié)點(diǎn)有20-1\n=19個(gè)。故該二叉樹中總的結(jié)點(diǎn)數(shù)為20+5+19=44個(gè)。本題選擇C選項(xiàng)。

9.B外層for循環(huán)是將a[0]=[1,2,3],a[1]=[4,5,6],a[2]=[7,8,9]依次賦給變量c;內(nèi)層for循環(huán)將變量j從0遞增到2,即累加c[1]+c[2]+c[3]的值,所以內(nèi)層循環(huán)加外層循環(huán)是計(jì)算1+2+3+4+5+6+7+8+9的值,s=45。

10.C該程序段是輸出8以內(nèi)的奇數(shù),continue語句只結(jié)束本次循環(huán),不終止整個(gè)循環(huán)的執(zhí)行。

11.A數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是數(shù)據(jù)庫的設(shè)計(jì)。本題選擇A選項(xiàng)。

12.Bappend()可以向列表元素的結(jié)尾增加元素。本題選擇B選項(xiàng)。

13.C

14.D冒泡排序、直接插入排序與簡單選擇排序法在最壞情況下均需要比較n(n-\n1)/2次,而堆排序在最壞情況下需要比較的次數(shù)是nlog2n。本題選擇D選項(xiàng)。

15.APython提供3種基本的數(shù)字類型:整數(shù)類型、浮點(diǎn)數(shù)類型、復(fù)數(shù)類型,分別對應(yīng)數(shù)學(xué)中的整數(shù)、實(shí)數(shù)及復(fù)數(shù)。本題選擇A選項(xiàng)。

16.Dstr.center(width,fillchar)方法返回長度為width的字符串。其中str處于新字符串中心位置,兩側(cè)新增字符串采用fillchar填充,當(dāng)width小于字符串長度時(shí),返回str;fillchar是單個(gè)字符。本題中,str1.cente(10,*)中的“*”兩側(cè)沒有引號,因此不是字符串類型,執(zhí)行語句后會(huì)報(bào)錯(cuò)。本題選擇D選項(xiàng)。

17.CA、B、D3個(gè)選項(xiàng)都是面向?qū)ο蟮奶攸c(diǎn),而C選項(xiàng)是面向過程的特點(diǎn),因?yàn)槊嫦驅(qū)ο笫穷愓{(diào)用,需要實(shí)例化,開銷比較大,比較消耗資源,所以面向過程的性能會(huì)比面向?qū)ο蟮男阅芨?。本題選擇C選項(xiàng)。

18.C在Python中,字典是存儲可變數(shù)量鍵值對的數(shù)據(jù)結(jié)構(gòu)。通過字典類型實(shí)現(xiàn)映射,鍵必須是唯一的,必須是不可變數(shù)據(jù)類型,值可以是任何數(shù)據(jù)類型。選項(xiàng)A、D錯(cuò)誤。字典使用花括號({})建立,每個(gè)元素是一個(gè)鍵值對,使用方式為{<鍵1>:<值1>,<鍵2>:<值2>,…,<鍵n>:<值n>},其中,鍵和值通過冒號連接,不同鍵值對通過逗號隔開。字典具有和集合類似的性質(zhì),即鍵值對之間沒有順序且不能重復(fù)。本題選擇C選項(xiàng)。

19.D

20.Dfor循環(huán)遍歷字符串,當(dāng)變量i賦值為b時(shí),break跳出本層循環(huán),即后面的字符不再遍歷,當(dāng)值不為b時(shí)就將其輸出,結(jié)果為Go\nahead。本題選擇D選項(xiàng)。

21.A分析題目和程序代碼可知,題意是將字典中的鍵值互換。tb.items()以列表形式(并非直接的列表,若要返回列表值還需調(diào)用list()函數(shù))返回可遍歷的(鍵,值)元組數(shù)組。因此,for循環(huán)中it每次遍歷得到的是一個(gè)元組,依次為(‘yingyu’,20)、(‘shuxue’,30)、(‘yuwen’,40),然后將元組中索引為0的元素和索引為1的元素互換位置,實(shí)現(xiàn)字典中鍵值的互換,應(yīng)填入stb[it[1]]=it[0]。本題選擇A選項(xiàng)。

22.D二維數(shù)據(jù)由關(guān)聯(lián)關(guān)系的數(shù)據(jù)構(gòu)成,因此A選項(xiàng)錯(cuò)誤;高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構(gòu)成,因此B選項(xiàng)錯(cuò)誤;CSV是一種通用的、相對簡單的文件格式,不僅可以保存一維數(shù)據(jù),還可以保存二維數(shù)據(jù),因此C選項(xiàng)錯(cuò)誤。本題選擇D選項(xiàng)。

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

24.C在Python中,二維列表對象輸出為CSV格式文件采用遍歷循環(huán)和字符串的join()方法相結(jié)合的方法,如下。#ls代表二維列表,此處省略f=open(“cpi.csv”,“w”)forrowinls\tf.write(“,”.join(row)+“\\n”)f.close()本題選擇C選項(xiàng)。

25.Atime.time()返回的是當(dāng)前時(shí)間的時(shí)間戳,是一個(gè)浮點(diǎn)數(shù),以秒為單位。本題選擇A選項(xiàng)。

26.Bfun(“5”)是將字符“5”賦給形參x,由于‘5’是字符類型,不是數(shù)字類型,不能進(jìn)行數(shù)值運(yùn)算,因此“x*4”是把字符“5”連續(xù)復(fù)制4次輸出。本題選擇B選項(xiàng)。

27.Arange(6)取到的是0,1,2,3,4,5這六個(gè)數(shù),這些數(shù)均為int類型,使用list()方法將其存儲在列表變量lis中。

28.Ainstall命令用于安裝第三方庫;show命令是列出某個(gè)已經(jīng)安裝的庫的詳細(xì)信息;download命令用于下載第三方庫的安裝包,但并不安裝。get不屬于pip工具的命令。本題選擇A選項(xiàng)。

29.C在Python中,文件的打開模式對應(yīng)為:“r”表示只讀模式;“w”表示只寫模式;“t”表示文本文件模式;“b”表示二進(jìn)制文件模式。本題選擇C選項(xiàng)。

30.Bls.remove(x)是刪除列表ls中出現(xiàn)的第一個(gè)x元素,而不是刪除列表ls中所有的x元素。本題選擇B選項(xiàng)。

31.Y

32.Y

33.Npython代碼支持window和Linux下跨平臺

34.Y

35.N

36.Y

37.N

38.N

39.N

40.Y

41.4

42.True

43.1,2,3

44.True

45.9

46.0

47.True

48.{1,2}

49.9

50.[3,2]

51.importturtleforiinrange(3):turtle.seth(i*120)turtle.fd(100)該題是用Python標(biāo)準(zhǔn)庫——turtle庫繪制簡單的等邊三角形。因?yàn)槔L制3條邊,所以循環(huán)執(zhí)行3次,因此第1空填3。由于題目要求使用seth()函數(shù),因此需要在繪制每條邊時(shí)計(jì)算絕對繪制方向,可以利用循環(huán)變量i計(jì)算3個(gè)邊的絕對角度,因此第2空填i\r\n*120。最后利用海龜移動(dòng)繪制3條邊,因此第3空填turtle,fd。

52.fromturtleimport*foriinrange(5):fd(200)right(144)該題考查的是Python標(biāo)準(zhǔn)庫——turtle庫,繪制五角星。因?yàn)槔L制5條邊,所以循環(huán)執(zhí)行5次,故第1空填range(5)。因?yàn)槲褰切沁呴L為200像素,所以第2空填200。最后由于本題要求使用right()函數(shù),且五角星的內(nèi)角為36度,因此第3空填right(\r\n144)。

53.(1)fi=open("關(guān)山月.txt”,"r")fi=open("關(guān)山月-詩歌.txt","w")Txt=fi.read()Is=txt.split(“。”)Fo.write(“。\\n”.join(is))fi.close()fo.close()(2)fi=open("關(guān)山月-詩歌.txt","r")fo=open(“關(guān)山月-反轉(zhuǎn).txt","w")Txt=fi.readlines()Txt.reverse()Forrowintxt:Fo.write(row)fi.close()fo.close()⑴題目給出的文件內(nèi)容是一段文本,要把文本改為詩詞風(fēng)格,即以全角句號分隔,可使用字符串的split()方法,該方法返回的是一個(gè)列表;列表的每個(gè)元素都是一行詩句,使用join()方法把列表的每一個(gè)元素寫入“關(guān)山月_詩歌.txt”文件中,連接符為全角句號和換行符;操作完成之后將打開的文件用close()方法關(guān)閉,避免內(nèi)容的丟失。(2)把“問題1”生成的詩詞風(fēng)格的文件按照每行為單位將其逆序輸出,須使用列表的reveree()方法,即需要把文件的內(nèi)容轉(zhuǎn)換為列表類型,readlines()方法從文件中讀入所有行的內(nèi)容,以每行為元素形成一個(gè)列表,然后調(diào)用reverse()方法反轉(zhuǎn),將反轉(zhuǎn)后的內(nèi)容寫入“關(guān)山月-反轉(zhuǎn).txt”文件中。操作完成之后將打開的文件用close()方法關(guān)閉,避免內(nèi)容的丟失。湖北省荊州市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.下列函數(shù)中,不是Python內(nèi)置函數(shù)的是()。

A.exec()B.sum()C.close()D.eval()

2.下面代碼的輸出結(jié)果是()。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’]

3.下面對于類的說法錯(cuò)誤的是()。

A.類是一種實(shí)例

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

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

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

4.下面代碼的輸出結(jié)果是()。deff(n):ifn==1:return1else:returnn*f(n—1)print(f(4))

A.24B.4C.0D.10

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

A.二維數(shù)據(jù)B.一維數(shù)據(jù)C.多維數(shù)據(jù)D.高維數(shù)據(jù)

6.以下程序的輸出結(jié)果是()。forsin“PythonNCRE”: ifs==“N”: break print(s,end=“”)

A.PythonCREB.NC.PythonD.PythonNCRE

7.執(zhí)行以下代碼的結(jié)果是?A.1B.2C.4D.異常報(bào)錯(cuò)

8.設(shè)二叉樹中有20個(gè)葉子節(jié)點(diǎn),5個(gè)度為1的節(jié)點(diǎn),則該二叉樹中總的節(jié)點(diǎn)數(shù)為()。

A.46B.45C.44D.不可能有這樣的二叉樹

9.以下代碼的輸出結(jié)果是()。a=[[1,2,3],[4,5,6],[7,8,9]]s=0forcina:forjinrange(3):s+=c[j]print(s)

A.[1,2,3,4,5,6,7,8,9]B.45C.24D.0

10.下面代碼的輸出結(jié)果為()。foriinrange(8):ifi%2!=1:continueelse:print(i,end=”,”)

A.0,B.1,C.1,3,5,7,D.0,2,4,6,

11.數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是()。

A.數(shù)據(jù)庫的設(shè)計(jì)B.數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)C.數(shù)據(jù)庫的維護(hù)D.數(shù)據(jù)庫管理員的培訓(xùn)

12.以下程序的輸出結(jié)果是()。list=[“1”,“3”,“5”]defapp(x): list.append(x)app(“7”)print(list)

A.[‘1’,‘3’,‘5’]B.[‘1’,‘3’,‘5’,‘7’]C.[‘7’]D.“1,3,5,7”

13.若I,j均為整形數(shù)值對象,以下哪個(gè)語句計(jì)算i被j除后的余數(shù)()

A.imodjB.i/jC.i%jD.i//j

14.下列排序方法中,最壞情況下比較次數(shù)最少的是()。

A.冒泡排序B.簡單選擇排序C.直接插入排序D.堆排序

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

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

B.整數(shù)類型、二進(jìn)制類型、浮點(diǎn)數(shù)類型

C.整數(shù)類型、二進(jìn)制類型、浮點(diǎn)數(shù)類型

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

16.設(shè)str1=‘python’,語句print(str1.center(10,*))的執(zhí)行結(jié)果是()。

A.python****B.**python**C.****pythonD.SyntaxError

17.下面哪一項(xiàng)不屬于面向?qū)ο蟮奶攸c(diǎn)()。

A.封裝B.多態(tài)C.性能高D.繼承

18.以下關(guān)于Python字典變量的定義中,正確的是()。

A.d={[1,2]:1,[3,4]:3}

B.d={1:as,2:sf}

C.d={(1,2):1,(3,4):3}

D.d={‘python’:1,2:[tea,cat]}

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

20.下面代碼的輸出結(jié)果是()。foriin"Goaheadbravely!”:ifi=="b":breakelse:print(i,end="")

A.Goaheadravely!B.bravely!C.Goaheadbravely!D.Goahead

21.為以下程序填空,使得輸出結(jié)果是{40:‘yuwen’,20:‘yingyu’,30:‘shuxu’}的選項(xiàng)是()。tb={‘yingyu’:20,‘shuxue’:30,‘yuwen’:40}stb={}foritintb.items(): print(it) _________print(stb)

A.stb[it[1]]=it[0]

B.stb[it[1]]=stb[it[0]]

C.stb[it[1]]=tb[it[1]]

D.D.stb[it[1]]=tb[it[0]]

22.關(guān)于數(shù)據(jù)組織的維度描述正確的是()。

A.二維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成

B.高維數(shù)據(jù)由關(guān)聯(lián)關(guān)系數(shù)據(jù)構(gòu)成

C.CSV是一維數(shù)據(jù)

D.—維數(shù)據(jù)采用線性方式存儲

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

A.print(tstr[4:7])

B.print(tstr[5:7])

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

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

24.在Python中,將二維數(shù)據(jù)寫入CSV文件,最可能使用的方法是()。

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

25.time庫的time.time()函數(shù)的作用是()。

A.以數(shù)字形式返回當(dāng)前系統(tǒng)時(shí)間

B.以字符串形式返回當(dāng)前系統(tǒng)時(shí)間

C.以struct_time形式返回當(dāng)前系統(tǒng)時(shí)間

D.根據(jù)format格式定義返回當(dāng)前系統(tǒng)時(shí)間

26.以下程序的輸出結(jié)果是()。deffun(x): try: returnx*4 except: returnxprint(fun(“5”))

A.20B.5555C.5D.9

27.對以下代碼的輸出描述正確的是()。lis=list(range(6))print(lis)

A.[0,1,2,3,4,5]

B.[0,1,2,3,4,5,6]

C.0,1,2,3,4,5

D.0,1,2,3,4,5,6

28.以下不屬于Python的pip工具命令的是()。

A.getB.installC.showD.download

29.Python中文件的打開模式為‘t’,對應(yīng)的文件打開模式為()。

A.只讀模式B.只寫模式C.文本文件模式D.二進(jìn)制文件模式

30.以下關(guān)于列表變量ls操作的描述中,錯(cuò)誤的是()。

A.ls.copy():生成一個(gè)新列表,復(fù)制ls的所有元素

B.ls.removed):刪除ls中所有的x元素

C.ls.append(x):在ls最后增加一個(gè)元素

D.ls.reverse():反轉(zhuǎn)列表ls中所有元素

二、判斷題(10題)31.對于數(shù)字n,如果表達(dá)式0notin[n%dfordinrange(2,n)]的值為True則說明n是素?cái)?shù)。

A.是B.否

32.正則表達(dá)式元字符“\s”用來匹配任意空白字符。

A.是B.否

33.在Windows平臺上編寫的Python程序無法在Unix平臺運(yùn)行。A.是B.否

34.屬性可以像數(shù)據(jù)成員一樣進(jìn)行訪問,但賦值時(shí)具有方法的優(yōu)點(diǎn),可以對新值進(jìn)行檢查。

A.是B.否

35.表達(dá)式list('[1,2,3]')的值是[1,2,3]。

A.是B.否

36.使用Python列表的方法insert()為列表插入元素時(shí)會(huì)改變列表中插入位置之后元素的索引。

A.是B.否

37.在函數(shù)中沒有任何辦法可以通過形參來影響實(shí)參的值。

A.是B.否

38.Python類不支持多繼承。

A.是B.否

39.3+4j不是合法的Python表達(dá)式。

A.是B.否

40.Python集合中的元素不允許重復(fù)。

A.是B.否

三、填空題(10題)41.表達(dá)式round(3.7)的值為_________。

42.表達(dá)式isinstance(4j,(int,float,complex))的值為_____________。

43.Python3.x語句print(1,2,3,sep=',')的輸出結(jié)果為________________。

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

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

46.表達(dá)式[1,2,3].count(4)的值為_______________。

47.表達(dá)式type(3+4j)in(int,float,complex)的值為____________。

48.表達(dá)式{1,2,3,4}-{3,4,5,6}的值為__________________。

49.表達(dá)式3**2的值為_________。

50.已知x=[3,5,7],那么執(zhí)行語句x[1:]=[2]之后,x的值為________________。

四、操作題(3題)51.考生文件夾下存在一個(gè)文件“PY201.py”,請寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。使用turtle庫的turtle.seth()函數(shù)和turtle.fd()函數(shù)繪制一個(gè)邊長為100像素的三角形,效果如下所示。

試題程序:#請?jiān)赺____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼importturtleforiinrange(_____(1)_____):turtle.seth(_____(2)_____)_____(3)_____(100)

52.考生文件夾下存在一個(gè)文件“PY201.py”,請寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。使用turtle庫的turtle.right()函數(shù)和turtle.fd()函數(shù)繪制一個(gè)五角星,邊長為200像素,5個(gè)內(nèi)角度數(shù)為36度,效果如下所示。試題程序:#請?jiān)诔绦虻腳____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼fromturtleimport*foriin_____(1)_____:fd(_____(2)_____)_____(3)_____

53.考生文件夾下存在兩個(gè)Python源文件“PY301-1.py”和“PY301-2.py”,分別對應(yīng)兩個(gè)問題,請按照文件內(nèi)說明修改代碼,實(shí)現(xiàn)以下功能。李白,字太白,號青蓮居士,又號“謫仙人”,是唐代偉大的浪漫主義詩人,被后世譽(yù)為“詩仙”??忌募A下有一個(gè)“關(guān)山月.txt”文件,內(nèi)容如下。明月出天山,蒼茫云海間。長風(fēng)幾萬里,吹度玉門關(guān)。漢下白登道,胡窺青海灣。由來征戰(zhàn)地,不見有人還。戍客望邊邑,思?xì)w多苦顏。高樓當(dāng)此夜,嘆息未應(yīng)閑。問題1:這是一段由標(biāo)點(diǎn)符號分隔的文本,請編寫程序,以“。”句號為分隔,將這段文本轉(zhuǎn)換為詩詞風(fēng)格,輸出到文件“關(guān)山月-詩歌.txt”中。試題程序:#以下代碼為提示框架#請?jiān)?..處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fi=open("關(guān)山月.txt","r")…fi.close()fo.close()問題2:把問題1生成的“關(guān)山月-詩歌.txt”文件,以每行為單位,保留標(biāo)點(diǎn)符號為原順序和位置,輸出全文的反轉(zhuǎn)形式。將文件保存在考生文件夾下并命名為“關(guān)山月-反轉(zhuǎn).txt”。輸出的形式如下。高樓當(dāng)此夜,嘆息未應(yīng)閑。戍客望邊邑,思?xì)w多苦顏。由來征戰(zhàn)地,不見有人還。漢下白登道,胡窺青海灣。長風(fēng)幾萬里,吹度玉門關(guān)。明月出天山,蒼茫云海間。試題程序:#以下代碼為提示框架#請?jiān)?..處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fi=open("關(guān)山月-詩歌.txt","r")fo=open(“關(guān)山月-反轉(zhuǎn).txt","w")…fi.close()fo.close()

參考答案

1.Cclose()函數(shù)用于文件關(guān)閉,通過file.close()的方式調(diào)用,不是Python的內(nèi)置函數(shù)。本題選擇C選項(xiàng)。

2.D遍歷列表letter,當(dāng)i==’D’時(shí),執(zhí)行l(wèi)etter.removeG),此時(shí)列表letter:\n[‘A’,’B’,’C’,'D’];再遍歷當(dāng)i==\n‘D’,執(zhí)行l(wèi)etter.remove(i),此時(shí)列表letter=['A’,’B’,’C’,’D’]。因?yàn)榱斜淼脑貍€(gè)數(shù)隨著“D”元素的刪除而減小,當(dāng)刪除第一個(gè)“D”元素之后,列表元素的個(gè)數(shù)即變?yōu)?,for循環(huán)又是控制循環(huán)次數(shù)的,因此只遍歷5次,當(dāng)?shù)诙€(gè)“\nD”元素刪除時(shí),循環(huán)結(jié)束。本題選擇D選項(xiàng)。

3.AA選項(xiàng)中類只是一種抽象事物的分類,對象才是一種實(shí)例。本題選擇A選項(xiàng)。

4.A該代碼的功能是根據(jù)傳人的參數(shù)求取該數(shù)的階乘,經(jīng)過一系列的運(yùn)算將結(jié)果返回,4的階乘為24。

5.B二維數(shù)據(jù)由多個(gè)一維數(shù)據(jù)構(gòu)成,可以看作是一維數(shù)據(jù)的組合形式。本題中該列表中雖然包含兩種數(shù)據(jù)類型,但仍然是一維數(shù)據(jù)。

6.Cfor循環(huán)將字符串“PythonNCRE”的字符依次賦給變量S,當(dāng)s==“N”時(shí),跳出for循環(huán),故輸出為Python。本題選擇C選項(xiàng)。

7.D

8.C二叉樹中只存在度為0、1、2的結(jié)點(diǎn),根據(jù)在二叉樹中度為0的結(jié)點(diǎn)(葉子結(jié)點(diǎn))總比度為2的結(jié)點(diǎn)多一個(gè),可知本題中度為2的結(jié)點(diǎn)有20-1\n=19個(gè)。故該二叉樹中總的結(jié)點(diǎn)數(shù)為20+5+19=44個(gè)。本題選擇C選項(xiàng)。

9.B外層for循環(huán)是將a[0]=[1,2,3],a[1]=[4,5,6],a[2]=[7,8,9]依次賦給變量c;內(nèi)層for循環(huán)將變量j從0遞增到2,即累加c[1]+c[2]+c[3]的值,所以內(nèi)層循環(huán)加外層循環(huán)是計(jì)算1+2+3+4+5+6+7+8+9的值,s=45。

10.C該程序段是輸出8以內(nèi)的奇數(shù),continue語句只結(jié)束本次循環(huán),不終止整個(gè)循環(huán)的執(zhí)行。

11.A數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是數(shù)據(jù)庫的設(shè)計(jì)。本題選擇A選項(xiàng)。

12.Bappend()可以向列表元素的結(jié)尾增加元素。本題選擇B選項(xiàng)。

13.C

14.D冒泡排序、直接插入排序與簡單選擇排序法在最壞情況下均需要比較n(n-\n1)/2次,而堆排序在最壞情況下需要比較的次數(shù)是nlog2n。本題選擇D選項(xiàng)。

15.APython提供3種基本的數(shù)字類型:整數(shù)類型、浮點(diǎn)數(shù)類型、復(fù)數(shù)類型,分別對應(yīng)數(shù)學(xué)中的整數(shù)、實(shí)數(shù)及復(fù)數(shù)。本題選擇A選項(xiàng)。

16.Dstr.center(width,fillchar)方法返回長度為width的字符串。其中str處于新字符串中心位置,兩側(cè)新增字符串采用fillchar填充,當(dāng)width小于字符串長度時(shí),返回str;fillchar是單個(gè)字符。本題中,str1.cente(10,*)中的“*”兩側(cè)沒有引號,因此不是字符串類型,執(zhí)行語句后會(huì)報(bào)錯(cuò)。本題選擇D選項(xiàng)。

17.CA、B、D3個(gè)選項(xiàng)都是面向?qū)ο蟮奶攸c(diǎn),而C選項(xiàng)是面向過程的特點(diǎn),因?yàn)槊嫦驅(qū)ο笫穷愓{(diào)用,需要實(shí)例化,開銷比較大,比較消耗資源,所以面向過程的性能會(huì)比面向?qū)ο蟮男阅芨?。本題選擇C選項(xiàng)。

18.C在Python中,字典是存儲可變數(shù)量鍵值對的數(shù)據(jù)結(jié)構(gòu)。通過字典類型實(shí)現(xiàn)映射,鍵必須是唯一的,必須是不可變數(shù)據(jù)類型,值可以是任何數(shù)據(jù)類型。選項(xiàng)A、D錯(cuò)誤。字典使用花括號({})建立,每個(gè)元素是一個(gè)鍵值對,使用方式為{<鍵1>:<值1>,<鍵2>:<值2>,…,<鍵n>:<值n>},其中,鍵和值通過冒號連接,不同鍵值對通過逗號隔開。字典具有和集合類似的性質(zhì),即鍵值對之間沒有順序且不能重復(fù)。本題選擇C選項(xiàng)。

19.D

20.Dfor循環(huán)遍歷字符串,當(dāng)變量i賦值為b時(shí),break跳出本層循環(huán),即后面的字符不再遍歷,當(dāng)值不為b時(shí)就將其輸出,結(jié)果為Go\nahead。本題選擇D選項(xiàng)。

21.A分析題目和程序代碼可知,題意是將字典中的鍵值互換。tb.items()以列表形式(并非直接的列表,若要返回列表值還需調(diào)用list()函數(shù))返回可遍歷的(鍵,值)元組數(shù)組。因此,for循環(huán)中it每次遍歷得到的是一個(gè)元組,依次為(‘yingyu’,20)、(‘shuxue’,30)、(‘yuwen’,40),然后將元組中索引為0的元素和索引為1的元素互換位置,實(shí)現(xiàn)字典中鍵值的互換,應(yīng)填入stb[it[1]]=it[0]。本題選擇A選項(xiàng)。

22.D二維數(shù)據(jù)由關(guān)聯(lián)關(guān)系的數(shù)據(jù)構(gòu)成,因此A選項(xiàng)錯(cuò)誤;高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構(gòu)成,因此B選項(xiàng)錯(cuò)誤;CSV是一種通用的、相對簡單的文件格式,不僅可以保存一維數(shù)據(jù),還可以保存二維數(shù)據(jù),因此C選項(xiàng)錯(cuò)誤。本題選擇D選項(xiàng)。

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

24.C在Python中,二維列表對象輸出為CSV格式文件采用遍歷循環(huán)和字符串的join()方法相結(jié)合的方法,如下。#ls代表二維列表,此處省略f=open(“cpi.csv”,“w”)forrowinls\tf.write(“,”.join(row)+“\\n”)f.close()本題選擇C選項(xiàng)。

25.Atime.time()返回的是當(dāng)前時(shí)間的時(shí)間戳,是一個(gè)浮點(diǎn)數(shù),以秒為單位。本題選擇A選項(xiàng)。

26.Bfun(“5”)是將字符“5”賦給形參x,由于‘5’是字符類型,不是數(shù)字類型,不能進(jìn)行數(shù)值運(yùn)算,因此“x*4”是把字符“5”連續(xù)復(fù)制4次輸出。本題選擇B選項(xiàng)。

27.Arange(6)取到的是0,1,2,3,4,5這六個(gè)數(shù),這些數(shù)均為int類型,使用list()方法將其存儲在列表變量lis中。

28.Ainstall命令用于安裝第三方庫;show命令是列出某個(gè)已經(jīng)安裝的庫的詳細(xì)信息;download命令用于下載第三方庫的安裝包,但并不安裝。get不屬于pip工具的命令。本題選擇A選項(xiàng)。

29.C在Python中,文件的打開模式對應(yīng)為:“r”表示只讀模式;“w”表示只寫模式;“t”表示文本文件模式;“b”表示二進(jìn)制文件模式。本題選擇C選項(xiàng)。

30.Bls.remove(x)是刪除列表ls中出現(xiàn)的第一個(gè)x元素,而不是刪除列表ls中所有的x元素。本題選擇B選項(xiàng)。

31.Y

32.Y

33.Npython代碼支持window和Linux下跨平臺

34.Y

35.N

36.Y

37.N

38.N

39.N

40.Y

41.4

42.True

43.1,2,3

44.True

45.9

46.0

47.True

48.{1,2}

49.9

50.[3,2]

51.importturtleforiinrange(3):turtle.seth(i*120)turtle.fd(100)該題是用Python標(biāo)準(zhǔn)庫——turtle庫繪制簡單的等邊三角形。因?yàn)槔L制3條邊,所以循環(huán)執(zhí)行3次,因此第1空填3。由于題目要求使用seth()函數(shù),因此需要在繪制每條邊時(shí)計(jì)算絕對繪制方向,可以利用循環(huán)變量i計(jì)算3個(gè)邊的絕對角度,因此第2空填i\r\n*120。最后利用海龜移動(dòng)繪制3條邊,因此第3空填turtle,fd。

52.fromturtleimport*foriinrange(5):fd(200)right(144)該題考查的是Python標(biāo)準(zhǔn)庫——turtle庫,繪制五角星。因?yàn)槔L制5條邊,所以循環(huán)執(zhí)行5次,故第1空填range(5)。因?yàn)槲褰切沁呴L為200像素,所以第2空填200。最后由于本題要求使用right()函數(shù),且五角星的內(nèi)角為36度,因此第3空填right(\r\n144)。

53.(1)fi=open("關(guān)山月.txt”,"r")fi=open("關(guān)山月-詩歌.txt","w")Txt=fi.read()Is=txt.split(“?!?Fo.write(“。\\n”.join(is))fi.close()fo.close()(2)fi=open("關(guān)山月-詩歌.txt","r")fo=open(“關(guān)山月-反轉(zhuǎn).txt","w")Txt=fi.readlines()Txt.reverse()Forrowintxt:Fo.write(row)fi.close()fo.close()⑴題目給出的文件內(nèi)容是一段文本,要把文本改為詩詞風(fēng)格,即以全角句號分隔,可使用字符串的split()方法,該方法返回的是一個(gè)列表;列表的每個(gè)元素都是一行詩句,使用join()方法把列表的每一個(gè)元素寫入“關(guān)山月_詩歌.txt”文件中,連接符為全角句號和換行符;操作完成之后將打開的文件用close()方法關(guān)閉,避免內(nèi)容的丟失。(2)把“問題1”生成的詩詞風(fēng)格的文件按照每行為單位將其逆序輸出,須使用列表的reveree()方法,即需要把文件的內(nèi)容轉(zhuǎn)換為列表類型,readlines()方法從文件中讀入所有行的內(nèi)容,以每行為元素形成一個(gè)列表,然后調(diào)用reverse()方法反轉(zhuǎn),將反轉(zhuǎn)后的內(nèi)容寫入“關(guān)山月-反轉(zhuǎn).txt”文件中。操作完成之后將打開的文件用close()方法關(guān)閉,避免內(nèi)容的丟失。湖北省荊州市全國計(jì)算機(jī)等級考試Python語言程序設(shè)計(jì)學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.下列函數(shù)中,不是Python內(nèi)置函數(shù)的是()。

A.exec()B.sum()C.close()D.eval()

2.下面代碼的輸出結(jié)果是()。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’]

3.下面對于類的說法錯(cuò)誤的是()。

A.類是一種實(shí)例

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

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

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

4.下面代碼的輸出結(jié)果是()。deff(n):ifn==1:return1else:returnn*f(n—1)print(f(4))

A.24B.4C.0D.10

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

A.二維數(shù)據(jù)B.一維數(shù)據(jù)C.多維數(shù)據(jù)D.高維數(shù)據(jù)

6.以下程序的輸出結(jié)果是()。forsin“PythonNCRE”: ifs==“N”: break print(s,end=“”)

A.PythonCREB.NC.PythonD.PythonNCRE

7.執(zhí)行以下代碼的結(jié)果是?A.1B.2C.4D.異常報(bào)錯(cuò)

8.設(shè)二叉樹中有20個(gè)葉子節(jié)點(diǎn),5個(gè)度為1的節(jié)點(diǎn),則該二叉樹中總的節(jié)點(diǎn)數(shù)為()。

A.46B.45C.44D.不可能有這樣的二叉樹

9.以下代碼的輸出結(jié)果是()。a=[[1,2,3],[4,5,6],[7,8,9]]s=0forcina:forjinrange(3):s+=c[j]print(s)

A.[1,2,3,4,5,6,7,8,9]B.45C.24D.0

10.下面代碼的輸出結(jié)果為()。foriinrange(8):ifi%2!=1:continueelse:print(i,end=”,”)

A.0,B.1,C.1,3,5,7,D.0,2,4,6,

11.數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是()。

A.數(shù)據(jù)庫的設(shè)計(jì)B.數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)C.數(shù)據(jù)庫的維護(hù)D.數(shù)據(jù)庫管理員的培訓(xùn)

12.以下程序的輸出結(jié)果是()。list=[“1”,“3”,“5”]defapp(x): list.append(x)app(“7”)print(list)

A.[‘1’,‘3’,‘5’]B.[‘1’,‘3’,‘5’,‘7’]C.[‘7’]D.“1,3,5,7”

13.若I,j均為整形數(shù)值對象,以下哪個(gè)語句計(jì)算i被j除后的余數(shù)()

A.imodjB.i/jC.i%jD.i//j

14.下列排序方法中,最壞情況下比較次數(shù)最少的是()。

A.冒泡排序B.簡單選擇排序C.直接插入排序D.堆排序

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

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

B.整數(shù)類型、二進(jìn)制類型、浮點(diǎn)數(shù)類型

C.整數(shù)類型、二進(jìn)制類型、浮點(diǎn)數(shù)類型

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

16.設(shè)str1=‘python’,語句print(str1.center(10,*))的執(zhí)行結(jié)果是()。

A.python****B.**python**C.****pythonD.SyntaxError

17.下面哪一項(xiàng)不屬于面向?qū)ο蟮奶攸c(diǎn)()。

A.封裝B.多態(tài)C.性能高D.繼承

18.以下關(guān)于Python字典變量的定義中,正確的是()。

A.d={[1,2]:1,[3,4]:3}

B.d={1:as,2:sf}

C.d={(1,2):1,(3,4):3}

D.d={‘python’:1,2:[tea,cat]}

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

20.下面代碼的輸出結(jié)果是()。foriin"Goaheadbravely!”:ifi=="b":breakelse:print(i,end="")

A.Goaheadravely!B.bravely!C.Goaheadbravely!D.Goahead

21.為以下程序填空,使得輸出結(jié)果是{40:‘yuwen’,20:‘yingyu’,30:‘shuxu’}的選項(xiàng)是()。tb={‘yingyu’:20,‘shuxue’:30,‘yuwen’:40}stb={}foritintb.items(): print(it) _________print(stb)

A.stb[it[1]]=it[0]

B.stb[it[1]]=stb[it[0]]

C.stb[it[1]]=tb[it[1]]

D.D.stb[it[1]]=tb[it[0]]

22.關(guān)于數(shù)據(jù)組織的維度描述正確的是()。

A.二維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成

B.高維數(shù)據(jù)由關(guān)聯(lián)關(guān)系數(shù)據(jù)構(gòu)成

C.CSV是一維數(shù)據(jù)

D.—維數(shù)據(jù)采用線性方式存儲

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

A.print(tstr[4:7])

B.print(tstr[5:7])

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

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

24.在Python中,將二維數(shù)據(jù)寫入CSV文件,最可能使用的方法是()。

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

25.time庫的time.time()函數(shù)的作用是()。

A.以數(shù)字形式返回當(dāng)前系統(tǒng)時(shí)間

B.以字符串形式返回當(dāng)前系統(tǒng)時(shí)間

C.以struct_time形式返回當(dāng)前系統(tǒng)時(shí)間

D.根據(jù)format格式定義返回當(dāng)前系統(tǒng)時(shí)間

26.以下程序的輸出結(jié)果是()。deffun(x): try: returnx*4 except: returnxprint(fun(“5”))

A.20B.5555C.5D.9

27.對以下代碼的輸出描述正確的是()。lis=list(range(6))print(lis)

A.[0,1,2,3,4,5]

B.[0,1,2,3,4,5,6]

C.0,1,2,3,4,5

D.0,1,2,3,4,5,6

28.以下不屬于Python的pip工具命令的是()。

A.getB.installC.showD.download

29.Python中文件的打開模式為‘t’,對應(yīng)的文件打開模式為()。

A.只讀模式B.只寫模式C.文本文件模式D.二進(jìn)制文件模式

30.以下關(guān)于列表變量ls操作的描述中,錯(cuò)誤的是()。

A.ls.copy():生成一個(gè)新列表,復(fù)制ls的所有元素

B.ls.removed):刪除ls中所有的x元素

C.ls.append(x):在ls最后增加一個(gè)元素

D.ls.reverse():反轉(zhuǎn)列表ls中所有元素

二、判斷題(10題)31.對于數(shù)字n,如果表達(dá)式0notin[n%dfordinrange(2,n)]的值為True則說明n是素?cái)?shù)。

A.是B.否

32.正則表達(dá)式元字符“\s”用來匹配任意空白字符。

A.是B.否

33.在Windows平臺上編寫的Python程序無法在Unix平臺運(yùn)行。A.是B.否

34.屬性可以像數(shù)據(jù)成員一樣進(jìn)行訪問,但賦值時(shí)具有方法的優(yōu)點(diǎn),可以對新值進(jìn)行檢查。

A.是B.否

35.表達(dá)式list('[1,2,3]')的值是[1,2,3]。

A.是B.否

36.使用Python列表的方法insert()為列表插入元素時(shí)會(huì)改變列表中插入位置之后元素的索引。

A.是B.否

37.在函數(shù)中沒有任何辦法可以通過形參來影響實(shí)參的值。

A.是B.否

38.Python類不支持多繼承。

A.是B.否

39.3+4j不是合法的Python表達(dá)式。

A.是B.否

40.Python集合中的元素不允許重復(fù)。

A.是B.否

三、填空題(10題)41.表達(dá)式round(3.7)的值為_________。

42.表達(dá)式isinstance(4j,(int,float,complex))的值為_____________。

43.Python3.x語句print(1,2,3,sep=',')的輸出結(jié)果為________________。

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

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

46.表達(dá)式[1,2,3].count(4)的值為_______________。

47.表達(dá)式type(3+4j)in(int,float,complex)的值為____________。

48.表達(dá)式{1,2,3,4}-{3,4,5,6}的值為__________________。

49.表達(dá)式3**2的值為_________。

50.已知x=[3,5,7],那么執(zhí)行語句x[1:]=[2]之后,x的值為________________。

四、操作題(3題)51.考生文件夾下存在一個(gè)文件“PY201.py”,請寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。使用turtle庫的turtle.seth()函數(shù)和turtle.fd()函數(shù)繪制一個(gè)邊長為100像素的三角形,效果如下所示。

試題程序:#請?jiān)赺____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼importturtleforiinrange(_____(1)_____):turtle.seth(_____(2)_____)_____(3)_____(100)

52.考生文件夾下存在一個(gè)文件“PY201.py”,請寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。使用turtle庫的turtle.right()函數(shù)和turtle.fd()函數(shù)繪制一個(gè)五角星,邊長為200像素,5個(gè)內(nèi)角度數(shù)為36度,效果如下所示。試題程序:#請?jiān)诔绦虻腳____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼fromturtleimport*foriin_____(1)_____:fd(_____(2)_____)_____(3)_____

53.考生文件夾下存在兩個(gè)Python源文件“PY301-1.py”和“PY301-2.py”,分別對應(yīng)兩個(gè)問題,請按照文件內(nèi)說明修改代碼,實(shí)現(xiàn)以下功能。李白,字太白,號青蓮居士,又號“謫仙人”,是唐代偉大的浪漫主義詩人,被后世譽(yù)為“詩仙”??忌募A下有一個(gè)“關(guān)山月.txt”文件,內(nèi)容如下。明月出天山,蒼茫云海間。長風(fēng)幾萬里,吹度玉門關(guān)。漢下白登道,胡窺青海灣。由來征戰(zhàn)地,不見有人還。戍客望邊邑,思?xì)w多苦顏。高樓當(dāng)此夜,嘆息未應(yīng)閑。問題1:這是一段由標(biāo)點(diǎn)符號分隔的文本,請編寫程序,以“。”句號為分隔,將這段文本轉(zhuǎn)換為詩詞風(fēng)格,輸出到文件“關(guān)山月-詩歌.txt”中。試題程序:#以下代碼為提示框架#請?jiān)?..處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fi=open("關(guān)山月.txt","r")…fi.close()fo.close()問題2:把問題1生成的“關(guān)山月-詩歌.txt”文件,以每行為單位,保留標(biāo)點(diǎn)符號為原順序和位置,輸出全文的反轉(zhuǎn)形式。將文件保存在考生文件夾下并命名為“關(guān)山月-反轉(zhuǎn).txt”。輸出的形式如下。高樓當(dāng)此夜,嘆息未應(yīng)閑。戍客望邊邑,思?xì)w多苦顏。由來征戰(zhàn)地,不見有人還。漢下白登道,胡窺青海灣。長風(fēng)幾萬里,吹度玉門關(guān)。明月出天山,蒼茫云海間。試題程序:#以下代碼為提示框架#請?jiān)?..處使用一行或多行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準(zhǔn)fi=open("關(guān)山月-詩歌.txt","r")fo=open(“關(guān)山月-反轉(zhuǎn).txt","w")…fi.close()fo.close()

參考答案

1.Cclose()函數(shù)用于文件關(guān)閉,通過file.close()的方式調(diào)用,不是Python的內(nèi)置函數(shù)。本題選擇C選項(xiàng)。

2.D遍歷列表letter,當(dāng)i==’D’時(shí),執(zhí)行l(wèi)etter.removeG),此時(shí)列表letter:\n[‘A’,’B’,’C’,'D’];再遍歷當(dāng)i==\n‘D’,執(zhí)行l(wèi)etter.remove(i),此時(shí)列表letter=['A’,’B’,’C’,’D’]。因?yàn)榱斜淼脑貍€(gè)數(shù)隨著“D”元素的刪除而減小,當(dāng)刪除第一個(gè)“D”元素之后,列表元素的個(gè)數(shù)即變?yōu)?,for循環(huán)又是控制循環(huán)次數(shù)的,因此只遍歷5次,當(dāng)?shù)诙€(gè)“\nD”元素刪除時(shí),循環(huán)結(jié)束。本題選擇D選項(xiàng)。

3.AA選項(xiàng)中類只是一種抽象事物的分類,對象才是一種實(shí)例。本題選擇A選項(xiàng)。

4.A該代碼的功能是根據(jù)傳人的參數(shù)求取該數(shù)的階乘,經(jīng)過一系列的運(yùn)算將結(jié)果返回,4的階乘為24。

5.B二維數(shù)據(jù)由多個(gè)一維數(shù)據(jù)構(gòu)成,可以看作是一維數(shù)據(jù)的組合形式。本題中該列表中雖然包含兩種數(shù)據(jù)類型,但仍然是一維數(shù)據(jù)。

6.Cfor循環(huán)將字符串“PythonNCRE”的字符依次賦給變量S,當(dāng)s==“N”時(shí),跳出for循環(huán),故輸出為Python。本題選擇C選項(xiàng)。

7.D

8.C二叉樹中只存在度為0、1、2的結(jié)點(diǎn),根據(jù)在二叉樹中度為0的結(jié)點(diǎn)(葉子結(jié)點(diǎn))總比度為2的結(jié)點(diǎn)多一個(gè),可知本題中度為2的結(jié)點(diǎn)有20-1\n=19個(gè)。故該二叉樹中總的結(jié)點(diǎn)數(shù)為20+5+19=44個(gè)。本題選擇C選項(xiàng)。

9.B外層for循環(huán)是將a[0]=[1,2,3],a[1]=[4,5,6],a[2]=[7,8,9]依次賦給變量c;內(nèi)層for循環(huán)將變量j從0遞增到2,即累加c[1]+c[2]+c[3]的值,所以內(nèi)層循環(huán)加外層循環(huán)是計(jì)算1+2+3+4+5+6+7+8+9的值,s=45。

10.C該程序段是輸出8以內(nèi)的奇數(shù),continue語句只結(jié)束本次循環(huán),不終止整個(gè)循環(huán)的執(zhí)行。

11.A數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是數(shù)據(jù)庫的設(shè)計(jì)。本題選擇A選項(xiàng)。

12.Bappend()可以向列表元素的結(jié)尾增加元素。本題選擇B選項(xiàng)。

13.C

14.D冒泡排序、直接插入排序與簡單選擇排序法在最壞情況下均需要比較n(n-\n1)/2次,而堆排序在最壞情況下需要比較的次數(shù)是nlog2n。本題選擇D選項(xiàng)。

15.APython提供3種基本的數(shù)字類型:整數(shù)類型、浮點(diǎn)數(shù)類型、復(fù)數(shù)類型,分別對應(yīng)數(shù)學(xué)中的整數(shù)、實(shí)數(shù)及復(fù)數(shù)。本題選擇A選項(xiàng)。

16.Dstr.center(width,fillchar)方法返回長度為width的字符串。其中str處于新字符串中心位置,兩側(cè)新增字符串采用fillchar填充,當(dāng)width小于字符串長度時(shí),返回str;fillchar是單個(gè)字符。本題中,str1.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論