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

下載本文檔

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

文檔簡介

江蘇省無錫市全國計算機(jī)等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.以下程序中,while循環(huán)的循環(huán)次數(shù)是()。i=0whilei<10:ifi<1:print(”Python”)continueifi==5:print(”World!”)breaki+=1

A.10B.5C.4D.死循環(huán),不能確定

2.軟件設(shè)計中模塊劃分應(yīng)遵循的準(zhǔn)則是()。A.低內(nèi)聚低耦合

B.高內(nèi)聚低耦合

C.低內(nèi)聚高耦合

D.高內(nèi)聚高耦合

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

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

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

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

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

4.以下程序的輸出結(jié)果是()。defyoung(age): if25<=age<=30: print(“作為一個老師,你很年輕”) elifage<25: print(“作為一個老師,你太年輕了”) elifage>=60: prim(“作為一個老師,你可以退休了”) else: print(“作為一個老師,你很有愛心”)young(42)

A.作為一個老師,你很年輕B.作為一個老師,你太年輕了C.作為一個老師,你可以退休了D.作為一個老師,你很有愛心

5.基本路徑測試是屬于()。

A.黑盒測試方法且是靜態(tài)測試B.黑盒測試方法且是動態(tài)測試C.白盒測試方法且是動態(tài)測試D.白盒測試方法且是靜態(tài)測試

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

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

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

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

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

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

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

8.以下關(guān)于程序的異常處理的描述中,錯誤的是()。

A.在try-except-else結(jié)構(gòu)中,如果try塊的語句引發(fā)了異常則會執(zhí)行else塊中的代碼

B.異常處理結(jié)構(gòu)中的finally塊中的代碼仍然有可能出錯從而再次引發(fā)異常

C.一般不建議在try中放太多代碼,而是應(yīng)該只放入可能會引發(fā)異常的代碼

D.在異常處理結(jié)構(gòu)中,不論是否發(fā)生異常,finally子句中的代碼總是會執(zhí)行的

9.在供應(yīng)關(guān)系中,實(shí)體供應(yīng)商和實(shí)體零件之間的聯(lián)系是()。

A.多對多B.—對一C.多對一D.—對多

10.在面向?qū)ο蠓椒ㄖ?,不屬于”對象”基本特點(diǎn)的是()。

A.一致性B.分類性C.多態(tài)性D.標(biāo)識唯一性

11.若想要在屏幕上輸出Hello,World,應(yīng)該使用下列哪個語句?()

A.printf(“Hello,World")

B.printf(Hello,World)

C.print(“Hello,World")

D.print(Hello,World)

12.以下不屬于Python語言保留字的是()。

A.classB.passC.subD.def

13.樹的度為3,且有9個度為3的節(jié)點(diǎn),5個度為1的節(jié)點(diǎn),但沒有度為2的節(jié)點(diǎn)。則該樹中的葉子節(jié)點(diǎn)數(shù)為()。

A.18B.33C.19D.32

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

A.PythonCREB.NC.PythonD.PythonNCRE

15.執(zhí)行以下代碼的結(jié)果是()A.2,3,2,4B.4,6,4,8C.4,5,4,6D.4,9,4,16

16.表格類型數(shù)據(jù)的組織維度最可能是()。

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

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

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

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

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

A.文件是存儲在外存上的一組數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內(nèi)容

B.可以使用open()打開文件,用Close()關(guān)閉文件

C.使用read()可以從文件中讀入全部內(nèi)容

D.使用readlines()可以從文件中讀入一行內(nèi)容

20.支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是()。

A.棧B.樹C.隊(duì)列D.二叉樹

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

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

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

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

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

22.數(shù)據(jù)字典(DD)的作用是()。

A.定義流程圖中各個成份的具體含義

B.定義數(shù)據(jù)流圖中各個成份的具體含義

C.定義系統(tǒng)結(jié)構(gòu)圖中各個成份的具體含義

D.定義功能結(jié)構(gòu)圖中各個成份的具體含義

23.以下程序的輸出結(jié)果是()。print(0.1+0.2==0.3)

A.-1B.TrueC.FalseD.0

24.以下代碼的輸出結(jié)果是()。whileTrue:guess=eval(input())ifguess==0x452//2:breakprint(guess)

A.0x452B.breakC.553D.”0x452//2”

25.以下關(guān)于Python的描述正確的是()。

A.字典的創(chuàng)建必須使用dict()函數(shù)

B.列表和字符串屬于序列,但元組不屬于序列

C.Python只有一種內(nèi)置的映射類型,就是字典

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

26.以下關(guān)于二進(jìn)制數(shù)的定義,正確的是()。

A.0B1014B.0b1010C.0B1019D.0bC3F

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

A.getB.installC.showD.download

28.以下選項(xiàng)不能改變turtle繪制方向的是()。

A.turtle.open()B.turtle.left()C.turtle.fd()D.turtle.seth()

29.以下程序中,while循環(huán)的循環(huán)次數(shù)是()。i=0Whilei<10:ifi<1:print(“Python")continueifi==5:print(“World!”)breaki+=1

A.10B.5C.4D.死循環(huán),不能確定

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

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

二、判斷題(10題)31.只有Python擴(kuò)展庫才需要導(dǎo)入以后才能使用其中的對象,Python標(biāo)準(zhǔn)庫不需要導(dǎo)入即可使用其中的所有對象和方法。

A.是B.否

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

A.是B.否

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

A.是B.否

34.可以使用py2exe或pyinstaller等擴(kuò)展庫把Python源程序打包成為exe文件,從而脫離Python環(huán)境在Windows平臺上運(yùn)行。

A.是B.否

35.在Python3.x中可以使用中文作為變量名。

A.是B.否

36.在Python中可以使用if作為變量名。

A.是B.否

37.已知A和B是兩個集合,并且表達(dá)式AB的值一定為True。

A.是B.否

38.Python列表中所有元素必須為相同類型的數(shù)據(jù)。

A.是B.否

39.對于列表而言,在尾部追加元素比在中間位置插入元素速度更快一些,尤其是對于包含大量元素的列表。

A.是B.否

40.當(dāng)作為條件表達(dá)式時,[]與None等價。

A.是B.否

三、填空題(10題)41.表達(dá)式'a'+'b'的值為_____________。

42.已知x={1:2,2:3,3:4},那么表達(dá)式sum(x)的值為___________。

43.表達(dá)式int('123')的值為_____________。

44.表達(dá)式int('123',8)的值為_________。

45.已知列表x=[1,3,2],那么執(zhí)行語句y=list(reversed(x))之后,y的值為__________。

46.已知x=[1,11,111],那么執(zhí)行語句x.sort(key=lambdax:len(str(x)),reverse=True)之后,x的值為__________________。

47.Python用來訪問和操作內(nèi)置數(shù)據(jù)庫SQLite的標(biāo)準(zhǔn)庫是_____________。

48.已知函數(shù)定義deffunc(*p):returnsum(p),那么表達(dá)式func(1,2,3,4)的值為______。

49.表達(dá)式abs(-3)的值為___________。

50.表達(dá)式isinstance('abc',str)的值為________________。

四、操作題(3題)51.考生文件夾下存在一個文件“PY102.py”,請寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。用鍵盤輸入直角三角形的兩條直角邊長度,計算三角形的面積。

例如:輸入三角形第一條直角邊長:3輸入三角形第二條直角邊長:4直角三角形的面積為:6.0

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

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

a=float(input("輸入三角形第一條直角邊長:"))

b=float(input("輸入三角形第二條直角邊長:"))

_____(1)_____print("直角三角形的面積為:{_____(3)_____}".format(area))

52.考生文件夾下存在一個文件PY301.py,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請按照源文件內(nèi)部說明修改代碼,實(shí)現(xiàn)以下功能:

設(shè)計一個猜字母的程序,程序隨機(jī)給出26個小寫字母中的一個,答題者輸入猜測的字母,若輸入的不是26個小寫字母之一,讓用戶重新輸入;若字母在答案之前或之后,程序給出相應(yīng)正確提示;若答錯5次,則答題失敗并退出游戲;若回答正確,程序輸出回答次數(shù)并退出游戲。

試題程序:

#以下代碼為提示框架

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

#請?jiān)赺_____處使用一行代碼替換

#注意:提示框架代碼可以任意修改,以完成程序功能為準(zhǔn)

import_________

letter_list=[’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’,’k’,’l’,’m’,’n’,

'o','p','q','r','s','t','u','v','w','x','y','z']

etter=letter_list[random.______(0,25)]

count=0

whileTrue:…

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

參考答案

1.Dwhile循環(huán)的判斷條件為真時,進(jìn)入循環(huán)體,為假時,直接執(zhí)行while同級的代碼。初始值為i=0,進(jìn)入循環(huán)體之后,因?yàn)閕<1,執(zhí)行continue語句跳出本次循環(huán),進(jìn)入下一循環(huán)。i的值始終為0,故程序?yàn)樗姥h(huán)。

2.B解析:耦合性和內(nèi)聚性足模塊獨(dú)立性的兩個定性標(biāo)準(zhǔn)。內(nèi)聚性是一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度的度量,作為軟件結(jié)構(gòu)設(shè)計的設(shè)計原則,要求每個模塊的內(nèi)部都具有很強(qiáng)的內(nèi)聚性;耦合性是指模塊間相互連接的緊密程度的度量,一個模塊與其他模塊的耦合性越強(qiáng)則該模塊的獨(dú)立性越弱。一般優(yōu)秀的軟件設(shè)計應(yīng)盡量做到高內(nèi)聚、低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。

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

4.D將實(shí)參42傳遞給函數(shù)形參變量age,之后進(jìn)入多分支結(jié)構(gòu),依次判斷,因?yàn)?0<42<60,故執(zhí)行else后面的語句,即輸出“作為一個老師,你很有愛心”。本題選擇D選項(xiàng)。

5.C白盒測試法主要有邏輯覆蓋、基本路徑測試等。黑盒測試方法主要有等價類劃分法、邊界值分析法、錯誤推測法和因果圖等?;韭窂綔y試根據(jù)軟件過程性描述中的控制流確定程序的環(huán)路復(fù)雜性度量,用此度量定義基本路徑集合,并由此導(dǎo)出一組測試用例對每一條獨(dú)立執(zhí)行路徑進(jìn)行測試。因此基本路徑測試屬于動態(tài)測試。

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

7.A數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是數(shù)據(jù)庫的設(shè)計。故答案為A選項(xiàng)。

8.A只有try語句塊中的語句正常執(zhí)行,不發(fā)生中斷或異常,else子句中的代碼才會執(zhí)行。本題選擇A選項(xiàng)。

9.A一家供應(yīng)商可提供多種零件,一種零件也可被多家供應(yīng)商提供,所以實(shí)體供應(yīng)商和實(shí)體零件之間的聯(lián)系是多對多。本題選擇A選項(xiàng)。

10.A對象有如下一些基本特點(diǎn):標(biāo)識唯一性、分類性、多態(tài)性、封裝性、模塊獨(dú)立性好。所以選擇A。

11.CprintO函數(shù)用于輸出運(yùn)算結(jié)果,根據(jù)輸出內(nèi)容不同,有3種用法:①僅用于輸出字符串,語法格式為Print(<待輸出字符串\n>),字符串需要用單引號或者是雙引號括起來;②僅用于輸出一個或多個變量,語法格式為print(<變量1>,<變量2>,…\n<變量/I>);③用于混合輸出字符串與變量值,語法格式為print(<輸出字符串模板>.format(<變量1>,<變量2>,…<變量n>\n))。該題考查的是第一種用法。本題選擇C選項(xiàng)。

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

13.C設(shè)葉子結(jié)點(diǎn)數(shù)為〃,則該樹的結(jié)點(diǎn)數(shù)為n+9+5=n+\n14,根據(jù)樹中的結(jié)點(diǎn)數(shù)=樹中所有結(jié)點(diǎn)的度之和+1,得9×3+0×2+5×1+n×0+1=n+14,則n=19。本題選擇C選項(xiàng)。

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

15.D

16.C一維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織;二維數(shù)據(jù),也稱表格數(shù)據(jù),由關(guān)聯(lián)關(guān)系數(shù)據(jù)構(gòu)成,采用二維表格方式組織;高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構(gòu)成,采用對象方式組織。故答案為C項(xiàng)。

17.D

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

19.D文件是存儲在外存上的一組數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內(nèi)容。A選項(xiàng)正確??梢允褂胦pen()打開文件,close()關(guān)閉文件,B選項(xiàng)正確。在Python中,文件的讀取方法(f代表文件變量)如下。f.read():從文件中讀人全部內(nèi)容。f.readline():從文件中讀入一行內(nèi)容。f.readlineS():從文件中讀入所有行,以每行內(nèi)容為元素形成一個列表。f.seek()改變當(dāng)前文件操作指針的位置。C選項(xiàng)正確。本題選擇D選項(xiàng)。

20.A棧支持子程序調(diào)用。棧是-種只能在-端進(jìn)行插入或刪除的線性表,在主程序調(diào)用子函數(shù)時要首先保存主程序當(dāng)前的狀態(tài),然后轉(zhuǎn)去執(zhí)行子程序,最終把子程序的執(zhí)行結(jié)果返回到主程序中調(diào)用子程序的位置,繼續(xù)向下執(zhí)行,這種調(diào)用符合棧的特點(diǎn),因此本題的答案為A。

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

22.B數(shù)據(jù)字典(DataDictionary,DD)是對數(shù)據(jù)流圖中所有元素的精確、嚴(yán)格的定義和解釋,是一個有組織的列表,使得用戶和系統(tǒng)分析員對于輸入、輸出、存儲成分和中間計件結(jié)果有共同的理解,是結(jié)構(gòu)化分析的核心。

23.C在Python中,0.1+0.2=0.30000000000000004。原因是:對于十進(jìn)制數(shù),它只能表示以進(jìn)制數(shù)的質(zhì)因子為分母的分?jǐn)?shù)。10的質(zhì)因子有2和5,因此1/2、1/4、1/5、1/8和1/10都可以精確表示;相反,1/3、1/6和1/7都是循環(huán)小數(shù),因?yàn)樗鼈兊姆帜甘褂昧速|(zhì)因子3或者7。二進(jìn)制(進(jìn)制數(shù)為2)下,只有一個質(zhì)因子,即2,因此只能精確表示分母質(zhì)因子是2的分?jǐn)?shù)。二進(jìn)制中,1/2、1/4和1/8都可以被精確表示,但1/5或者1/10就變成了循環(huán)小數(shù)。所以,在十進(jìn)制中能夠精確表示的0.1與0.2(1/10與1/5),在計算機(jī)所使用的二進(jìn)制中就變成了循環(huán)小數(shù)。當(dāng)對這些循環(huán)小數(shù)進(jìn)行數(shù)學(xué)運(yùn)算并將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成人類可讀的十進(jìn)制數(shù)據(jù)時,會對小數(shù)尾部進(jìn)行截斷處理。在不同的語言中,運(yùn)行0.1+0.2會輸出不同的結(jié)果。本題選擇C選項(xiàng)。

24.C該程序最外層是while循環(huán),while循環(huán)的條件是True,由此可知while內(nèi)的語句會無限循環(huán)。input()函數(shù)是用來獲取用戶從鍵盤輸入的內(nèi)容并以字符串類型返回。eval()函數(shù)是把字符串轉(zhuǎn)換成Python可用的語言。if語句的作用是來控制程序是否繼續(xù)循環(huán),判斷條件中0x452是十六進(jìn)制數(shù),對2整除的結(jié)果是553,如果用戶輸入的數(shù)據(jù)是553,則將結(jié)果輸出并終止循環(huán);如果輸入其他數(shù)據(jù),程序會一直要求用戶輸入直到輸入正確的數(shù)據(jù)才會終止循環(huán)。本題選C選項(xiàng)。

25.Cdict()函數(shù)和{}都可以創(chuàng)建字典;序列類型包括列表、元組和字符串;字符串可以切片訪問,但是不能賦值。

26.B二進(jìn)制數(shù)以0b或0B開頭,后面跟0和1。A、C、D這3個選項(xiàng)中有4、9、C、3、F,這些都不是二進(jìn)制數(shù)。本題選擇B選項(xiàng)。

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

28.Aturtle.fd(distance):向當(dāng)前畫筆方向移動distance距離,當(dāng)值為負(fù)數(shù)時,表示向相反方向前進(jìn);turtle.left(angle):向左旋轉(zhuǎn)angle角度;turtle.seth(to_angle):設(shè)置當(dāng)前前進(jìn)方向?yàn)閠o_angle,該角度是絕對方向角度。turtle庫中不存在open()函數(shù)。本題選擇A選項(xiàng)。

29.Dwhile循環(huán)的判斷條件為真時,進(jìn)人循環(huán)體,為假時,直接執(zhí)行while同級的代碼。初始值為i=0,進(jìn)入循環(huán)體之后,因?yàn)閕<\n1,執(zhí)行continue語句跳出本次循環(huán),進(jìn)入下一循環(huán)。i的值始終為0,故程序?yàn)樗姥h(huán)。本題選擇D選項(xiàng)。

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

31.N

32.Y

33.Y

34.Y

35.Y

36.N

37.N

38.N

39.Y

40.Y

41.'ab'

42.6

43.123

44.83

45.[2,3,1]

46.[111,11,1]

47.sqlite3

48.10

49.3

50.True

51.a=float(input(”輸入三角形第一條直角邊長:"))b=float(input(“輸入三角形第二條直角邊長:"))Area=0.5*(a*b)print(”直角三角形的面積為:{:.1f}”.

format(area))本題考查format()方法的使用和計算直角三角形面積的公式。直角三角形的面積等于兩條直角邊的乘積再乘以1/2,所以第1空應(yīng)填area=0.5*(\r\na*b)。題干中最后輸出保留了一位小數(shù),所以format()中的字符串槽內(nèi)需要設(shè)置精度字段,因此第2空應(yīng)填入:.If。

52.importrandom\r\nletter_list=[’a’,’b’,’c’,’d’,’e’,’f’,’g’,\r\n‘h’,’i’,’j’,’k’,‘l’,’m’,’n’,\r\n’o’,’p’,’q’,’r’,’s’,’t’,\r\n’u’,’v’,’w’,’x’,’y’,’z’]

letter=letter_list[random.randint(0,25)]

count=0\r\nwhileTrue:\r\n

letter_input=input('請輸入26個小寫英文字母中的任一個:’)\r\n

count+=1\r\n

ifletter_inputnotinletter_list:\r\n

print('請重新輸入字母')\r\nelse:\r\n

ifcount>=5:\r\n

print('猜測超過5次,答題失敗')\r\n

break\r\nelse\r\n

ifletter_input==letter:\r\n

print('恭喜你答對了,總共猜了{(lán)}次',format(count))\r\n

break\r\nelifletter_input>letter\r\n

prinr('你輸入的字母排在該字母之后')\r\nelifletter_input<letter:\r\n

print('你輸入的字母排在該字母之前')\r\nelse\r\n

print('未知錯誤')隨機(jī)抽取26個小寫字母,需要使用Python的random庫中的函數(shù)。randint(a,b)方法生成一個[a,b]之間的整數(shù),用來隨機(jī)抽取列表中的字母。根據(jù)題目要求總體分為兩個方向:①輸入的字符不是小寫字母中的任一個字符,則輸出“請重新輸人字母”;②若輸入的字符在列表中,則判斷輸入的次數(shù)是否大于5,大于5則輸出“猜測超過5次,答題失敗”并退出循環(huán),在輸人次數(shù)之內(nèi),對輸入的字符與隨機(jī)抽取的字符進(jìn)行比較,即大于、小于和等于,不同的比較范圍對應(yīng)不同的輸出。

53.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)。江蘇省無錫市全國計算機(jī)等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.以下程序中,while循環(huán)的循環(huán)次數(shù)是()。i=0whilei<10:ifi<1:print(”Python”)continueifi==5:print(”World!”)breaki+=1

A.10B.5C.4D.死循環(huán),不能確定

2.軟件設(shè)計中模塊劃分應(yīng)遵循的準(zhǔn)則是()。A.低內(nèi)聚低耦合

B.高內(nèi)聚低耦合

C.低內(nèi)聚高耦合

D.高內(nèi)聚高耦合

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

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

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

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

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

4.以下程序的輸出結(jié)果是()。defyoung(age): if25<=age<=30: print(“作為一個老師,你很年輕”) elifage<25: print(“作為一個老師,你太年輕了”) elifage>=60: prim(“作為一個老師,你可以退休了”) else: print(“作為一個老師,你很有愛心”)young(42)

A.作為一個老師,你很年輕B.作為一個老師,你太年輕了C.作為一個老師,你可以退休了D.作為一個老師,你很有愛心

5.基本路徑測試是屬于()。

A.黑盒測試方法且是靜態(tài)測試B.黑盒測試方法且是動態(tài)測試C.白盒測試方法且是動態(tài)測試D.白盒測試方法且是靜態(tài)測試

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

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

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

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

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

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

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

8.以下關(guān)于程序的異常處理的描述中,錯誤的是()。

A.在try-except-else結(jié)構(gòu)中,如果try塊的語句引發(fā)了異常則會執(zhí)行else塊中的代碼

B.異常處理結(jié)構(gòu)中的finally塊中的代碼仍然有可能出錯從而再次引發(fā)異常

C.一般不建議在try中放太多代碼,而是應(yīng)該只放入可能會引發(fā)異常的代碼

D.在異常處理結(jié)構(gòu)中,不論是否發(fā)生異常,finally子句中的代碼總是會執(zhí)行的

9.在供應(yīng)關(guān)系中,實(shí)體供應(yīng)商和實(shí)體零件之間的聯(lián)系是()。

A.多對多B.—對一C.多對一D.—對多

10.在面向?qū)ο蠓椒ㄖ?,不屬于”對象”基本特點(diǎn)的是()。

A.一致性B.分類性C.多態(tài)性D.標(biāo)識唯一性

11.若想要在屏幕上輸出Hello,World,應(yīng)該使用下列哪個語句?()

A.printf(“Hello,World")

B.printf(Hello,World)

C.print(“Hello,World")

D.print(Hello,World)

12.以下不屬于Python語言保留字的是()。

A.classB.passC.subD.def

13.樹的度為3,且有9個度為3的節(jié)點(diǎn),5個度為1的節(jié)點(diǎn),但沒有度為2的節(jié)點(diǎn)。則該樹中的葉子節(jié)點(diǎn)數(shù)為()。

A.18B.33C.19D.32

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

A.PythonCREB.NC.PythonD.PythonNCRE

15.執(zhí)行以下代碼的結(jié)果是()A.2,3,2,4B.4,6,4,8C.4,5,4,6D.4,9,4,16

16.表格類型數(shù)據(jù)的組織維度最可能是()。

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

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

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

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

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

A.文件是存儲在外存上的一組數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內(nèi)容

B.可以使用open()打開文件,用Close()關(guān)閉文件

C.使用read()可以從文件中讀入全部內(nèi)容

D.使用readlines()可以從文件中讀入一行內(nèi)容

20.支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是()。

A.棧B.樹C.隊(duì)列D.二叉樹

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

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

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

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

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

22.數(shù)據(jù)字典(DD)的作用是()。

A.定義流程圖中各個成份的具體含義

B.定義數(shù)據(jù)流圖中各個成份的具體含義

C.定義系統(tǒng)結(jié)構(gòu)圖中各個成份的具體含義

D.定義功能結(jié)構(gòu)圖中各個成份的具體含義

23.以下程序的輸出結(jié)果是()。print(0.1+0.2==0.3)

A.-1B.TrueC.FalseD.0

24.以下代碼的輸出結(jié)果是()。whileTrue:guess=eval(input())ifguess==0x452//2:breakprint(guess)

A.0x452B.breakC.553D.”0x452//2”

25.以下關(guān)于Python的描述正確的是()。

A.字典的創(chuàng)建必須使用dict()函數(shù)

B.列表和字符串屬于序列,但元組不屬于序列

C.Python只有一種內(nèi)置的映射類型,就是字典

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

26.以下關(guān)于二進(jìn)制數(shù)的定義,正確的是()。

A.0B1014B.0b1010C.0B1019D.0bC3F

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

A.getB.installC.showD.download

28.以下選項(xiàng)不能改變turtle繪制方向的是()。

A.turtle.open()B.turtle.left()C.turtle.fd()D.turtle.seth()

29.以下程序中,while循環(huán)的循環(huán)次數(shù)是()。i=0Whilei<10:ifi<1:print(“Python")continueifi==5:print(“World!”)breaki+=1

A.10B.5C.4D.死循環(huán),不能確定

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

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

二、判斷題(10題)31.只有Python擴(kuò)展庫才需要導(dǎo)入以后才能使用其中的對象,Python標(biāo)準(zhǔn)庫不需要導(dǎo)入即可使用其中的所有對象和方法。

A.是B.否

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

A.是B.否

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

A.是B.否

34.可以使用py2exe或pyinstaller等擴(kuò)展庫把Python源程序打包成為exe文件,從而脫離Python環(huán)境在Windows平臺上運(yùn)行。

A.是B.否

35.在Python3.x中可以使用中文作為變量名。

A.是B.否

36.在Python中可以使用if作為變量名。

A.是B.否

37.已知A和B是兩個集合,并且表達(dá)式AB的值一定為True。

A.是B.否

38.Python列表中所有元素必須為相同類型的數(shù)據(jù)。

A.是B.否

39.對于列表而言,在尾部追加元素比在中間位置插入元素速度更快一些,尤其是對于包含大量元素的列表。

A.是B.否

40.當(dāng)作為條件表達(dá)式時,[]與None等價。

A.是B.否

三、填空題(10題)41.表達(dá)式'a'+'b'的值為_____________。

42.已知x={1:2,2:3,3:4},那么表達(dá)式sum(x)的值為___________。

43.表達(dá)式int('123')的值為_____________。

44.表達(dá)式int('123',8)的值為_________。

45.已知列表x=[1,3,2],那么執(zhí)行語句y=list(reversed(x))之后,y的值為__________。

46.已知x=[1,11,111],那么執(zhí)行語句x.sort(key=lambdax:len(str(x)),reverse=True)之后,x的值為__________________。

47.Python用來訪問和操作內(nèi)置數(shù)據(jù)庫SQLite的標(biāo)準(zhǔn)庫是_____________。

48.已知函數(shù)定義deffunc(*p):returnsum(p),那么表達(dá)式func(1,2,3,4)的值為______。

49.表達(dá)式abs(-3)的值為___________。

50.表達(dá)式isinstance('abc',str)的值為________________。

四、操作題(3題)51.考生文件夾下存在一個文件“PY102.py”,請寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。用鍵盤輸入直角三角形的兩條直角邊長度,計算三角形的面積。

例如:輸入三角形第一條直角邊長:3輸入三角形第二條直角邊長:4直角三角形的面積為:6.0

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

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

a=float(input("輸入三角形第一條直角邊長:"))

b=float(input("輸入三角形第二條直角邊長:"))

_____(1)_____print("直角三角形的面積為:{_____(3)_____}".format(area))

52.考生文件夾下存在一個文件PY301.py,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請按照源文件內(nèi)部說明修改代碼,實(shí)現(xiàn)以下功能:

設(shè)計一個猜字母的程序,程序隨機(jī)給出26個小寫字母中的一個,答題者輸入猜測的字母,若輸入的不是26個小寫字母之一,讓用戶重新輸入;若字母在答案之前或之后,程序給出相應(yīng)正確提示;若答錯5次,則答題失敗并退出游戲;若回答正確,程序輸出回答次數(shù)并退出游戲。

試題程序:

#以下代碼為提示框架

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

#請?jiān)赺_____處使用一行代碼替換

#注意:提示框架代碼可以任意修改,以完成程序功能為準(zhǔn)

import_________

letter_list=[’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’,’k’,’l’,’m’,’n’,

'o','p','q','r','s','t','u','v','w','x','y','z']

etter=letter_list[random.______(0,25)]

count=0

whileTrue:…

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

參考答案

1.Dwhile循環(huán)的判斷條件為真時,進(jìn)入循環(huán)體,為假時,直接執(zhí)行while同級的代碼。初始值為i=0,進(jìn)入循環(huán)體之后,因?yàn)閕<1,執(zhí)行continue語句跳出本次循環(huán),進(jìn)入下一循環(huán)。i的值始終為0,故程序?yàn)樗姥h(huán)。

2.B解析:耦合性和內(nèi)聚性足模塊獨(dú)立性的兩個定性標(biāo)準(zhǔn)。內(nèi)聚性是一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度的度量,作為軟件結(jié)構(gòu)設(shè)計的設(shè)計原則,要求每個模塊的內(nèi)部都具有很強(qiáng)的內(nèi)聚性;耦合性是指模塊間相互連接的緊密程度的度量,一個模塊與其他模塊的耦合性越強(qiáng)則該模塊的獨(dú)立性越弱。一般優(yōu)秀的軟件設(shè)計應(yīng)盡量做到高內(nèi)聚、低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。

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

4.D將實(shí)參42傳遞給函數(shù)形參變量age,之后進(jìn)入多分支結(jié)構(gòu),依次判斷,因?yàn)?0<42<60,故執(zhí)行else后面的語句,即輸出“作為一個老師,你很有愛心”。本題選擇D選項(xiàng)。

5.C白盒測試法主要有邏輯覆蓋、基本路徑測試等。黑盒測試方法主要有等價類劃分法、邊界值分析法、錯誤推測法和因果圖等?;韭窂綔y試根據(jù)軟件過程性描述中的控制流確定程序的環(huán)路復(fù)雜性度量,用此度量定義基本路徑集合,并由此導(dǎo)出一組測試用例對每一條獨(dú)立執(zhí)行路徑進(jìn)行測試。因此基本路徑測試屬于動態(tài)測試。

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

7.A數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是數(shù)據(jù)庫的設(shè)計。故答案為A選項(xiàng)。

8.A只有try語句塊中的語句正常執(zhí)行,不發(fā)生中斷或異常,else子句中的代碼才會執(zhí)行。本題選擇A選項(xiàng)。

9.A一家供應(yīng)商可提供多種零件,一種零件也可被多家供應(yīng)商提供,所以實(shí)體供應(yīng)商和實(shí)體零件之間的聯(lián)系是多對多。本題選擇A選項(xiàng)。

10.A對象有如下一些基本特點(diǎn):標(biāo)識唯一性、分類性、多態(tài)性、封裝性、模塊獨(dú)立性好。所以選擇A。

11.CprintO函數(shù)用于輸出運(yùn)算結(jié)果,根據(jù)輸出內(nèi)容不同,有3種用法:①僅用于輸出字符串,語法格式為Print(<待輸出字符串\n>),字符串需要用單引號或者是雙引號括起來;②僅用于輸出一個或多個變量,語法格式為print(<變量1>,<變量2>,…\n<變量/I>);③用于混合輸出字符串與變量值,語法格式為print(<輸出字符串模板>.format(<變量1>,<變量2>,…<變量n>\n))。該題考查的是第一種用法。本題選擇C選項(xiàng)。

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

13.C設(shè)葉子結(jié)點(diǎn)數(shù)為〃,則該樹的結(jié)點(diǎn)數(shù)為n+9+5=n+\n14,根據(jù)樹中的結(jié)點(diǎn)數(shù)=樹中所有結(jié)點(diǎn)的度之和+1,得9×3+0×2+5×1+n×0+1=n+14,則n=19。本題選擇C選項(xiàng)。

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

15.D

16.C一維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織;二維數(shù)據(jù),也稱表格數(shù)據(jù),由關(guān)聯(lián)關(guān)系數(shù)據(jù)構(gòu)成,采用二維表格方式組織;高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構(gòu)成,采用對象方式組織。故答案為C項(xiàng)。

17.D

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

19.D文件是存儲在外存上的一組數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內(nèi)容。A選項(xiàng)正確??梢允褂胦pen()打開文件,close()關(guān)閉文件,B選項(xiàng)正確。在Python中,文件的讀取方法(f代表文件變量)如下。f.read():從文件中讀人全部內(nèi)容。f.readline():從文件中讀入一行內(nèi)容。f.readlineS():從文件中讀入所有行,以每行內(nèi)容為元素形成一個列表。f.seek()改變當(dāng)前文件操作指針的位置。C選項(xiàng)正確。本題選擇D選項(xiàng)。

20.A棧支持子程序調(diào)用。棧是-種只能在-端進(jìn)行插入或刪除的線性表,在主程序調(diào)用子函數(shù)時要首先保存主程序當(dāng)前的狀態(tài),然后轉(zhuǎn)去執(zhí)行子程序,最終把子程序的執(zhí)行結(jié)果返回到主程序中調(diào)用子程序的位置,繼續(xù)向下執(zhí)行,這種調(diào)用符合棧的特點(diǎn),因此本題的答案為A。

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

22.B數(shù)據(jù)字典(DataDictionary,DD)是對數(shù)據(jù)流圖中所有元素的精確、嚴(yán)格的定義和解釋,是一個有組織的列表,使得用戶和系統(tǒng)分析員對于輸入、輸出、存儲成分和中間計件結(jié)果有共同的理解,是結(jié)構(gòu)化分析的核心。

23.C在Python中,0.1+0.2=0.30000000000000004。原因是:對于十進(jìn)制數(shù),它只能表示以進(jìn)制數(shù)的質(zhì)因子為分母的分?jǐn)?shù)。10的質(zhì)因子有2和5,因此1/2、1/4、1/5、1/8和1/10都可以精確表示;相反,1/3、1/6和1/7都是循環(huán)小數(shù),因?yàn)樗鼈兊姆帜甘褂昧速|(zhì)因子3或者7。二進(jìn)制(進(jìn)制數(shù)為2)下,只有一個質(zhì)因子,即2,因此只能精確表示分母質(zhì)因子是2的分?jǐn)?shù)。二進(jìn)制中,1/2、1/4和1/8都可以被精確表示,但1/5或者1/10就變成了循環(huán)小數(shù)。所以,在十進(jìn)制中能夠精確表示的0.1與0.2(1/10與1/5),在計算機(jī)所使用的二進(jìn)制中就變成了循環(huán)小數(shù)。當(dāng)對這些循環(huán)小數(shù)進(jìn)行數(shù)學(xué)運(yùn)算并將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成人類可讀的十進(jìn)制數(shù)據(jù)時,會對小數(shù)尾部進(jìn)行截斷處理。在不同的語言中,運(yùn)行0.1+0.2會輸出不同的結(jié)果。本題選擇C選項(xiàng)。

24.C該程序最外層是while循環(huán),while循環(huán)的條件是True,由此可知while內(nèi)的語句會無限循環(huán)。input()函數(shù)是用來獲取用戶從鍵盤輸入的內(nèi)容并以字符串類型返回。eval()函數(shù)是把字符串轉(zhuǎn)換成Python可用的語言。if語句的作用是來控制程序是否繼續(xù)循環(huán),判斷條件中0x452是十六進(jìn)制數(shù),對2整除的結(jié)果是553,如果用戶輸入的數(shù)據(jù)是553,則將結(jié)果輸出并終止循環(huán);如果輸入其他數(shù)據(jù),程序會一直要求用戶輸入直到輸入正確的數(shù)據(jù)才會終止循環(huán)。本題選C選項(xiàng)。

25.Cdict()函數(shù)和{}都可以創(chuàng)建字典;序列類型包括列表、元組和字符串;字符串可以切片訪問,但是不能賦值。

26.B二進(jìn)制數(shù)以0b或0B開頭,后面跟0和1。A、C、D這3個選項(xiàng)中有4、9、C、3、F,這些都不是二進(jìn)制數(shù)。本題選擇B選項(xiàng)。

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

28.Aturtle.fd(distance):向當(dāng)前畫筆方向移動distance距離,當(dāng)值為負(fù)數(shù)時,表示向相反方向前進(jìn);turtle.left(angle):向左旋轉(zhuǎn)angle角度;turtle.seth(to_angle):設(shè)置當(dāng)前前進(jìn)方向?yàn)閠o_angle,該角度是絕對方向角度。turtle庫中不存在open()函數(shù)。本題選擇A選項(xiàng)。

29.Dwhile循環(huán)的判斷條件為真時,進(jìn)人循環(huán)體,為假時,直接執(zhí)行while同級的代碼。初始值為i=0,進(jìn)入循環(huán)體之后,因?yàn)閕<\n1,執(zhí)行continue語句跳出本次循環(huán),進(jìn)入下一循環(huán)。i的值始終為0,故程序?yàn)樗姥h(huán)。本題選擇D選項(xiàng)。

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

31.N

32.Y

33.Y

34.Y

35.Y

36.N

37.N

38.N

39.Y

40.Y

41.'ab'

42.6

43.123

44.83

45.[2,3,1]

46.[111,11,1]

47.sqlite3

48.10

49.3

50.True

51.a=float(input(”輸入三角形第一條直角邊長:"))b=float(input(“輸入三角形第二條直角邊長:"))Area=0.5*(a*b)print(”直角三角形的面積為:{:.1f}”.

format(area))本題考查format()方法的使用和計算直角三角形面積的公式。直角三角形的面積等于兩條直角邊的乘積再乘以1/2,所以第1空應(yīng)填area=0.5*(\r\na*b)。題干中最后輸出保留了一位小數(shù),所以format()中的字符串槽內(nèi)需要設(shè)置精度字段,因此第2空應(yīng)填入:.If。

52.importrandom\r\nletter_list=[’a’,’b’,’c’,’d’,’e’,’f’,’g’,\r\n‘h’,’i’,’j’,’k’,‘l’,’m’,’n’,\r\n’o’,’p’,’q’,’r’,’s’,’t’,\r\n’u’,’v’,’w’,’x’,’y’,’z’]

letter=letter_list[random.randint(0,25)]

count=0\r\nwhileTrue:\r\n

letter_input=input('請輸入26個小寫英文字母中的任一個:’)\r\n

count+=1\r\n

ifletter_inputnotinletter_list:\r\n

print('請重新輸入字母')\r\nelse:\r\n

ifcount>=5:\r\n

print('猜測超過5次,答題失敗')\r\n

break\r\nelse\r\n

ifletter_input==letter:\r\n

print('恭喜你答對了,總共猜了{(lán)}次',format(count))\r\n

break\r\nelifletter_input>letter\r\n

prinr('你輸入的字母排在該字母之后')\r\nelifletter_input<letter:\r\n

print('你輸入的字母排在該字母之前')\r\nelse\r\n

print('未知錯誤')隨機(jī)抽取26個小寫字母,需要使用Python的random庫中的函數(shù)。randint(a,b)方法生成一個[a,b]之間的整數(shù),用來隨機(jī)抽取列表中的字母。根據(jù)題目要求總體分為兩個方向:①輸入的字符不是小寫字母中的任一個字符,則輸出“請重新輸人字母”;②若輸入的字符在列表中,則判斷輸入的次數(shù)是否大于5,大于5則輸出“猜測超過5次,答題失敗”并退出循環(huán),在輸人次數(shù)之內(nèi),對輸入的字符與隨機(jī)抽取的字符進(jìn)行比較,即大于、小于和等于,不同的比較范圍對應(yīng)不同的輸出。

53.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)。江蘇省無錫市全國計算機(jī)等級考試Python語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________

一、單選題(30題)1.以下程序中,while循環(huán)的循環(huán)次數(shù)是()。i=0whilei<10:ifi<1:print(”Python”)continueifi==5:print(”World!”)breaki+=1

A.10B.5C.4D.死循環(huán),不能確定

2.軟件設(shè)計中模塊劃分應(yīng)遵循的準(zhǔn)則是()。A.低內(nèi)聚低耦合

B.高內(nèi)聚低耦合

C.低內(nèi)聚高耦合

D.高內(nèi)聚高耦合

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

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

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

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

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

4.以下程序的輸出結(jié)果是()。defyoung(age): if25<=age<=30: print(“作為一個老師,你很年輕”) elifage<25: print(“作為一個老師,你太年輕了”) elifage>=60: prim(“作為一個老師,你可以退休了”) else: print(“作為一個老師,你很有愛心”)young(42)

A.作為一個老師,你很年輕B.作為一個老師,你太年輕了C.作為一個老師,你可以退休了D.作為一個老師,你很有愛心

5.基本路徑測試是屬于()。

A.黑盒測試方法且是靜態(tài)測試B.黑盒測試方法且是動態(tài)測試C.白盒測試方法且是動態(tài)測試D.白盒測試方法且是靜態(tài)測試

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

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

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

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

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

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

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

8.以下關(guān)于程序的異常處理的描述中,錯誤的是()。

A.在try-except-else結(jié)構(gòu)中,如果try塊的語句引發(fā)了異常則會執(zhí)行else塊中的代碼

B.異常處理結(jié)構(gòu)中的finally塊中的代碼仍然有可能出錯從而再次引發(fā)異常

C.一般不建議在try中放太多代碼,而是應(yīng)該只放入可能會引發(fā)異常的代碼

D.在異常處理結(jié)構(gòu)中,不論是否發(fā)生異常,finally子句中的代碼總是會執(zhí)行的

9.在供應(yīng)關(guān)系中,實(shí)體供應(yīng)商和實(shí)體零件之間的聯(lián)系是()。

A.多對多B.—對一C.多對一D.—對多

10.在面向?qū)ο蠓椒ㄖ?,不屬于”對象”基本特點(diǎn)的是()。

A.一致性B.分類性C.多態(tài)性D.標(biāo)識唯一性

11.若想要在屏幕上輸出Hello,World,應(yīng)該使用下列哪個語句?()

A.printf(“Hello,World")

B.printf(Hello,World)

C.print(“Hello,World")

D.print(Hello,World)

12.以下不屬于Python語言保留字的是()。

A.classB.passC.subD.def

13.樹的度為3,且有9個度為3的節(jié)點(diǎn),5個度為1的節(jié)點(diǎn),但沒有度為2的節(jié)點(diǎn)。則該樹中的葉子節(jié)點(diǎn)數(shù)為()。

A.18B.33C.19D.32

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

A.PythonCREB.NC.PythonD.PythonNCRE

15.執(zhí)行以下代碼的結(jié)果是()A.2,3,2,4B.4,6,4,8C.4,5,4,6D.4,9,4,16

16.表格類型數(shù)據(jù)的組織維度最可能是()。

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

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

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

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

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

A.文件是存儲在外存上的一組數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內(nèi)容

B.可以使用open()打開文件,用Close()關(guān)閉文件

C.使用read()可以從文件中讀入全部內(nèi)容

D.使用readlines()可以從文件中讀入一行內(nèi)容

20.支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是()。

A.棧B.樹C.隊(duì)列D.二叉樹

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

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

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

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

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

22.數(shù)據(jù)字典(DD)的作用是()。

A.定義流程圖中各個成份的具體含義

B.定義數(shù)據(jù)流圖中各個成份的具體含義

C.定義系統(tǒng)結(jié)構(gòu)圖中各個成份的具體含義

D.定義功能結(jié)構(gòu)圖中各個成份的具體含義

23.以下程序的輸出結(jié)果是()。print(0.1+0.2==0.3)

A.-1B.TrueC.FalseD.0

24.以下代碼的輸出結(jié)果是()。whileTrue:guess=eval(input())ifguess==0x452//2:breakprint(guess)

A.0x452B.breakC.553D.”0x452//2”

25.以下關(guān)于Python的描述正確的是()。

A.字典的創(chuàng)建必須使用dict()函數(shù)

B.列表和字符串屬于序列,但元組不屬于序列

C.Python只有一種內(nèi)置的映射類型,就是字典

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

26.以下關(guān)于二進(jìn)制數(shù)的定義,正確的是()。

A.0B1014B.0b1010C.0B1019D.0bC3F

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

A.getB.installC.showD.download

28.以下選項(xiàng)不能改變turtle繪制方向的是()。

A.turtle.open()B.turtle.left()C.turtle.fd()D.turtle.seth()

29.以下程序中,while循環(huán)的循環(huán)次數(shù)是()。i=0Whilei<10:ifi<1:print(“Python")continueifi==5:print(“World!”)breaki+=1

A.10B.5C.4D.死循環(huán),不能確定

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

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

二、判斷題(10題)31.只有Python擴(kuò)展庫才需要導(dǎo)入以后才能使用其中的對象,Python標(biāo)準(zhǔn)庫不需要導(dǎo)入即可使用其中的所有對象和方法。

A.是B.否

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

A.是B.否

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

A.是B.否

34.可以使用py2exe或pyinstaller等擴(kuò)展庫把Python源程序打包成為exe文件,從而脫離Python環(huán)境在Windows平臺上運(yùn)行。

A.是B.否

35.在Python3.x中可以使用中文作為變量名。

A.是B.否

36.在Python中可以使用if作為變量名。

A.是B.否

37.已知A和B是兩個集合,并且表達(dá)式AB的值一定為True。

A.是B.否

38.Python列表中所有元素必須為相同類型的數(shù)據(jù)。

A.是B.否

39.對于列表而言,在尾部追加元素比在中間位置插入元素速度更快一些,尤其是對于包含大量元素的列表。

A.是B.否

40.當(dāng)作為條件表達(dá)式時,[]與None等價。

A.是B.否

三、填空題(10題)41.表達(dá)式'a'+'b'的值為_____________。

42.已知x={1:2,2:3,3:4},那么表達(dá)式sum(x)的值為___________。

43.表達(dá)式int('123')的值為_____________。

44.表達(dá)式int('123',8)的值為_________。

45.已知列表x=[1,3,2],那么執(zhí)行語句y=list(reversed(x))之后,y的值為__________。

46.已知x=[1,11,111],那么執(zhí)行語句x.sort(key=lambdax:len(str(x)),reverse=True)之后,x的值為__________________。

47.Python用來訪問和操作內(nèi)置數(shù)據(jù)庫SQLite的標(biāo)準(zhǔn)庫是_____________。

48.已知函數(shù)定義deffunc(*p):returnsum(p),那么表達(dá)式func(1,2,3,4)的值為______。

49.表達(dá)式abs(-3)的值為___________。

50.表達(dá)式isinstance('abc',str)的值為________________。

四、操作題(3題)51.考生文件夾下存在一個文件“PY102.py”,請寫代碼替換橫線,不修改其他代碼,實(shí)現(xiàn)以下功能。用鍵盤輸入直角三角形的兩條直角邊長度,計算三角形的面積。

例如:輸入三角形第一條直角邊長:3輸入三角形第二條直角邊長:4直角三角形的面積為:6.0

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

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

a=float(input("輸入三角形第一條直角邊長:"))

b=float(input("輸入三角形第二條直角邊長:"))

_____(1)_____print("直角三角形的面積為:{_____(3)_____}".format(area))

52.考生文件夾下存在一個文件PY301.py,該文件是本題目的代碼提示框架,其中代碼可以任意修改。請按照源文件內(nèi)部說明修改代碼,實(shí)現(xiàn)以下功能:

設(shè)計一個猜字母的程序,程序隨機(jī)給出26個小寫字母中的一個,答題者輸入猜測的字母,若輸入的不是26個小寫字母之一,讓用戶重新輸入;若字母在答案之前或之后,程序給出相應(yīng)正確提示;若答錯5次,則答題失敗并退出游戲;若回答正確,程序輸出回答次數(shù)并退出游戲。

試題程序:

#以下代碼為提示框架

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

#請?jiān)赺_____處使用一行代碼替換

#注意:提示框架代碼可以任意修改,以完成程序功能為準(zhǔn)

import_________

letter_list=[’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’,’k’,’l’,’m’,’n’,

'o','p','q','r','s','t','u','v','w','x','y','z']

etter=letter_list[random.______(0,25)]

count=0

whileTrue:…

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

參考答案

1.Dwhile循環(huán)的判斷條件為真時,進(jìn)入循環(huán)體,為假時,直接執(zhí)行while同級的代碼。初始值為i=0,進(jìn)入循環(huán)體之后,因?yàn)閕<1,執(zhí)行continue語句跳出本次循環(huán),進(jìn)入下一循環(huán)。i的值始終為0,故程序?yàn)樗姥h(huán)。

2.B解析:耦合性和內(nèi)聚性足模塊獨(dú)立性的兩個定性標(biāo)準(zhǔn)。內(nèi)聚性是一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度的度量,作為軟件結(jié)構(gòu)設(shè)計的設(shè)計原則,要求每個模塊的內(nèi)部都具有很強(qiáng)的內(nèi)聚性;耦合性是指模塊間相互連接的緊密程度的度量,一個模塊與其他模塊的耦合性越強(qiáng)則該模塊的獨(dú)立性越弱。一般優(yōu)秀的軟件設(shè)計應(yīng)盡量做到高內(nèi)聚、低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。

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

4.D將實(shí)參42傳遞給函數(shù)形參變量age,之后進(jìn)入多分支結(jié)構(gòu),依次判斷,因?yàn)?0<42<60,故執(zhí)行else后面的語句,即輸出“作為一個老師,你很有愛心”。本題選擇D選項(xiàng)。

5.C白盒測試法主要有邏輯覆蓋、基本路徑測試等。黑盒測試方法主要有等價類劃分法、邊界值分析法、錯誤推測法和因果圖等?;韭窂綔y試根據(jù)軟件過程性描述中的控制流確定程序的環(huán)路復(fù)雜性度量,用此度量定義基本路徑集合,并由此導(dǎo)出一組測試用例對每一條獨(dú)立執(zhí)行路徑進(jìn)行測

溫馨提示

  • 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

提交評論