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

下載本文檔

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

文檔簡介

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

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

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

2.某完全二叉樹有256個結(jié)點,則該二叉樹的深度為()。

A.7B.8C.9D.10

3.下面代碼的輸出結(jié)果是()。foriinrange(3):forjin”dream”:ifj=="e":continueprint(j,end="")

A.dramdramdramB.drdrdrC.dreamdreamdreamD.dream

4.以下關(guān)于“for<循環(huán)變量>in<循環(huán)結(jié)構(gòu)>”的描述,錯誤的是()。

A.<循環(huán)結(jié)構(gòu)>采用[1,2,3]和[‘1’,‘2’,‘3’]的時候,循環(huán)的次數(shù)是一樣的

B.這個循環(huán)體語句中不能有break語句,會影響循環(huán)次數(shù)

C.使用range(a,b)函數(shù)指定for循環(huán)的循環(huán)變量取值是從a到b-1

D.foriinrange(1,10,2)表示循環(huán)5次,i的值是從1到9的奇數(shù)

5.以下代碼的輸出結(jié)果是()。Is=[[1,2,3],’python’,[[4,5,’ABC’],6],[7,8]]print(ls[2][l])

A.'ABC'B.pC.4D.6

6.下面代碼的輸出結(jié)果是()。f=lambdaX,Y:Xifx<yelseya=f(”aa”,”bb”)b=f(”bb”,”aa”)print(a,b)

A.aaaaB.aabbC.bbaaD.bbbb

7.關(guān)于Python變量,下列說法錯誤的是()

A.變量不必事先聲明但區(qū)分大小寫

B.變量無須先創(chuàng)建和賦值而直接使用

C.變量無須指定類型

D.可以使用del關(guān)鍵字釋放變量

8.以下代碼的輸出結(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

9.以下關(guān)于程序設(shè)計語言的描述,錯誤的是()。

A.Python解釋器把Python代碼一次性翻譯成目標(biāo)代碼,然后執(zhí)行

B.機器語言直接用二進(jìn)制代碼表達(dá)指令

C.Python是一種通用編程語言

D.匯編語言是直接操作計算機硬件的編程語言

10.下載但不安裝一個第三方庫的命名格式是()。

A.pipdownload<第三方庫名>

B.pipuninstall<第三方庫名>

C.pipinstall<第三方庫名>

D.pipsearch<第三方庫名>

11.以下的描述中,不屬于Python控制結(jié)構(gòu)的是()。

A.分支結(jié)構(gòu)B.程序異常C.跳轉(zhuǎn)結(jié)構(gòu)D.順序結(jié)構(gòu)

12.以下程序的輸出結(jié)果是()。t=10.5defabove_zero(t): returnt>0

A.TrueB.FalseC.10.5D.沒有輸出

13.以下關(guān)于字符串的描述正確的是()。

A.字符應(yīng)視為長度為1或2的字符串

B.字符串的字符可進(jìn)行數(shù)學(xué)運算,但進(jìn)行數(shù)學(xué)運算的字符必須為數(shù)字

C.在三引號字符串中可包含換行、回車等特殊的字符

D.字符串可以進(jìn)行切片并賦值

14.以下程序的輸出結(jié)果是()。f=lambdax,y:xifx<yelseya=f(“aa”,“bb”)b=f(“bb”,“aa”)print(a,b)

A.aaaaB.aabbC.bbaaD.bbbb

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

16.在E-R圖中,用來表示實體的圖形是()。

A.橢圓形B.矩形C.菱形D.三角形

17.從鍵盤輸入數(shù)字10,以下程序的輸出結(jié)果是()。try: n=input(“請輸入一個整數(shù):”) defpow2(n): returnn*nexcept: print(”程序執(zhí)行錯誤")

A.100B.10C.程序執(zhí)行錯誤D.程序沒有任何輸出

18.以下關(guān)于Python語言的描述中,正確的是()。

A.條件4<=5<=6是合法的,輸出False

B.條件4<=5<=6是不合法的

C.條件4<=5<=6是合法的,輸出True

D.條件4<=5<=6是不合法的,拋出異常

19.以下代碼的輸出結(jié)果是()。Test_list=list(range(6))Print(6inTest_list)

A.6B.6inTest_listC.TrueD.False

20.以下程序的輸出結(jié)果是()。x=10whilex:x-=1ifnotx%2:print(x,end=‘’)else:print(x)A.86420B.975311C.97531D.864200

21.以下代碼的輸出結(jié)果是()。CLis=list(range(5))print(5inCLis)

A.TrueB.FalseC.0D.一1

22.單元測試不應(yīng)涉及的內(nèi)容是()。

A.模塊的接口B.模塊的執(zhí)行路徑C.模塊的局部數(shù)據(jù)結(jié)構(gòu)D.模塊的出錯處理功能

23.下面敘述中錯誤的是()。

A.軟件測試的目的是發(fā)現(xiàn)錯誤并改正錯誤

B.對被調(diào)試的程序進(jìn)行“錯誤定位”是程序調(diào)試的必要步驟

C.程序調(diào)試通常也稱為Debug

D.軟件測試應(yīng)嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性

24.以下描述錯誤的是()。

A.Python語言是一門動態(tài)的解釋型語言

B.當(dāng)Python腳本程序發(fā)生了異常,如果不處理,運行結(jié)果不可預(yù)測

C.編程語言中的異常和錯誤是完全相同的概念

D.Python通過try、except等保留字提供異常處理功能

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

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

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

26.下面代碼的輸出結(jié)果是()。foriinreversed(range(7,4,-1)):print(i,end=””)

A.7654B.765C.567D.4567

27.以下對Python文件處理的描述中,錯誤的是()。

A.當(dāng)文件以文本方式打開時,讀/寫按照字節(jié)流方式

B.Python能夠以文本和二進(jìn)制兩種方式處理文件

C.Python通過解釋器內(nèi)置的open()函數(shù)打開一個文件

D.文件使用結(jié)束后可以用close()方法關(guān)閉,釋放文件的使用授權(quán)

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

A.PythonCREB.NC.PythonD.PythonNCRE

29.以下程序的輸出結(jié)果是()。d={“大?!?“藍(lán)色”,“天空”,“灰色”,“大地”,“黑色”}print(d[“大地”],d.get(“天空”,“黃色”))

A.黑色黑色B.黑色灰色C.黑色黃色D.黑色藍(lán)色

30.下面屬于“對象”成份之一的是()。

A.封裝B.規(guī)則C.屬性D.繼承

二、判斷題(10題)31.一個數(shù)字5也是合法的Python表達(dá)式。

A.是B.否

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

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

A.是B.否

34.Python字典中的“鍵”可以是元組。

A.是B.否

35.Python不允許使用關(guān)鍵字作為變量名,允許使用內(nèi)置函數(shù)名作為變量名,但這會改變函數(shù)名的含義。

A.是B.否

36.函數(shù)內(nèi)部定義的局部變量當(dāng)函數(shù)調(diào)用結(jié)束后被自動刪除。

A.是B.否

37.同一個列表對象中的元素類型可以各不相同。

A.是B.否

38.Python元組支持雙向索引。

A.是B.否

39.Python變量名必須以字母或下劃線開頭,并且區(qū)分字母大小寫。

A.是B.否

40.Python類不支持多繼承。

A.是B.否

三、填空題(10題)41.已知x=list(range(10)),則表達(dá)式x[-4:]的值為__________。

42.在Python中定義類時,與運算符“//”對應(yīng)的特殊方法名為_______________。

43.代碼foriinrange(3):print(i,end=',')的執(zhí)行結(jié)果為_________________。

44.Python內(nèi)置函數(shù)_____________用來打開或創(chuàng)建文件并返回文件對象。

45.表達(dá)式'%s'%65的值為__________。

46.表達(dá)式3or5的值為________。

47.假設(shè)列表對象x=[1,1,1],那么表達(dá)式id(x[0])==id(x[2])的值為_____________。

48.表達(dá)式'abc'in('abcdefg')的值為______________。

49.表達(dá)式'aaasdf'.lstrip('af')的值為________________。

50.表達(dá)式r'c:\windows\notepad.exe'.endswith('.exe')的值為_____________。

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

52.考生文件夾下存在一個文件“PY201.Py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。使用turtle庫的turtle.circle()函數(shù)、turtle.seth()函數(shù)及turtle.left()函數(shù)繪制一個四瓣花圖形,效果如下所示。

試題程序:#請在_____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼importturtleforiinrange(_____(1)_____):turtle.seth(_____(2)_____)turtle.circle(50,90)turtle.seth(_____(3)_____)turtle.circle(50,90)turtle.(4)

53.考生文件夾下存在一個文件“PY201.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。使用turtle庫中的pencolor()和fillcolor()方法為圖形著色(畫筆顏色為黑色,填充顏色為紅色),使用set-up()方法在桌面(400,400)的位置創(chuàng)建600像素×600像素的畫布窗體,效果如下所示。試題程序#請在_____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼fromturtleimport*defcurvemove():foriinrange(200):right(1)forward(1)setup(600,600,400,400)hideturtle()_____(1)_____('black')_____(2)_____("red")pensize(2)begin_fill()left(140)forward(111.65)curvemove()left(120)curvemove()forward(111.65)end_fill()penup()goto(-27,85)pendown()done()

參考答案

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

2.C根據(jù)完全二叉樹的性質(zhì):具有n個結(jié)點的完全二叉樹的深度為[log2n]+1。本題中完全二叉樹共有256個結(jié)點,則深度為[log2256]+1=8+1=9。本題選擇C選項。

3.Acontinue語句只結(jié)束本次循環(huán),不終止整個循環(huán)的執(zhí)行,而break語句具備結(jié)束循環(huán)的能力。本題外層循環(huán)用來計數(shù),內(nèi)層循環(huán)用來遍歷字符串,當(dāng)滿足判斷條件時,就會結(jié)束本次循環(huán)進(jìn)入下一循環(huán),字符串遍歷完成之后,外層循環(huán)進(jìn)入下一循環(huán)。本題選擇A選項。

4.Bfor語句的循環(huán)執(zhí)行次數(shù)是根據(jù)<循環(huán)結(jié)構(gòu)>中元素的個數(shù)確定的,[1,2,3]和[‘1’,‘2’,‘3’]均有3個元素,因此循環(huán)次數(shù)是一樣的,A選項正確。range()函數(shù)只有一個參數(shù)時表示會產(chǎn)生從0開始計數(shù)到輸入?yún)?shù)的前一位整數(shù)結(jié)束的整數(shù)列表;有兩個參數(shù)時,則將第一個參數(shù)作為起始位,第二個參數(shù)作為結(jié)束位,輸出從起始位到結(jié)束位的前一位的整數(shù)列表;有3個參數(shù)時,第三個參數(shù)表示步長,起始位按照步長遞增或遞減。因此選項C、D正確。循環(huán)體中的break語句的確能影響循環(huán)次數(shù),但是不代表循環(huán)體中不能有break語句,B選項錯誤。本題選擇B選項。

5.D列表索引從0開始,所以ls[2]\n[1]指的是列表中索引為2的元素[[4,5,’ABC’],6]中索引為1的元素6,所以輸出結(jié)果是6。本題選擇D選項。

6.Alambda關(guān)鍵字用來定義匿名函數(shù)。格式為:<函數(shù)名>=lambda<參數(shù)列表>:<表達(dá)式>。本題是用來比較字符串大小,因為aa>bb,所以輸出均為aa。

7.B

8.B將實參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選項。

9.APython屬于腳本語言,腳本語采用解釋方式執(zhí)行。解釋是將源代碼逐條轉(zhuǎn)換成目標(biāo)代碼同時逐條運行的過程,不是一次性翻譯的。本題選擇A選項。

10.Apipdownload<第三方庫名>用于下載第三方庫的安裝包,但并不安裝;pipuninstall<第三方庫名>用于卸載一個已經(jīng)安裝的第三方庫;pipinstall<第三方庫名>用于安裝第三方庫;pipsearch<第三方庫名>用于聯(lián)網(wǎng)搜索庫名或摘要中的關(guān)鍵字。本題選擇A選項。

11.CPython在3種基本控制邏輯(順序結(jié)構(gòu)、選擇結(jié)構(gòu)即分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu))上進(jìn)行了適當(dāng)?shù)臄U展。在分支結(jié)構(gòu)的基礎(chǔ)上,Python增加了異常處理,使用try-except關(guān)鍵字。本題選擇C選項。

12.D在Python中,return語句用來結(jié)束函數(shù)并將程序返回到函數(shù)被調(diào)用的位置繼續(xù)執(zhí)行。return語句可以出現(xiàn)在函數(shù)的任何部分,可以同時將0個、1個或多個函數(shù)運算結(jié)果返回給函數(shù)被調(diào)用處的變量。函數(shù)可以沒有return,此時函數(shù)并不返回值。return返回的是值而不是表達(dá)式,且此段語句并未調(diào)用函數(shù),故程序無輸出。本題選擇D選項。

13.C字符應(yīng)視為長度為1的字符串;字符串中的字符不可以進(jìn)行數(shù)學(xué)運算,如果是數(shù)字字符串,則需要將其轉(zhuǎn)換為數(shù)值類型方可計算;字符串可進(jìn)行切片,但不能賦值。本題選擇C選項。

14.Alambda關(guān)鍵字用來定義匿名函數(shù),語法為<函數(shù)名>=lambda<參數(shù)列表>:<表達(dá)式>。本題比較字符串大小,因為aa<bb,所以輸出均為aa。本題選擇A選項。

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

16.B在E—R圖中實體集用矩形,屬性用橢圓,聯(lián)系用菱形。

17.DPython使用保留字try和except進(jìn)行異常處理,基本的語法如下。try:\t<語句塊1>except:\t<語句塊2>“語句塊1”是正常執(zhí)行的程序內(nèi)容,當(dāng)執(zhí)行這個語句塊發(fā)生異常時,則執(zhí)行except保留字后面的“語句塊2”。當(dāng)輸入10時,執(zhí)行try后面的語句,n=10,函數(shù)pow2()只進(jìn)行了定義,但未進(jìn)行調(diào)用,所以此時程序只執(zhí)行了輸入語句,不執(zhí)行函數(shù),語句運行正常,并不執(zhí)行except后面的語句,故程序沒有任何輸出。本題選擇D選項。

18.C判斷條件4<=5<=6是成立的,故輸出True。本題選擇C選項。

19.DTest_list是列表類型,6inTest_list表示如果6是列表Test_list的元素,返回True,否則返回False。

20.D

21.Brange()函數(shù)的語法:range(start,stop,step),作用是生成一個從start參數(shù)的值開始,到stop參數(shù)的值結(jié)束的數(shù)字序列(注意不包含數(shù)stop),step是步進(jìn)參數(shù)。cLis=list(range(5)),生成一個列表,包含0,1,2,3,4。因為5不在CLis列表中,故返回False。

22.B單元測試主要針對模塊的5個基本特征進(jìn)行:模塊接口測試,局部數(shù)據(jù)結(jié)構(gòu)測試,重要的執(zhí)行路徑的檢查,檢查模塊的錯誤處理能力,影響以上各點及其他相關(guān)點的邊界條件測試。本題選擇B選項。

23.A軟件測試的目的是為了發(fā)現(xiàn)錯誤而執(zhí)行程序,并不涉及改正錯誤,所以選項A錯誤。程序調(diào)試的基本步驟有錯誤定位、修改設(shè)計及代碼,以排除錯誤、進(jìn)行回歸測試,防止引進(jìn)新的錯誤。程序調(diào)試通常稱為Debug,即排錯。軟件測試的基本準(zhǔn)則:所有測試都應(yīng)追溯到需求、嚴(yán)格執(zhí)行測試計劃以排除測試的隨意性、充分注意測試中的群集現(xiàn)象、程序員應(yīng)避免檢查自己的程序、窮舉測試不可能、妥善保存測試計劃等文件。本題選擇A選項。

24.C異常指的是在程序運行過程中發(fā)生的異常事件,通常是由外部問題(如硬件錯誤、輸入錯誤)所導(dǎo)致的。錯誤是指導(dǎo)致系統(tǒng)不能按照用戶意圖工作的一切原因、事件。在程序設(shè)計過程中,由于某些錯誤的存在,致使程序無法正常運行,處理這些錯誤以使程序正確運行就稱為錯誤處理。異常和錯誤是完全不同的概念。

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

26.Crange([start,]stop[,step=1\n])函數(shù)有3個參數(shù),用來生成一個從start參數(shù)的值開始,到stop參數(shù)的值結(jié)束的數(shù)字序列,步長step默認(rèn)為1,區(qū)間為左閉右開。而reVerSed()函數(shù)用于反轉(zhuǎn)列表中的元素。本題選擇C選項。

27.A文件包括文本文件和二進(jìn)制文件兩種類型。Python對文本文件和二進(jìn)制文件采用統(tǒng)一的操作步驟,即“打開-操作-關(guān)閉”,B選項正確。采用文本方式讀入文件,文件經(jīng)過編碼形成字符串,輸出有含義的字符;采用二進(jìn)制方式打開文件,文件被解析為字節(jié)流,A選項錯誤。Python通過open()函數(shù)打開一個文件,并返回一個操作這個文件的變量,語法格式為<變置名>=open(<文件路徑及文件名>,<打開模式>\n),C選項正確。文件使用結(jié)束后要用clooe()方法關(guān)閉,釋放文件的使用授權(quán),語法格式為<變置名>dose()\n,D選項正確。本題選擇A選項。

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

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

30.C面向?qū)ο蠓椒ㄖ械膶ο笥蓛刹糠纸M成:①數(shù)據(jù),也稱為屬性,即對象所包含的信息,表示對象的狀態(tài);②方法,也稱為操作,即對象所能執(zhí)行的功能、所能具有的行為。本題選C選項。

31.Y

32.N

33.Y

34.Y

35.Y

36.Y

37.Y

38.Y

39.Y

40.N

41.[6,7,8,9]

42.__floordiv__()

43.0,1,2,

44.open()

45.'65'

46.3

47.True

48.True

49.'sdf'

50.True

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

52.importturtleforiinrange(4):turtle.seth(90*(i+1))turtle,circle(50,90)turtle.seth(-90+i*90)turtle,

circle(50,90)turtle.hideturtle()該題考查的是用Python標(biāo)準(zhǔn)庫turtle庫繪制四瓣花。因為需要繪制4個花瓣,所以循環(huán)執(zhí)行4次,第1空填4。然后利用cirde()函數(shù)繪制圓弧的特點,每旋轉(zhuǎn)90度繪制四分之一個圓弧,且題目中用seth()函數(shù)表示旋轉(zhuǎn)角度,此函數(shù)依據(jù)絕對角度旋轉(zhuǎn),因此第2空填90\r\n*(i+1),第3空填-90+i*90。最后隱藏畫筆箭頭,第4空應(yīng)填hideturtle()。

53.fromturtleimport*defcurvemove():foriinrange(200):right(1)forward(1)setup(600,600,400,400)hideturtle()_pencolor('black')fillcolor("red")pensize(2)begin_fill()left(140)forward(111.65)curvemove()left(120)curvemove()forward(111.65)end_fill()penup()goto(-27,85)pendown()done()turtle庫是Python的標(biāo)準(zhǔn)庫,其中setup(width,height,startx,starty\r\n)用來設(shè)置畫布窗體的大小和位置;pen-color()用來設(shè)置畫筆的顏色;fillcolor()用來填充圖形顏色。由題干給出的圖形可知,畫筆的顏色應(yīng)為黑色,填充顏色應(yīng)為紅色,因此第1空應(yīng)填pencolor,第2空應(yīng)填fillcolor。河北省廊坊市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________

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

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

2.某完全二叉樹有256個結(jié)點,則該二叉樹的深度為()。

A.7B.8C.9D.10

3.下面代碼的輸出結(jié)果是()。foriinrange(3):forjin”dream”:ifj=="e":continueprint(j,end="")

A.dramdramdramB.drdrdrC.dreamdreamdreamD.dream

4.以下關(guān)于“for<循環(huán)變量>in<循環(huán)結(jié)構(gòu)>”的描述,錯誤的是()。

A.<循環(huán)結(jié)構(gòu)>采用[1,2,3]和[‘1’,‘2’,‘3’]的時候,循環(huán)的次數(shù)是一樣的

B.這個循環(huán)體語句中不能有break語句,會影響循環(huán)次數(shù)

C.使用range(a,b)函數(shù)指定for循環(huán)的循環(huán)變量取值是從a到b-1

D.foriinrange(1,10,2)表示循環(huán)5次,i的值是從1到9的奇數(shù)

5.以下代碼的輸出結(jié)果是()。Is=[[1,2,3],’python’,[[4,5,’ABC’],6],[7,8]]print(ls[2][l])

A.'ABC'B.pC.4D.6

6.下面代碼的輸出結(jié)果是()。f=lambdaX,Y:Xifx<yelseya=f(”aa”,”bb”)b=f(”bb”,”aa”)print(a,b)

A.aaaaB.aabbC.bbaaD.bbbb

7.關(guān)于Python變量,下列說法錯誤的是()

A.變量不必事先聲明但區(qū)分大小寫

B.變量無須先創(chuàng)建和賦值而直接使用

C.變量無須指定類型

D.可以使用del關(guān)鍵字釋放變量

8.以下代碼的輸出結(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

9.以下關(guān)于程序設(shè)計語言的描述,錯誤的是()。

A.Python解釋器把Python代碼一次性翻譯成目標(biāo)代碼,然后執(zhí)行

B.機器語言直接用二進(jìn)制代碼表達(dá)指令

C.Python是一種通用編程語言

D.匯編語言是直接操作計算機硬件的編程語言

10.下載但不安裝一個第三方庫的命名格式是()。

A.pipdownload<第三方庫名>

B.pipuninstall<第三方庫名>

C.pipinstall<第三方庫名>

D.pipsearch<第三方庫名>

11.以下的描述中,不屬于Python控制結(jié)構(gòu)的是()。

A.分支結(jié)構(gòu)B.程序異常C.跳轉(zhuǎn)結(jié)構(gòu)D.順序結(jié)構(gòu)

12.以下程序的輸出結(jié)果是()。t=10.5defabove_zero(t): returnt>0

A.TrueB.FalseC.10.5D.沒有輸出

13.以下關(guān)于字符串的描述正確的是()。

A.字符應(yīng)視為長度為1或2的字符串

B.字符串的字符可進(jìn)行數(shù)學(xué)運算,但進(jìn)行數(shù)學(xué)運算的字符必須為數(shù)字

C.在三引號字符串中可包含換行、回車等特殊的字符

D.字符串可以進(jìn)行切片并賦值

14.以下程序的輸出結(jié)果是()。f=lambdax,y:xifx<yelseya=f(“aa”,“bb”)b=f(“bb”,“aa”)print(a,b)

A.aaaaB.aabbC.bbaaD.bbbb

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

16.在E-R圖中,用來表示實體的圖形是()。

A.橢圓形B.矩形C.菱形D.三角形

17.從鍵盤輸入數(shù)字10,以下程序的輸出結(jié)果是()。try: n=input(“請輸入一個整數(shù):”) defpow2(n): returnn*nexcept: print(”程序執(zhí)行錯誤")

A.100B.10C.程序執(zhí)行錯誤D.程序沒有任何輸出

18.以下關(guān)于Python語言的描述中,正確的是()。

A.條件4<=5<=6是合法的,輸出False

B.條件4<=5<=6是不合法的

C.條件4<=5<=6是合法的,輸出True

D.條件4<=5<=6是不合法的,拋出異常

19.以下代碼的輸出結(jié)果是()。Test_list=list(range(6))Print(6inTest_list)

A.6B.6inTest_listC.TrueD.False

20.以下程序的輸出結(jié)果是()。x=10whilex:x-=1ifnotx%2:print(x,end=‘’)else:print(x)A.86420B.975311C.97531D.864200

21.以下代碼的輸出結(jié)果是()。CLis=list(range(5))print(5inCLis)

A.TrueB.FalseC.0D.一1

22.單元測試不應(yīng)涉及的內(nèi)容是()。

A.模塊的接口B.模塊的執(zhí)行路徑C.模塊的局部數(shù)據(jù)結(jié)構(gòu)D.模塊的出錯處理功能

23.下面敘述中錯誤的是()。

A.軟件測試的目的是發(fā)現(xiàn)錯誤并改正錯誤

B.對被調(diào)試的程序進(jìn)行“錯誤定位”是程序調(diào)試的必要步驟

C.程序調(diào)試通常也稱為Debug

D.軟件測試應(yīng)嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性

24.以下描述錯誤的是()。

A.Python語言是一門動態(tài)的解釋型語言

B.當(dāng)Python腳本程序發(fā)生了異常,如果不處理,運行結(jié)果不可預(yù)測

C.編程語言中的異常和錯誤是完全相同的概念

D.Python通過try、except等保留字提供異常處理功能

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

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

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

26.下面代碼的輸出結(jié)果是()。foriinreversed(range(7,4,-1)):print(i,end=””)

A.7654B.765C.567D.4567

27.以下對Python文件處理的描述中,錯誤的是()。

A.當(dāng)文件以文本方式打開時,讀/寫按照字節(jié)流方式

B.Python能夠以文本和二進(jìn)制兩種方式處理文件

C.Python通過解釋器內(nèi)置的open()函數(shù)打開一個文件

D.文件使用結(jié)束后可以用close()方法關(guān)閉,釋放文件的使用授權(quán)

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

A.PythonCREB.NC.PythonD.PythonNCRE

29.以下程序的輸出結(jié)果是()。d={“大?!?“藍(lán)色”,“天空”,“灰色”,“大地”,“黑色”}print(d[“大地”],d.get(“天空”,“黃色”))

A.黑色黑色B.黑色灰色C.黑色黃色D.黑色藍(lán)色

30.下面屬于“對象”成份之一的是()。

A.封裝B.規(guī)則C.屬性D.繼承

二、判斷題(10題)31.一個數(shù)字5也是合法的Python表達(dá)式。

A.是B.否

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

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

A.是B.否

34.Python字典中的“鍵”可以是元組。

A.是B.否

35.Python不允許使用關(guān)鍵字作為變量名,允許使用內(nèi)置函數(shù)名作為變量名,但這會改變函數(shù)名的含義。

A.是B.否

36.函數(shù)內(nèi)部定義的局部變量當(dāng)函數(shù)調(diào)用結(jié)束后被自動刪除。

A.是B.否

37.同一個列表對象中的元素類型可以各不相同。

A.是B.否

38.Python元組支持雙向索引。

A.是B.否

39.Python變量名必須以字母或下劃線開頭,并且區(qū)分字母大小寫。

A.是B.否

40.Python類不支持多繼承。

A.是B.否

三、填空題(10題)41.已知x=list(range(10)),則表達(dá)式x[-4:]的值為__________。

42.在Python中定義類時,與運算符“//”對應(yīng)的特殊方法名為_______________。

43.代碼foriinrange(3):print(i,end=',')的執(zhí)行結(jié)果為_________________。

44.Python內(nèi)置函數(shù)_____________用來打開或創(chuàng)建文件并返回文件對象。

45.表達(dá)式'%s'%65的值為__________。

46.表達(dá)式3or5的值為________。

47.假設(shè)列表對象x=[1,1,1],那么表達(dá)式id(x[0])==id(x[2])的值為_____________。

48.表達(dá)式'abc'in('abcdefg')的值為______________。

49.表達(dá)式'aaasdf'.lstrip('af')的值為________________。

50.表達(dá)式r'c:\windows\notepad.exe'.endswith('.exe')的值為_____________。

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

52.考生文件夾下存在一個文件“PY201.Py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。使用turtle庫的turtle.circle()函數(shù)、turtle.seth()函數(shù)及turtle.left()函數(shù)繪制一個四瓣花圖形,效果如下所示。

試題程序:#請在_____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼importturtleforiinrange(_____(1)_____):turtle.seth(_____(2)_____)turtle.circle(50,90)turtle.seth(_____(3)_____)turtle.circle(50,90)turtle.(4)

53.考生文件夾下存在一個文件“PY201.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。使用turtle庫中的pencolor()和fillcolor()方法為圖形著色(畫筆顏色為黑色,填充顏色為紅色),使用set-up()方法在桌面(400,400)的位置創(chuàng)建600像素×600像素的畫布窗體,效果如下所示。試題程序#請在_____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼fromturtleimport*defcurvemove():foriinrange(200):right(1)forward(1)setup(600,600,400,400)hideturtle()_____(1)_____('black')_____(2)_____("red")pensize(2)begin_fill()left(140)forward(111.65)curvemove()left(120)curvemove()forward(111.65)end_fill()penup()goto(-27,85)pendown()done()

參考答案

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

2.C根據(jù)完全二叉樹的性質(zhì):具有n個結(jié)點的完全二叉樹的深度為[log2n]+1。本題中完全二叉樹共有256個結(jié)點,則深度為[log2256]+1=8+1=9。本題選擇C選項。

3.Acontinue語句只結(jié)束本次循環(huán),不終止整個循環(huán)的執(zhí)行,而break語句具備結(jié)束循環(huán)的能力。本題外層循環(huán)用來計數(shù),內(nèi)層循環(huán)用來遍歷字符串,當(dāng)滿足判斷條件時,就會結(jié)束本次循環(huán)進(jìn)入下一循環(huán),字符串遍歷完成之后,外層循環(huán)進(jìn)入下一循環(huán)。本題選擇A選項。

4.Bfor語句的循環(huán)執(zhí)行次數(shù)是根據(jù)<循環(huán)結(jié)構(gòu)>中元素的個數(shù)確定的,[1,2,3]和[‘1’,‘2’,‘3’]均有3個元素,因此循環(huán)次數(shù)是一樣的,A選項正確。range()函數(shù)只有一個參數(shù)時表示會產(chǎn)生從0開始計數(shù)到輸入?yún)?shù)的前一位整數(shù)結(jié)束的整數(shù)列表;有兩個參數(shù)時,則將第一個參數(shù)作為起始位,第二個參數(shù)作為結(jié)束位,輸出從起始位到結(jié)束位的前一位的整數(shù)列表;有3個參數(shù)時,第三個參數(shù)表示步長,起始位按照步長遞增或遞減。因此選項C、D正確。循環(huán)體中的break語句的確能影響循環(huán)次數(shù),但是不代表循環(huán)體中不能有break語句,B選項錯誤。本題選擇B選項。

5.D列表索引從0開始,所以ls[2]\n[1]指的是列表中索引為2的元素[[4,5,’ABC’],6]中索引為1的元素6,所以輸出結(jié)果是6。本題選擇D選項。

6.Alambda關(guān)鍵字用來定義匿名函數(shù)。格式為:<函數(shù)名>=lambda<參數(shù)列表>:<表達(dá)式>。本題是用來比較字符串大小,因為aa>bb,所以輸出均為aa。

7.B

8.B將實參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選項。

9.APython屬于腳本語言,腳本語采用解釋方式執(zhí)行。解釋是將源代碼逐條轉(zhuǎn)換成目標(biāo)代碼同時逐條運行的過程,不是一次性翻譯的。本題選擇A選項。

10.Apipdownload<第三方庫名>用于下載第三方庫的安裝包,但并不安裝;pipuninstall<第三方庫名>用于卸載一個已經(jīng)安裝的第三方庫;pipinstall<第三方庫名>用于安裝第三方庫;pipsearch<第三方庫名>用于聯(lián)網(wǎng)搜索庫名或摘要中的關(guān)鍵字。本題選擇A選項。

11.CPython在3種基本控制邏輯(順序結(jié)構(gòu)、選擇結(jié)構(gòu)即分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu))上進(jìn)行了適當(dāng)?shù)臄U展。在分支結(jié)構(gòu)的基礎(chǔ)上,Python增加了異常處理,使用try-except關(guān)鍵字。本題選擇C選項。

12.D在Python中,return語句用來結(jié)束函數(shù)并將程序返回到函數(shù)被調(diào)用的位置繼續(xù)執(zhí)行。return語句可以出現(xiàn)在函數(shù)的任何部分,可以同時將0個、1個或多個函數(shù)運算結(jié)果返回給函數(shù)被調(diào)用處的變量。函數(shù)可以沒有return,此時函數(shù)并不返回值。return返回的是值而不是表達(dá)式,且此段語句并未調(diào)用函數(shù),故程序無輸出。本題選擇D選項。

13.C字符應(yīng)視為長度為1的字符串;字符串中的字符不可以進(jìn)行數(shù)學(xué)運算,如果是數(shù)字字符串,則需要將其轉(zhuǎn)換為數(shù)值類型方可計算;字符串可進(jìn)行切片,但不能賦值。本題選擇C選項。

14.Alambda關(guān)鍵字用來定義匿名函數(shù),語法為<函數(shù)名>=lambda<參數(shù)列表>:<表達(dá)式>。本題比較字符串大小,因為aa<bb,所以輸出均為aa。本題選擇A選項。

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

16.B在E—R圖中實體集用矩形,屬性用橢圓,聯(lián)系用菱形。

17.DPython使用保留字try和except進(jìn)行異常處理,基本的語法如下。try:\t<語句塊1>except:\t<語句塊2>“語句塊1”是正常執(zhí)行的程序內(nèi)容,當(dāng)執(zhí)行這個語句塊發(fā)生異常時,則執(zhí)行except保留字后面的“語句塊2”。當(dāng)輸入10時,執(zhí)行try后面的語句,n=10,函數(shù)pow2()只進(jìn)行了定義,但未進(jìn)行調(diào)用,所以此時程序只執(zhí)行了輸入語句,不執(zhí)行函數(shù),語句運行正常,并不執(zhí)行except后面的語句,故程序沒有任何輸出。本題選擇D選項。

18.C判斷條件4<=5<=6是成立的,故輸出True。本題選擇C選項。

19.DTest_list是列表類型,6inTest_list表示如果6是列表Test_list的元素,返回True,否則返回False。

20.D

21.Brange()函數(shù)的語法:range(start,stop,step),作用是生成一個從start參數(shù)的值開始,到stop參數(shù)的值結(jié)束的數(shù)字序列(注意不包含數(shù)stop),step是步進(jìn)參數(shù)。cLis=list(range(5)),生成一個列表,包含0,1,2,3,4。因為5不在CLis列表中,故返回False。

22.B單元測試主要針對模塊的5個基本特征進(jìn)行:模塊接口測試,局部數(shù)據(jù)結(jié)構(gòu)測試,重要的執(zhí)行路徑的檢查,檢查模塊的錯誤處理能力,影響以上各點及其他相關(guān)點的邊界條件測試。本題選擇B選項。

23.A軟件測試的目的是為了發(fā)現(xiàn)錯誤而執(zhí)行程序,并不涉及改正錯誤,所以選項A錯誤。程序調(diào)試的基本步驟有錯誤定位、修改設(shè)計及代碼,以排除錯誤、進(jìn)行回歸測試,防止引進(jìn)新的錯誤。程序調(diào)試通常稱為Debug,即排錯。軟件測試的基本準(zhǔn)則:所有測試都應(yīng)追溯到需求、嚴(yán)格執(zhí)行測試計劃以排除測試的隨意性、充分注意測試中的群集現(xiàn)象、程序員應(yīng)避免檢查自己的程序、窮舉測試不可能、妥善保存測試計劃等文件。本題選擇A選項。

24.C異常指的是在程序運行過程中發(fā)生的異常事件,通常是由外部問題(如硬件錯誤、輸入錯誤)所導(dǎo)致的。錯誤是指導(dǎo)致系統(tǒng)不能按照用戶意圖工作的一切原因、事件。在程序設(shè)計過程中,由于某些錯誤的存在,致使程序無法正常運行,處理這些錯誤以使程序正確運行就稱為錯誤處理。異常和錯誤是完全不同的概念。

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

26.Crange([start,]stop[,step=1\n])函數(shù)有3個參數(shù),用來生成一個從start參數(shù)的值開始,到stop參數(shù)的值結(jié)束的數(shù)字序列,步長step默認(rèn)為1,區(qū)間為左閉右開。而reVerSed()函數(shù)用于反轉(zhuǎn)列表中的元素。本題選擇C選項。

27.A文件包括文本文件和二進(jìn)制文件兩種類型。Python對文本文件和二進(jìn)制文件采用統(tǒng)一的操作步驟,即“打開-操作-關(guān)閉”,B選項正確。采用文本方式讀入文件,文件經(jīng)過編碼形成字符串,輸出有含義的字符;采用二進(jìn)制方式打開文件,文件被解析為字節(jié)流,A選項錯誤。Python通過open()函數(shù)打開一個文件,并返回一個操作這個文件的變量,語法格式為<變置名>=open(<文件路徑及文件名>,<打開模式>\n),C選項正確。文件使用結(jié)束后要用clooe()方法關(guān)閉,釋放文件的使用授權(quán),語法格式為<變置名>dose()\n,D選項正確。本題選擇A選項。

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

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

30.C面向?qū)ο蠓椒ㄖ械膶ο笥蓛刹糠纸M成:①數(shù)據(jù),也稱為屬性,即對象所包含的信息,表示對象的狀態(tài);②方法,也稱為操作,即對象所能執(zhí)行的功能、所能具有的行為。本題選C選項。

31.Y

32.N

33.Y

34.Y

35.Y

36.Y

37.Y

38.Y

39.Y

40.N

41.[6,7,8,9]

42.__floordiv__()

43.0,1,2,

44.open()

45.'65'

46.3

47.True

48.True

49.'sdf'

50.True

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

52.importturtleforiinrange(4):turtle.seth(90*(i+1))turtle,circle(50,90)turtle.seth(-90+i*90)turtle,

circle(50,90)turtle.hideturtle()該題考查的是用Python標(biāo)準(zhǔn)庫turtle庫繪制四瓣花。因為需要繪制4個花瓣,所以循環(huán)執(zhí)行4次,第1空填4。然后利用cirde()函數(shù)繪制圓弧的特點,每旋轉(zhuǎn)90度繪制四分之一個圓弧,且題目中用seth()函數(shù)表示旋轉(zhuǎn)角度,此函數(shù)依據(jù)絕對角度旋轉(zhuǎn),因此第2空填90\r\n*(i+1),第3空填-90+i*90。最后隱藏畫筆箭頭,第4空應(yīng)填hideturtle()。

53.fromturtleimport*defcurvemove():foriinrange(200):right(1)forward(1)setup(600,600,400,400)hideturtle()_pencolor('black')fillcolor("red")pensize(2)begin_fill()left(140)forward(111.65)curvemove()left(120)curvemove()forward(111.65)end_fill()penup()goto(-27,85)pendown()done()turtle庫是Python的標(biāo)準(zhǔn)庫,其中setup(width,height,startx,starty\r\n)用來設(shè)置畫布窗體的大小和位置;pen-color()用來設(shè)置畫筆的顏色;fillcolor()用來填充圖形顏色。由題干給出的圖形可知,畫筆的顏色應(yīng)為黑色,填充顏色應(yīng)為紅色,因此第1空應(yīng)填pencolor,第2空應(yīng)填fillcolor。河北省廊坊市全國計算機等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________

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

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

2.某完全二叉樹有256個結(jié)點,則該二叉樹的深度為()。

A.7B.8C.9D.10

3.下面代碼的輸出結(jié)果是()。foriinrange(3):forjin”dream”:ifj=="e":continueprint(j,end="")

A.dramdramdramB.drdrdrC.dreamdreamdreamD.dream

4.以下關(guān)于“for<循環(huán)變量>in<循環(huán)結(jié)構(gòu)>”的描述,錯誤的是()。

A.<循環(huán)結(jié)構(gòu)>采用[1,2,3]和[‘1’,‘2’,‘3’]的時候,循環(huán)的次數(shù)是一樣的

B.這個循環(huán)體語句中不能有break語句,會影響循環(huán)次數(shù)

C.使用range(a,b)函數(shù)指定for循環(huán)的循環(huán)變量取值是從a到b-1

D.foriinrange(1,10,2)表示循環(huán)5次,i的值是從1到9的奇數(shù)

5.以下代碼的輸出結(jié)果是()。Is=[[1,2,3],’python’,[[4,5,’ABC’],6],[7,8]]print(ls[2][l])

A.'ABC'B.pC.4D.6

6.下面代碼的輸出結(jié)果是()。f=lambdaX,Y:Xifx<yelseya=f(”aa”,”bb”)b=f(”bb”,”aa”)print(a,b)

A.aaaaB.aabbC.bbaaD.bbbb

7.關(guān)于Python變量,下列說法錯誤的是()

A.變量不必事先聲明但區(qū)分大小寫

B.變量無須先創(chuàng)建和賦值而直接使用

C.變量無須指定類型

D.可以使用del關(guān)鍵字釋放變量

8.以下代碼的輸出結(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

9.以下關(guān)于程序設(shè)計語言的描述,錯誤的是()。

A.Python解釋器把Python代碼一次性翻譯成目標(biāo)代碼,然后執(zhí)行

B.機器語言直接用二進(jìn)制代碼表達(dá)指令

C.Python是一種通用編程語言

D.匯編語言是直接操作計算機硬件的編程語言

10.下載但不安裝一個第三方庫的命名格式是()。

A.pipdownload<第三方庫名>

B.pipuninstall<第三方庫名>

C.pipinstall<第三方庫名>

D.pipsearch<第三方庫名>

11.以下的描述中,不屬于Python控制結(jié)構(gòu)的是()。

A.分支結(jié)構(gòu)B.程序異常C.跳轉(zhuǎn)結(jié)構(gòu)D.順序結(jié)構(gòu)

12.以下程序的輸出結(jié)果是()。t=10.5defabove_zero(t): returnt>0

A.TrueB.FalseC.10.5D.沒有輸出

13.以下關(guān)于字符串的描述正確的是()。

A.字符應(yīng)視為長度為1或2的字符串

B.字符串的字符可進(jìn)行數(shù)學(xué)運算,但進(jìn)行數(shù)學(xué)運算的字符必須為數(shù)字

C.在三引號字符串中可包含換行、回車等特殊的字符

D.字符串可以進(jìn)行切片并賦值

14.以下程序的輸出結(jié)果是()。f=lambdax,y:xifx<yelseya=f(“aa”,“bb”)b=f(“bb”,“aa”)print(a,b)

A.aaaaB.aabbC.bbaaD.bbbb

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

16.在E-R圖中,用來表示實體的圖形是()。

A.橢圓形B.矩形C.菱形D.三角形

17.從鍵盤輸入數(shù)字10,以下程序的輸出結(jié)果是()。try: n=input(“請輸入一個整數(shù):”) defpow2(n): returnn*nexcept: print(”程序執(zhí)行錯誤")

A.100B.10C.程序執(zhí)行錯誤D.程序沒有任何輸出

18.以下關(guān)于Python語言的描述中,正確的是()。

A.條件4<=5<=6是合法的,輸出False

B.條件4<=5<=6是不合法的

C.條件4<=5<=6是合法的,輸出True

D.條件4<=5<=6是不合法的,拋出異常

19.以下代碼的輸出結(jié)果是()。Test_list=list(range(6))Print(6inTest_list)

A.6B.6inTest_listC.TrueD.False

20.以下程序的輸出結(jié)果是()。x=10whilex:x-=1ifnotx%2:print(x,end=‘’)else:print(x)A.86420B.975311C.97531D.864200

21.以下代碼的輸出結(jié)果是()。CLis=list(range(5))print(5inCLis)

A.TrueB.FalseC.0D.一1

22.單元測試不應(yīng)涉及的內(nèi)容是()。

A.模塊的接口B.模塊的執(zhí)行路徑C.模塊的局部數(shù)據(jù)結(jié)構(gòu)D.模塊的出錯處理功能

23.下面敘述中錯誤的是()。

A.軟件測試的目的是發(fā)現(xiàn)錯誤并改正錯誤

B.對被調(diào)試的程序進(jìn)行“錯誤定位”是程序調(diào)試的必要步驟

C.程序調(diào)試通常也稱為Debug

D.軟件測試應(yīng)嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性

24.以下描述錯誤的是()。

A.Python語言是一門動態(tài)的解釋型語言

B.當(dāng)Python腳本程序發(fā)生了異常,如果不處理,運行結(jié)果不可預(yù)測

C.編程語言中的異常和錯誤是完全相同的概念

D.Python通過try、except等保留字提供異常處理功能

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

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

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

26.下面代碼的輸出結(jié)果是()。foriinreversed(range(7,4,-1)):print(i,end=””)

A.7654B.765C.567D.4567

27.以下對Python文件處理的描述中,錯誤的是()。

A.當(dāng)文件以文本方式打開時,讀/寫按照字節(jié)流方式

B.Python能夠以文本和二進(jìn)制兩種方式處理文件

C.Python通過解釋器內(nèi)置的open()函數(shù)打開一個文件

D.文件使用結(jié)束后可以用close()方法關(guān)閉,釋放文件的使用授權(quán)

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

A.PythonCREB.NC.PythonD.PythonNCRE

29.以下程序的輸出結(jié)果是()。d={“大?!?“藍(lán)色”,“天空”,“灰色”,“大地”,“黑色”}print(d[“大地”],d.get(“天空”,“黃色”))

A.黑色黑色B.黑色灰色C.黑色黃色D.黑色藍(lán)色

30.下面屬于“對象”成份之一的是()。

A.封裝B.規(guī)則C.屬性D.繼承

二、判斷題(10題)31.一個數(shù)字5也是合法的Python表達(dá)式。

A.是B.否

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

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

A.是B.否

34.Python字典中的“鍵”可以是元組。

A.是B.否

35.Python不允許使用關(guān)鍵字作為變量名,允許使用內(nèi)置函數(shù)名作為變量名,但這會改變函數(shù)名的含義。

A.是B.否

36.函數(shù)內(nèi)部定義的局部變量當(dāng)函數(shù)調(diào)用結(jié)束后被自動刪除。

A.是B.否

37.同一個列表對象中的元素類型可以各不相同。

A.是B.否

38.Python元組支持雙向索引。

A.是B.否

39.Python變量名必須以字母或下劃線開頭,并且區(qū)分字母大小寫。

A.是B.否

40.Python類不支持多繼承。

A.是B.否

三、填空題(10題)41.已知x=list(range(10)),則表達(dá)式x[-4:]的值為__________。

42.在Python中定義類時,與運算符“//”對應(yīng)的特殊方法名為_______________。

43.代碼foriinrange(3):print(i,end=',')的執(zhí)行結(jié)果為_________________。

44.Python內(nèi)置函數(shù)_____________用來打開或創(chuàng)建文件并返回文件對象。

45.表達(dá)式'%s'%65的值為__________。

46.表達(dá)式3or5的值為________。

47.假設(shè)列表對象x=[1,1,1],那么表達(dá)式id(x[0])==id(x[2])的值為_____________。

48.表達(dá)式'abc'in('abcdefg')的值為______________。

49.表達(dá)式'aaasdf'.lstrip('af')的值為________________。

50.表達(dá)式r'c:\windows\notepad.exe'.endswith('.exe')的值為_____________。

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

52.考生文件夾下存在一個文件“PY201.Py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。使用turtle庫的turtle.circle()函數(shù)、turtle.seth()函數(shù)及turtle.left()函數(shù)繪制一個四瓣花圖形,效果如下所示。

試題程序:#請在_____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼importturtleforiinrange(_____(1)_____):turtle.seth(_____(2)_____)turtle.circle(50,90)turtle.seth(_____(3)_____)turtle.circle(50,90)turtle.(4)

53.考生文件夾下存在一個文件“PY201.py”,請寫代碼替換橫線,不修改其他代碼,實現(xiàn)以下功能。使用turtle庫中的pencolor()和fillcolor()方法為圖形著色(畫筆顏色為黑色,填充顏色為紅色),使用set-up()方法在桌面(400,400)的位置創(chuàng)建600像素×600像素的畫布窗體,效果如下所示。試題程序#請在_____處使用一行代碼或表達(dá)式替換#注意:請不要修改其他已給出代碼fromturtleimport*defcurvemove():foriinrange(200):right(1)forward(1)setup(600,600,400,400)hideturtle()_____(1)_____('black')_____(2)_____("red")pensize(2)begin_fill()left(140)forward(111.65)curvemove()left(120)curvemove()forward(111.65)end_fill()penup()goto(-27,85)pendown()done()

參考答案

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

2.C根據(jù)完全二叉樹的性質(zhì):具有n個結(jié)點的完全二叉樹的深度為[log2n]+1。本題中完全二叉樹共有256個結(jié)點,則深度為[log2256]+1=8+1=9。本題選擇C選項。

3.Acontinue語句只結(jié)束本次循環(huán),不終止整個循環(huán)的執(zhí)行,而break語句具備結(jié)束循環(huán)的能力。本題外層循環(huán)用來計數(shù),內(nèi)層循環(huán)用來遍歷字符串,當(dāng)滿足判斷條件時,就會結(jié)束本次循環(huán)進(jìn)入下一循環(huán),字符串遍歷完成之后,外層循環(huán)進(jìn)入下一循環(huán)。本題選擇A選項。

4.Bfor語句的循環(huán)執(zhí)行次數(shù)是根據(jù)<循環(huán)結(jié)構(gòu)>中元素的個數(shù)確定的,[1,2,3]和[‘1’,‘2’,‘3’]均有3個元素,因此循環(huán)次數(shù)是一樣的,A選項正確。range()函數(shù)只有一個參數(shù)時表示會產(chǎn)生從0開始計數(shù)到輸入?yún)?shù)的前一位整數(shù)結(jié)束的整數(shù)列表;有兩個參數(shù)時,則將第一個參數(shù)作為起始位,第二個參數(shù)作為結(jié)束位,輸出從起始位到結(jié)束位的前一位的整數(shù)列表;有3個參數(shù)時,第三個參數(shù)表示步長,起始位按照步長遞增或遞減。因此選項C、D正確。循環(huán)體中的break語句的確能影響循環(huán)次數(shù),但是不代表循環(huán)體中不能有break語句,B選項錯誤。本題選擇B選項。

5.D列表索引從0開始,所以ls[2]\n[1]指的是列表中索引為2的元素[[4,5,’ABC’],6]中索引為1的元素6,所以輸出結(jié)果是6。本題選擇D選項。

6.Alambda關(guān)鍵字用來定義匿名函數(shù)。格式為:<函數(shù)名>=lambda<參數(shù)列表>:<表達(dá)式>。本題是用來比較字符串大小,因為aa>bb,所以輸出均為aa。

7.B

8.B將實參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]+

溫馨提示

  • 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

提交評論