河南省信陽市全國計算機等級考試Python語言程序設(shè)計_第1頁
河南省信陽市全國計算機等級考試Python語言程序設(shè)計_第2頁
河南省信陽市全國計算機等級考試Python語言程序設(shè)計_第3頁
河南省信陽市全國計算機等級考試Python語言程序設(shè)計_第4頁
河南省信陽市全國計算機等級考試Python語言程序設(shè)計_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

河南省信陽市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.執(zhí)行以下程序,導(dǎo)致輸出”輸入有誤”的輸入選項是()。try:ls=eval(input())*2print(ls)except:print(’輸入有誤’)

A.’aa’B.’12’C.aaD.12

2.下面程序的輸出結(jié)果是()。Is=[“橘子”,“芒果”,“草毒”,“西瓜”,“水蜜桃”]ForkinIs:print(k,end=“”)A.橘子芒果草莓西瓜水蜜桃B.橘子芒果草莓西瓜水蜜桃C.西瓜D.”橘子”芒果"草莓”"西瓜"”水蜜桃”

3.在數(shù)據(jù)庫設(shè)計中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于()。

A.物理設(shè)計階段B.需求分析階段C.概念設(shè)計階段D.邏輯設(shè)計階段

4.執(zhí)行以下代碼的結(jié)果是()A.-1B.0C.4D.異常報錯

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

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

6.以下代碼的輸出結(jié)果是()。forsin”PythonNCRE”:ifs==”N”:breakprint(s,end=””)

A.PythonCREB.NC.PythonD.PythonNCRE

7.以下代碼的輸出結(jié)果是()。Is=[‘book’,666,[2018,'python’,314],20]print(ls[2][1][-2])

A.nB.pythonC.oD.結(jié)果錯誤

8.以下程序的輸出結(jié)果是()。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

9.假設(shè)city.csv文件內(nèi)容如下:巴哈馬,巴林,孟加拉國,巴巴多斯白俄羅斯,比利時,伯利茲以下代碼的輸出結(jié)果是()。f=open(”city.csv”,”r”)ls=f.read().split(”,”)f.close()print(ls)

A.[’巴哈馬’,’巴林’,’孟加拉國’,’巴巴多斯\n白俄羅斯’,’比利時’,’伯利茲’]

B.[’巴哈馬’,’巴林’,’孟加拉國’,’巴巴多斯’,’白俄羅斯’,’比利時’,’伯利茲’]

C.[’巴哈馬,巴林,孟加拉國,巴巴多斯,白俄羅斯,比利時,伯利茲’]

D.[’巴哈馬’,’巴林’,’孟加拉國’,’巴巴多斯’,’\n’,’白俄羅斯’,’比利時’,’伯利茲’]

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

A.PythonB.PythonNC.PythonNiD.PythonNice

11.以下程序的輸出結(jié)果是()。l=‘a(chǎn)bcd’deff(x,result=[‘a(chǎn)’,‘b’,‘c’,‘d’]): ifx: result.remove(x[-1]) f(x[:-1]) returnresultprint(f(l))

A.[‘a(chǎn)’,‘b’,‘c’,‘d’]

B.[‘b’,‘c’,‘d’

C.[‘a(chǎn)’,‘b’,‘c’]

D.[]

12.下列函數(shù)中,不是Python內(nèi)置函數(shù)的是()。

A.perf_counter()B.all()C.abs()D.format()

13.下列關(guān)于列表的說法正確的是()。

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

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

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

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

14.Python3中獲取用戶輸入并默認以字符串存儲的函數(shù)是()

A.raw_inputB.inputC.rawD.print

15.以下程序的輸出結(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

16.在Python中,IPO模式不包括()。

A.Program(程序)B.Input(輸入)C.Process(處理)D.Output(輸出)

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

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

18.關(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

19.以下屬于Python中Web開發(fā)框架第三方庫的是()。

A.DjangoB.TinyDBC.audiolazyD.Pattem

20.設(shè)線性表的長度為12。最壞情況下冒泡排序需要的比較次數(shù)為()。

A.66B.78C.144D.60

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

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

22.在讀寫文件之前,需要打開文件使用的函數(shù)是()。

A.readB.fopenC.openD.CFile

23.下面不能創(chuàng)建一個集合的語句是()

A.s1=set()

B.s2=set(“abcd”)

C.s3={1,2,3,4}

D.s4=frozenset(('string'),(1,2,3))

24.在Python語言中,使用for..in..方式形成的循環(huán)不能遍歷的類型是()。

A.列表B.復(fù)數(shù)C.字符串D.字典

25.下列關(guān)于Python縮進的描述中,錯誤的是()。

A.Python采用嚴格的“縮進”來表明程序格式不可嵌套

B.判斷、循環(huán)、函數(shù)等語法形式能夠通過縮進包含一批Python代碼,進而表達對應(yīng)的語義

C.Pythcm單層縮進代碼屬于之前最鄰近的一行非縮進代碼,多層縮進代碼根據(jù)縮進關(guān)系決定所屬范圍

D.縮進指每一行代碼前面的留白部分,用來表示代碼之間的層次關(guān)系

26.下面代碼的輸出結(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."l,3,5,7"

27.以下程序的輸出結(jié)果是()。ls=[12,44,23,46]foriinlsifi==‘44’:print(‘foundit!i=i’,i)breakelse:print(‘notfoundit…’)A.notfoundit…

B.foundit!i=44

C.foundit!i=44notfoundit…

D.foundit!i=‘44’notfoundit...

28.以下哪個選項是正確的Python搜索變量的順序

A.內(nèi)置作用域(Built-in)→全局/模塊作用域(Global)→當前作用域被嵌入的本地作用域(Enclosinglocals)→本地作用域(Local)

B.本地作用域(Local)→當前作用域被嵌入的本地作用域(Enclosinglocals))→內(nèi)置作用域(Built-in)→全局/模塊作用域(Global)

C.本地作用域(Local)→內(nèi)置作用域(Built-in)→當前作用域被嵌入的本地作用域(Enclosinglocals)→全局/模塊作用域(Global)

D.本地作用域(Local)→當前作用域被嵌入的本地作用域(Enclosinglocals)→全局/模塊作用域(Global)→內(nèi)置作用域(Built-in)

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

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

30.以下關(guān)于Python列表的描述中,正確的是()。

A.列表的長度和內(nèi)容都可以改變,但元素類型必須相同

B.不可以對列表進行成員運算操作、長度計算和分片

C.列表的索引是從1開始的

D.可以使用比較操作符(如>或<等)對列表進行比較

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

A.是B.否

32.在任何時刻相同的值在內(nèi)存中都只保留一份

A.是B.否

33.在Python3.x中reduce()是內(nèi)置函數(shù)。

A.是B.否

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

A.是B.否

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

A.是B.否

36.列表對象的pop()方法默認刪除并返回最后一個元素,如果列表已空則拋出異常。

A.是B.否

37.在函數(shù)內(nèi)部直接修改形參的值并不影響外部實參的值。

A.是B.否

38.Python使用縮進來體現(xiàn)代碼之間的邏輯關(guān)系。

A.是B.否

39.一般來說,Python擴展庫沒有通用于所有版本Python的,安裝時應(yīng)選擇與已安裝Python的版本對應(yīng)的擴展庫。

A.是B.否

40.已知x=3,那么賦值語句x='abcedfg'是無法正常執(zhí)行的。

A.是B.否

三、填空題(10題)41.表達式list(filter(None,[0,1,2,3,0,0]))的值為___________________。

42.使用運算符測試集合A是否為集合B的真子集的表達式可以寫作__________。

43.表達式[indexforindex,valueinenumerate([3,5,7,3,7])ifvalue==max([3,5,7,3,7])]的值為__________________。

44.已知列表x=[1,2],執(zhí)行語句y=x后,表達式xisy的值為_______。

45.假設(shè)列表對象aList的值為[3,4,5,6,7,9,11,13,15,17],那么切片aList[3:7]得到的值是______________________。

46.表達式'%c'%65的值為_________。

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

48.已知x={1:1,2:2},那么執(zhí)行語句x[2]=4之后,len(x)的值為____________。

49.Python內(nèi)置函數(shù)()用來返回序列中的最小元素。

50.對于帶有else子句的for循環(huán)和while循環(huán),當循環(huán)因循環(huán)條件不成立而自然結(jié)束時________(會?不會?)執(zhí)行else中的代碼。

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

52.考生文件夾下存在兩個Python源文件,分別對應(yīng)兩個問題,請按照文件內(nèi)說明修改代碼,實現(xiàn)以下功能。馬和駱駝都是哺乳動物,它們都有4只腳,體型也差不多大,我們將在這里為它們編寫屬于它們各自的類。問題1:在“PY301-l.py”文件中修改代碼,代碼中編寫了一個馬(Horse)的類,在這個類中馬有3個屬性,分別是年齡(age)、品種(category)及性別(gender)。在每創(chuàng)建一個馬的對象時,我們需要為其指定它的年齡、品種及性別。該類中還編寫一個get_descriptive()方法,能夠輸出馬的這3個屬性。每一匹馬都有自己的最快速度,所以類中有一個speed()方法,可以輸出馬的最快速度值。并且在馬的生命過程中,它的速度一直在變,類中還有一個update_Speed()方法用來更新馬當前的最快速度值。例如:一匹12歲的阿拉伯公馬,在草原上奔跑的速度為50千米每小時,要求調(diào)用get_descriptive()和up-date_speed()方法,將輸出的結(jié)果保存在考生文件夾下,文件命名為“PY301-1.txt”。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準fo=open("PY301-1.txt”,"w")_____Horse():def_____(self,category,gender,age):…defget_descriptive(self〉:info='thishorseis‘+_____+‘yearsold,‘+'itscategoryis‘+_____+‘,’+‘itsfenderis'++’,’fo.write(info+"\n")defupdate_speed(self,new一speed):fo.write(‘thespeedofthishorseis‘+str(self.horse一speed)+"km/h.")…fo.close()問題2:在“PY301-2.py”文件中修改代碼,該代碼編寫了一個駱駝類(Camel),這個類繼承自上一個文件中的馬類但是不對馬類中的屬性和方法進行操作。因為每個駱駝的駝峰數(shù)量不一致,我們在類中添加駝峰數(shù)目這個新屬性,并且添加一個輸出駱駝駝峰數(shù)目的方法。例如:一個20歲的雙峰母駱駝以每小時40千米的速度奔跑在沙漠中,調(diào)用父類的方法和Camel類本身的方法將結(jié)果保存在“PY301-2.txt”中,保存在考生文件夾下。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準fo=open("PY301-2.txt","w")_____Horse():def_____(self,category,gender,age):defget_descriptive(self):info='thishorseis‘+_____+‘yearsold,’+'itscategoryis‘+_____+‘,’+‘itsfenderis‘+_____+’,’fo.write(info+"\n")defupdate_speed(self,new_speed):fo.write(’thespeedofthishorseis‘+str(self.horse_speed)+"km/h.\n")classCamel(Horse):Def_init_(self,category,gender,age):_____.___init___(category,gender,age〉self.hump_size=2defdescribe_hump_size(self):fo.write(’thiscamelhas‘+str(self.hump_size)+‘hump.’)…fo.close()

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

試題程序:

#請在程序的…處使用一行或多行代碼替換

#請在程序的______處使用一行代碼替換#注意:請不要修改其他已給出代碼

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

……

print(name)

參考答案

1.C無論用戶輸入的是字符還是數(shù)字,input()函數(shù)統(tǒng)一按照字符串類型輸出,當輸入aa時,以字符串類型’aa’返回;然后eval()函數(shù)處理字符串’aa’,去掉其兩側(cè)的引號,將其解釋為一個變量,由于之前沒有定義過該變量,因此解釋器報錯,輸出”輸入有誤”。

2.Bfor循環(huán)遍歷列表Is,依次把Is中的元素賦值給變量k,并使用函數(shù)Print()輸出各元素(格式為元素間用空格符分隔)。本題選擇B選項。

3.D數(shù)據(jù)庫的邏輯設(shè)計工作主要是將E-R圖轉(zhuǎn)換成指定關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RelationalDa-tabaseManagement\nSystem,RDBMS)中的關(guān)系模式。本題選擇D選項。

4.D

5.D

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

7.C列表索引從0開始,列表遵循正向遞增索引和反向遞減索引,故ls[2][l][-2]是字符。本題選擇C選項。

8.Dord()函數(shù)是把字符轉(zhuǎn)換成對應(yīng)的ASCII值,chr()函數(shù)是ord()函數(shù)的逆運算,即把ASCII值轉(zhuǎn)換成對應(yīng)的字符輸出,所以ord(“A”)為65。第一個for循環(huán)的作用是生成鍵值對存儲在字典變量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……依次循環(huán)賦值,直到i=25時結(jié)束for循環(huán)。第二個for循環(huán)的作用是輸出字典的值,get(key,default=None)函數(shù)有兩個參數(shù):第一個參數(shù)是字典的鍵;第二個參數(shù)是默認值,作用是返回字典中key對應(yīng)的值,如果key不存在,則返回默認值,如d={“A”:“N”,“0”:“B”,“Z”:“M”},d.get(“A”,“C”)返回的是N。當c=“P”時,在字典中查找是否存在鍵為“P”的值,遍歷后發(fā)現(xiàn)存在這樣的值,所以返回C。for循環(huán)繼續(xù)遍歷剩下的字符,在字典中找不到對應(yīng)的鍵,則返回默認值,所以結(jié)果返回為Cython。本題選擇D選項。

9.A在Python中,split()方法通過指定分隔符對字符串進行切片,返回分隔后的字符串列表。以split(”,”)方法從CSV文件中獲得內(nèi)容時,無法去除換行符。’巴巴多斯\n白俄羅斯’作為一個列表元素出現(xiàn),所以ls=[’巴哈馬’,’巴林’,’孟加拉國’,’巴巴多斯\n白俄羅斯’,’比利時’,’伯利茲’],最后輸出列表。本題選A選項。

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

11.D這段代碼是一個遞歸函數(shù),作用是把result列表中所有與1中一致的元素刪除,所以最后的結(jié)果是一個空的列表,即[]。本題選擇D選項。

12.Aperf_counter()是time庫的函數(shù),調(diào)用該函數(shù)需要先導(dǎo)入time庫。

13.A列表的索引序號是從0開始的,以此類推;使用append()函數(shù)可以向列表插入元素,但只能插入到列表的末尾;使用remove(x)函數(shù)是將列表中出現(xiàn)的第一個x元素刪除。

14.B

15.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)是計算1+2+3+4+5+6+7+8+9的值,即s=45。本題選擇B選項。

16.A程序設(shè)計IPO模式內(nèi)容如下。I:Input(輸入),程序的輸入。程序的輸入包括文件輸入、網(wǎng)絡(luò)輸入、控制臺輸入、隨機數(shù)據(jù)輸入、程序內(nèi)部參數(shù)輸入等。輸入是一個程序的開始。P:Process(處理),程序的主要邏輯。程序?qū)斎脒M行處理,輸出產(chǎn)生結(jié)果。處理的方法也叫算法,是程序最重要的部分??梢哉f,算法是一個程序的主要靈魂。O:Output(輸出),程序的輸出。程序的輸出包括屏幕顯示輸出、文件輸出、網(wǎng)絡(luò)輸出、操作系統(tǒng)內(nèi)部變量輸出等。輸出是一個程序展示運算成果的方式。本題選擇A選項。

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

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

19.AB項是一個微型的面向文檔的數(shù)據(jù)庫,C項是Python的數(shù)字信號處理包,D項是Python的網(wǎng)絡(luò)信息挖掘模塊。

20.A最壞情況下冒泡排序需要的比較次數(shù)為n(n—1)/2,本題中n=12,故需要比較66次。本題選擇A選項。

21.C

22.CPython通過open()函數(shù)打開一個文件,并返回一個操作這個文件的變量,語法:<變量名>=open(<文件路徑及文件名>,<打開模式>)。本題選C選項。

23.D

24.B在Python語言中,使用for..in..方式形成的循環(huán)能遍歷的類型有字符串、文件、range()函數(shù)或組合數(shù)據(jù)類型,不能遍歷復(fù)數(shù)。

25.APython采用嚴格的“縮進來表明程序格式”,而且“縮進”中是可以嵌套的。本題選擇A選項。

26.Bappend()是向列表元素的結(jié)尾增加元素。本題選擇B選項。

27.A由于列表ls中所有元素都是整數(shù)類型,不可能等于字符串類型的‘44’,即if語句中的條件不成立,需執(zhí)行else語句,輸出notfoundit…。本題選擇A選項。

28.D

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

30.D列表是包含0個或多個元素的有序序列,屬于序列類型。列表用中括號([])表示,由于列表屬于序列類型,故繼承了序列類型的所有屬性和方法。索引是列表的基本操作,用于獲得列表中的一個元素,該操作沿用序列類型的索引方式,即正向遞增序號或反向遞減序號,使用中括號作為索引操作符,索引號不得超過列表的元素范圍,否則將產(chǎn)生lndexError錯誤。索引下標從0開始。列表可以進行元素增加、刪除、替換、查找等操作。列表沒有長度限制,元素類型可以不同,能夠包含其他的組合數(shù)據(jù)類型,可以使用比較操作符(如>或<等)對列表進行比較,也可以對列表進行成員運算操作、長度計算和分片。故D項正確。

31.Y

32.N

33.N

34.Y

35.Y

36.Y

37.Y

38.Y

39.Y

40.N

41.[1,2,3]

42.A

43.[2,4]

44.True

45.[6,7,9,11]

46.'A'

47.有序

48.2

49.min()

50.會

51.(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)容是一段文本,要把文本改為詩詞風格,即以全角句號分隔,可使用字符串的split()方法,該方法返回的是一個列表;列表的每個元素都是一行詩句,使用join()方法把列表的每一個元素寫入“關(guān)山月_詩歌.txt”文件中,連接符為全角句號和換行符;操作完成之后將打開的文件用close()方法關(guān)閉,避免內(nèi)容的丟失。(2)把“問題1”生成的詩詞風格的文件按照每行為單位將其逆序輸出,須使用列表的reveree()方法,即需要把文件的內(nèi)容轉(zhuǎn)換為列表類型,readlines()方法從文件中讀入所有行的內(nèi)容,以每行為元素形成一個列表,然后調(diào)用reverse()方法反轉(zhuǎn),將反轉(zhuǎn)后的內(nèi)容寫入“關(guān)山月-反轉(zhuǎn).txt”文件中。操作完成之后將打開的文件用close()方法關(guān)閉,避免內(nèi)容的丟失。

52.(1)fo=open(”PY301一1.txt”,”w”)classHorse():Def__init__(self,category,gender,age):self.category=categoryself.gender=genderself.age=ageself.horse_speed=0defget_descriptive(self):info=’thishorseis’+str(self.age)+’yearsold,’+’itscategory\r\nis’+self.category+’,’+'itsfenderis'+self.gender+’.’fo.write(info+”\\n”)defupdate_speed(self,new_speed):self.horse_speed=new_speedfo.write(’thespeedofthishorseis’+str(self.horse_speed)+”km/h.”)\r\nhorse=Horse("Arab","male","12")horse.get_deseriptive()horse.update_speed(50)fo.close()(2)fo=open(”PY301-2.txt”,”w”)classHorse():def__init__(self,category,gender,age):self.category=categoryself.gender=genderself.age=ageself.horse_speed=0defget_descriptive(self):info=’thishorseis’+str(self.age)+’yearsold,’+’itscategory\r\nis’+self.category+’,’+'itsfenderis’+self.gender+’.’fo.write(info+”\\n”)defupdate_speed(self,new_speed):self.horse_speed=new_speedfo.write(’thespeed0fthishorseis’+str(self.horse_speed)+”km/h.\\n”)classCamel(Horse):def_init_(self,category,gender,age):super()_init_(category,gender,age)self.hump_size=2defdescribe_hump_size(self):fo.write(’thiscamelhas’+str(self.hump_size)+’hump.’)camel=Camel(Doublehump","female","20")camel.get_descriptive()camel.update_speed(40)camel.describe_hump_size()fo.close()(1)文件的操作需要調(diào)用open()函數(shù)以寫模式打開文件。Python定義類使用的關(guān)鍵字是class,且類的名稱首字母要大寫。_init_()是類的特殊方法,當根據(jù)Horse類創(chuàng)建新實例時,Python都會自動運行它。在這個方法中,開頭和結(jié)尾各有兩個下劃線,這是一種約定。_init_()方法中定義了四個形參:self、category、gender和age。在這個方法定義中形參self必不可少,且必須位于其他形參前面。每個定義的變量都要以self為前綴,以self為前綴的變量都可供類中的所有方法使用。調(diào)用方法需要創(chuàng)建實例,然后使用點號表示法來調(diào)用Horse類中定義的任何方法。使用write()方法將結(jié)果寫入到文件“PY301一1.txt”中,操作完成之后,調(diào)用close()方法關(guān)閉文件。(2)在“問題1”的基礎(chǔ)上又添加了一個Camel類,super。()是一個特殊函數(shù),幫助Python將父類和子類關(guān)聯(lián)起來。創(chuàng)建子類時,父類必須包含在當前文件中,且位于子類前面。定義子類時,必須在括號內(nèi)指定父類的名稱。

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

print(name)題目要求隨機輸出列表中的一個手機名稱,“隨機”需要用到Python的標準庫random,random.seed(0)的作用是設(shè)置初始化隨機數(shù)種子,設(shè)置種子的好處就是可以重復(fù)再現(xiàn)相同的隨機數(shù)序列。輸出列表中的元素可以使用索引的方法,分析代碼可知,列表中共有5個元素,所以元素的序號由0到4,需要用到random庫的randint()方法。random.randint(a,b)的作用是產(chǎn)生一個[a,b]之間的隨機整數(shù)。河南省信陽市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.執(zhí)行以下程序,導(dǎo)致輸出”輸入有誤”的輸入選項是()。try:ls=eval(input())*2print(ls)except:print(’輸入有誤’)

A.’aa’B.’12’C.aaD.12

2.下面程序的輸出結(jié)果是()。Is=[“橘子”,“芒果”,“草毒”,“西瓜”,“水蜜桃”]ForkinIs:print(k,end=“”)A.橘子芒果草莓西瓜水蜜桃B.橘子芒果草莓西瓜水蜜桃C.西瓜D.”橘子”芒果"草莓”"西瓜"”水蜜桃”

3.在數(shù)據(jù)庫設(shè)計中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于()。

A.物理設(shè)計階段B.需求分析階段C.概念設(shè)計階段D.邏輯設(shè)計階段

4.執(zhí)行以下代碼的結(jié)果是()A.-1B.0C.4D.異常報錯

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

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

6.以下代碼的輸出結(jié)果是()。forsin”PythonNCRE”:ifs==”N”:breakprint(s,end=””)

A.PythonCREB.NC.PythonD.PythonNCRE

7.以下代碼的輸出結(jié)果是()。Is=[‘book’,666,[2018,'python’,314],20]print(ls[2][1][-2])

A.nB.pythonC.oD.結(jié)果錯誤

8.以下程序的輸出結(jié)果是()。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

9.假設(shè)city.csv文件內(nèi)容如下:巴哈馬,巴林,孟加拉國,巴巴多斯白俄羅斯,比利時,伯利茲以下代碼的輸出結(jié)果是()。f=open(”city.csv”,”r”)ls=f.read().split(”,”)f.close()print(ls)

A.[’巴哈馬’,’巴林’,’孟加拉國’,’巴巴多斯\n白俄羅斯’,’比利時’,’伯利茲’]

B.[’巴哈馬’,’巴林’,’孟加拉國’,’巴巴多斯’,’白俄羅斯’,’比利時’,’伯利茲’]

C.[’巴哈馬,巴林,孟加拉國,巴巴多斯,白俄羅斯,比利時,伯利茲’]

D.[’巴哈馬’,’巴林’,’孟加拉國’,’巴巴多斯’,’\n’,’白俄羅斯’,’比利時’,’伯利茲’]

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

A.PythonB.PythonNC.PythonNiD.PythonNice

11.以下程序的輸出結(jié)果是()。l=‘a(chǎn)bcd’deff(x,result=[‘a(chǎn)’,‘b’,‘c’,‘d’]): ifx: result.remove(x[-1]) f(x[:-1]) returnresultprint(f(l))

A.[‘a(chǎn)’,‘b’,‘c’,‘d’]

B.[‘b’,‘c’,‘d’

C.[‘a(chǎn)’,‘b’,‘c’]

D.[]

12.下列函數(shù)中,不是Python內(nèi)置函數(shù)的是()。

A.perf_counter()B.all()C.abs()D.format()

13.下列關(guān)于列表的說法正確的是()。

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

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

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

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

14.Python3中獲取用戶輸入并默認以字符串存儲的函數(shù)是()

A.raw_inputB.inputC.rawD.print

15.以下程序的輸出結(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

16.在Python中,IPO模式不包括()。

A.Program(程序)B.Input(輸入)C.Process(處理)D.Output(輸出)

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

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

18.關(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

19.以下屬于Python中Web開發(fā)框架第三方庫的是()。

A.DjangoB.TinyDBC.audiolazyD.Pattem

20.設(shè)線性表的長度為12。最壞情況下冒泡排序需要的比較次數(shù)為()。

A.66B.78C.144D.60

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

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

22.在讀寫文件之前,需要打開文件使用的函數(shù)是()。

A.readB.fopenC.openD.CFile

23.下面不能創(chuàng)建一個集合的語句是()

A.s1=set()

B.s2=set(“abcd”)

C.s3={1,2,3,4}

D.s4=frozenset(('string'),(1,2,3))

24.在Python語言中,使用for..in..方式形成的循環(huán)不能遍歷的類型是()。

A.列表B.復(fù)數(shù)C.字符串D.字典

25.下列關(guān)于Python縮進的描述中,錯誤的是()。

A.Python采用嚴格的“縮進”來表明程序格式不可嵌套

B.判斷、循環(huán)、函數(shù)等語法形式能夠通過縮進包含一批Python代碼,進而表達對應(yīng)的語義

C.Pythcm單層縮進代碼屬于之前最鄰近的一行非縮進代碼,多層縮進代碼根據(jù)縮進關(guān)系決定所屬范圍

D.縮進指每一行代碼前面的留白部分,用來表示代碼之間的層次關(guān)系

26.下面代碼的輸出結(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."l,3,5,7"

27.以下程序的輸出結(jié)果是()。ls=[12,44,23,46]foriinlsifi==‘44’:print(‘foundit!i=i’,i)breakelse:print(‘notfoundit…’)A.notfoundit…

B.foundit!i=44

C.foundit!i=44notfoundit…

D.foundit!i=‘44’notfoundit...

28.以下哪個選項是正確的Python搜索變量的順序

A.內(nèi)置作用域(Built-in)→全局/模塊作用域(Global)→當前作用域被嵌入的本地作用域(Enclosinglocals)→本地作用域(Local)

B.本地作用域(Local)→當前作用域被嵌入的本地作用域(Enclosinglocals))→內(nèi)置作用域(Built-in)→全局/模塊作用域(Global)

C.本地作用域(Local)→內(nèi)置作用域(Built-in)→當前作用域被嵌入的本地作用域(Enclosinglocals)→全局/模塊作用域(Global)

D.本地作用域(Local)→當前作用域被嵌入的本地作用域(Enclosinglocals)→全局/模塊作用域(Global)→內(nèi)置作用域(Built-in)

29.以下代碼的輸出結(jié)果是()。d={”大?!保骸彼{色”,”天空":”灰色","大地":”黑色”}print(d["大地”],d.get("天空”,"黃色”))

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

30.以下關(guān)于Python列表的描述中,正確的是()。

A.列表的長度和內(nèi)容都可以改變,但元素類型必須相同

B.不可以對列表進行成員運算操作、長度計算和分片

C.列表的索引是從1開始的

D.可以使用比較操作符(如>或<等)對列表進行比較

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

A.是B.否

32.在任何時刻相同的值在內(nèi)存中都只保留一份

A.是B.否

33.在Python3.x中reduce()是內(nèi)置函數(shù)。

A.是B.否

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

A.是B.否

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

A.是B.否

36.列表對象的pop()方法默認刪除并返回最后一個元素,如果列表已空則拋出異常。

A.是B.否

37.在函數(shù)內(nèi)部直接修改形參的值并不影響外部實參的值。

A.是B.否

38.Python使用縮進來體現(xiàn)代碼之間的邏輯關(guān)系。

A.是B.否

39.一般來說,Python擴展庫沒有通用于所有版本Python的,安裝時應(yīng)選擇與已安裝Python的版本對應(yīng)的擴展庫。

A.是B.否

40.已知x=3,那么賦值語句x='abcedfg'是無法正常執(zhí)行的。

A.是B.否

三、填空題(10題)41.表達式list(filter(None,[0,1,2,3,0,0]))的值為___________________。

42.使用運算符測試集合A是否為集合B的真子集的表達式可以寫作__________。

43.表達式[indexforindex,valueinenumerate([3,5,7,3,7])ifvalue==max([3,5,7,3,7])]的值為__________________。

44.已知列表x=[1,2],執(zhí)行語句y=x后,表達式xisy的值為_______。

45.假設(shè)列表對象aList的值為[3,4,5,6,7,9,11,13,15,17],那么切片aList[3:7]得到的值是______________________。

46.表達式'%c'%65的值為_________。

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

48.已知x={1:1,2:2},那么執(zhí)行語句x[2]=4之后,len(x)的值為____________。

49.Python內(nèi)置函數(shù)()用來返回序列中的最小元素。

50.對于帶有else子句的for循環(huán)和while循環(huán),當循環(huán)因循環(huán)條件不成立而自然結(jié)束時________(會?不會?)執(zhí)行else中的代碼。

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

52.考生文件夾下存在兩個Python源文件,分別對應(yīng)兩個問題,請按照文件內(nèi)說明修改代碼,實現(xiàn)以下功能。馬和駱駝都是哺乳動物,它們都有4只腳,體型也差不多大,我們將在這里為它們編寫屬于它們各自的類。問題1:在“PY301-l.py”文件中修改代碼,代碼中編寫了一個馬(Horse)的類,在這個類中馬有3個屬性,分別是年齡(age)、品種(category)及性別(gender)。在每創(chuàng)建一個馬的對象時,我們需要為其指定它的年齡、品種及性別。該類中還編寫一個get_descriptive()方法,能夠輸出馬的這3個屬性。每一匹馬都有自己的最快速度,所以類中有一個speed()方法,可以輸出馬的最快速度值。并且在馬的生命過程中,它的速度一直在變,類中還有一個update_Speed()方法用來更新馬當前的最快速度值。例如:一匹12歲的阿拉伯公馬,在草原上奔跑的速度為50千米每小時,要求調(diào)用get_descriptive()和up-date_speed()方法,將輸出的結(jié)果保存在考生文件夾下,文件命名為“PY301-1.txt”。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準fo=open("PY301-1.txt”,"w")_____Horse():def_____(self,category,gender,age):…defget_descriptive(self〉:info='thishorseis‘+_____+‘yearsold,‘+'itscategoryis‘+_____+‘,’+‘itsfenderis'++’,’fo.write(info+"\n")defupdate_speed(self,new一speed):fo.write(‘thespeedofthishorseis‘+str(self.horse一speed)+"km/h.")…fo.close()問題2:在“PY301-2.py”文件中修改代碼,該代碼編寫了一個駱駝類(Camel),這個類繼承自上一個文件中的馬類但是不對馬類中的屬性和方法進行操作。因為每個駱駝的駝峰數(shù)量不一致,我們在類中添加駝峰數(shù)目這個新屬性,并且添加一個輸出駱駝駝峰數(shù)目的方法。例如:一個20歲的雙峰母駱駝以每小時40千米的速度奔跑在沙漠中,調(diào)用父類的方法和Camel類本身的方法將結(jié)果保存在“PY301-2.txt”中,保存在考生文件夾下。試題程序:#以下代碼為提示框架#請在...處使用一行或多行代碼替換#請在_____處使用一行代碼替換#注意:提示框架的代碼可以任意修改,以完成程序功能為準fo=open("PY301-2.txt","w")_____Horse():def_____(self,category,gender,age):defget_descriptive(self):info='thishorseis‘+_____+‘yearsold,’+'itscategoryis‘+_____+‘,’+‘itsfenderis‘+_____+’,’fo.write(info+"\n")defupdate_speed(self,new_speed):fo.write(’thespeedofthishorseis‘+str(self.horse_speed)+"km/h.\n")classCamel(Horse):Def_init_(self,category,gender,age):_____.___init___(category,gender,age〉self.hump_size=2defdescribe_hump_size(self):fo.write(’thiscamelhas‘+str(self.hump_size)+‘hump.’)…fo.close()

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

試題程序:

#請在程序的…處使用一行或多行代碼替換

#請在程序的______處使用一行代碼替換#注意:請不要修改其他已給出代碼

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

……

print(name)

參考答案

1.C無論用戶輸入的是字符還是數(shù)字,input()函數(shù)統(tǒng)一按照字符串類型輸出,當輸入aa時,以字符串類型’aa’返回;然后eval()函數(shù)處理字符串’aa’,去掉其兩側(cè)的引號,將其解釋為一個變量,由于之前沒有定義過該變量,因此解釋器報錯,輸出”輸入有誤”。

2.Bfor循環(huán)遍歷列表Is,依次把Is中的元素賦值給變量k,并使用函數(shù)Print()輸出各元素(格式為元素間用空格符分隔)。本題選擇B選項。

3.D數(shù)據(jù)庫的邏輯設(shè)計工作主要是將E-R圖轉(zhuǎn)換成指定關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RelationalDa-tabaseManagement\nSystem,RDBMS)中的關(guān)系模式。本題選擇D選項。

4.D

5.D

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

7.C列表索引從0開始,列表遵循正向遞增索引和反向遞減索引,故ls[2][l][-2]是字符。本題選擇C選項。

8.Dord()函數(shù)是把字符轉(zhuǎn)換成對應(yīng)的ASCII值,chr()函數(shù)是ord()函數(shù)的逆運算,即把ASCII值轉(zhuǎn)換成對應(yīng)的字符輸出,所以ord(“A”)為65。第一個for循環(huán)的作用是生成鍵值對存儲在字典變量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……依次循環(huán)賦值,直到i=25時結(jié)束for循環(huán)。第二個for循環(huán)的作用是輸出字典的值,get(key,default=None)函數(shù)有兩個參數(shù):第一個參數(shù)是字典的鍵;第二個參數(shù)是默認值,作用是返回字典中key對應(yīng)的值,如果key不存在,則返回默認值,如d={“A”:“N”,“0”:“B”,“Z”:“M”},d.get(“A”,“C”)返回的是N。當c=“P”時,在字典中查找是否存在鍵為“P”的值,遍歷后發(fā)現(xiàn)存在這樣的值,所以返回C。for循環(huán)繼續(xù)遍歷剩下的字符,在字典中找不到對應(yīng)的鍵,則返回默認值,所以結(jié)果返回為Cython。本題選擇D選項。

9.A在Python中,split()方法通過指定分隔符對字符串進行切片,返回分隔后的字符串列表。以split(”,”)方法從CSV文件中獲得內(nèi)容時,無法去除換行符?!桶投嗨梗躰白俄羅斯’作為一個列表元素出現(xiàn),所以ls=[’巴哈馬’,’巴林’,’孟加拉國’,’巴巴多斯\n白俄羅斯’,’比利時’,’伯利茲’],最后輸出列表。本題選A選項。

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

11.D這段代碼是一個遞歸函數(shù),作用是把result列表中所有與1中一致的元素刪除,所以最后的結(jié)果是一個空的列表,即[]。本題選擇D選項。

12.Aperf_counter()是time庫的函數(shù),調(diào)用該函數(shù)需要先導(dǎo)入time庫。

13.A列表的索引序號是從0開始的,以此類推;使用append()函數(shù)可以向列表插入元素,但只能插入到列表的末尾;使用remove(x)函數(shù)是將列表中出現(xiàn)的第一個x元素刪除。

14.B

15.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)是計算1+2+3+4+5+6+7+8+9的值,即s=45。本題選擇B選項。

16.A程序設(shè)計IPO模式內(nèi)容如下。I:Input(輸入),程序的輸入。程序的輸入包括文件輸入、網(wǎng)絡(luò)輸入、控制臺輸入、隨機數(shù)據(jù)輸入、程序內(nèi)部參數(shù)輸入等。輸入是一個程序的開始。P:Process(處理),程序的主要邏輯。程序?qū)斎脒M行處理,輸出產(chǎn)生結(jié)果。處理的方法也叫算法,是程序最重要的部分。可以說,算法是一個程序的主要靈魂。O:Output(輸出),程序的輸出。程序的輸出包括屏幕顯示輸出、文件輸出、網(wǎng)絡(luò)輸出、操作系統(tǒng)內(nèi)部變量輸出等。輸出是一個程序展示運算成果的方式。本題選擇A選項。

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

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

19.AB項是一個微型的面向文檔的數(shù)據(jù)庫,C項是Python的數(shù)字信號處理包,D項是Python的網(wǎng)絡(luò)信息挖掘模塊。

20.A最壞情況下冒泡排序需要的比較次數(shù)為n(n—1)/2,本題中n=12,故需要比較66次。本題選擇A選項。

21.C

22.CPython通過open()函數(shù)打開一個文件,并返回一個操作這個文件的變量,語法:<變量名>=open(<文件路徑及文件名>,<打開模式>)。本題選C選項。

23.D

24.B在Python語言中,使用for..in..方式形成的循環(huán)能遍歷的類型有字符串、文件、range()函數(shù)或組合數(shù)據(jù)類型,不能遍歷復(fù)數(shù)。

25.APython采用嚴格的“縮進來表明程序格式”,而且“縮進”中是可以嵌套的。本題選擇A選項。

26.Bappend()是向列表元素的結(jié)尾增加元素。本題選擇B選項。

27.A由于列表ls中所有元素都是整數(shù)類型,不可能等于字符串類型的‘44’,即if語句中的條件不成立,需執(zhí)行else語句,輸出notfoundit…。本題選擇A選項。

28.D

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

30.D列表是包含0個或多個元素的有序序列,屬于序列類型。列表用中括號([])表示,由于列表屬于序列類型,故繼承了序列類型的所有屬性和方法。索引是列表的基本操作,用于獲得列表中的一個元素,該操作沿用序列類型的索引方式,即正向遞增序號或反向遞減序號,使用中括號作為索引操作符,索引號不得超過列表的元素范圍,否則將產(chǎn)生lndexError錯誤。索引下標從0開始。列表可以進行元素增加、刪除、替換、查找等操作。列表沒有長度限制,元素類型可以不同,能夠包含其他的組合數(shù)據(jù)類型,可以使用比較操作符(如>或<等)對列表進行比較,也可以對列表進行成員運算操作、長度計算和分片。故D項正確。

31.Y

32.N

33.N

34.Y

35.Y

36.Y

37.Y

38.Y

39.Y

40.N

41.[1,2,3]

42.A

43.[2,4]

44.True

45.[6,7,9,11]

46.'A'

47.有序

48.2

49.min()

50.會

51.(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)容是一段文本,要把文本改為詩詞風格,即以全角句號分隔,可使用字符串的split()方法,該方法返回的是一個列表;列表的每個元素都是一行詩句,使用join()方法把列表的每一個元素寫入“關(guān)山月_詩歌.txt”文件中,連接符為全角句號和換行符;操作完成之后將打開的文件用close()方法關(guān)閉,避免內(nèi)容的丟失。(2)把“問題1”生成的詩詞風格的文件按照每行為單位將其逆序輸出,須使用列表的reveree()方法,即需要把文件的內(nèi)容轉(zhuǎn)換為列表類型,readlines()方法從文件中讀入所有行的內(nèi)容,以每行為元素形成一個列表,然后調(diào)用reverse()方法反轉(zhuǎn),將反轉(zhuǎn)后的內(nèi)容寫入“關(guān)山月-反轉(zhuǎn).txt”文件中。操作完成之后將打開的文件用close()方法關(guān)閉,避免內(nèi)容的丟失。

52.(1)fo=open(”PY301一1.txt”,”w”)classHorse():Def__init__(self,category,gender,age):self.category=categoryself.gender=genderself.age=ageself.horse_speed=0defget_descriptive(self):info=’thishorseis’+str(self.age)+’yearsold,’+’itscategory\r\nis’+self.category+’,’+'itsfenderis'+self.gender+’.’fo.write(info+”\\n”)defupdate_speed(self,new_speed):self.horse_speed=new_speedfo.write(’thespeedofthishorseis’+str(self.horse_speed)+”km/h.”)\r\nhorse=Horse("Arab","male","12")horse.get_deseriptive()horse.update_speed(50)fo.close()(2)fo=open(”PY301-2.txt”,”w”)classHorse():def__init__(self,category,gender,age):self.category=categoryself.gender=genderself.age=ageself.horse_speed=0defget_descriptive(self):info=’thishorseis’+str(self.age)+’yearsold,’+’itscategory\r\nis’+self.category+’,’+'itsfenderis’+self.gender+’.’fo.write(info+”\\n”)defupdate_speed(self,new_speed):self.horse_speed=new_speedfo.write(’thespeed0fthishorseis’+str(self.horse_speed)+”km/h.\\n”)classCamel(Horse):def_init_(self,category,gender,age):super()_init_(category,gender,age)self.hump_size=2defdescribe_hump_size(self):fo.write(’thiscamelhas’+str(self.hump_size)+’hump.’)camel=Camel(Doublehump","female","20")camel.get_descriptive()camel.update_speed(40)camel.describe_hump_size()fo.close()(1)文件的操作需要調(diào)用open()函數(shù)以寫模式打開文件。Python定義類使用的關(guān)鍵字是class,且類的名稱首字母要大寫。_init_()是類的特殊方法,當根據(jù)Horse類創(chuàng)建新實例時,Python都會自動運行它。在這個方法中,開頭和結(jié)尾各有兩個下劃線,這是一種約定。_init_()方法中定義了四個形參:self、category、gender和age。在這個方法定義中形參self必不可少,且必須位于其他形參前面。每個定義的變量都要以self為前綴,以self為前綴的變量都可供類中的所有方法使用。調(diào)用方法需要創(chuàng)建實例,然后使用點號表示法來調(diào)用Horse類中定義的任何方法。使用write()方法將結(jié)果寫入到文件“PY301一1.txt”中,操作完成之后,調(diào)用close()方法關(guān)閉文件。(2)在“問題1”的基礎(chǔ)上又添加了一個Camel類,super。()是一個特殊函數(shù),幫助Python將父類和子類關(guān)聯(lián)起來。創(chuàng)建子類時,父類必須包含在當前文件中,且位于子類前面。定義子類時,必須在括號內(nèi)指定父類的名稱。

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

print(name)題目要求隨機輸出列表中的一個手機名稱,“隨機”需要用到Python的標準庫random,random.seed(0)的作用是設(shè)置初始化隨機數(shù)種子,設(shè)置種子的好處就是可以重復(fù)再現(xiàn)相同的隨機數(shù)序列。輸出列表中的元素可以使用索引的方法,分析代碼可知,列表中共有5個元素,所以元素的序號由0到4,需要用到random庫的randint()方法。random.randint(a,b)的作用是產(chǎn)生一個[a,b]之間的隨機整數(shù)。河南省信陽市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.執(zhí)行以下程序,導(dǎo)致輸出”輸入有誤”的輸入選項是()。try:ls=eval(input())*2print(ls)except:print(’輸入有誤’)

A.’aa’B.’12’C.aaD.12

2.下面程序的輸出結(jié)果是()。Is=[“

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論