資源簡介 第三章 算法的程序?qū)崿F(xiàn) 單元練習卷1.有如下Python程序段,有關(guān)該程序段,下列說法正確的是( )def fun(k): if k==0: return " " elif k%2==1: return chr(k+ord('A'))+fun(k-1) else: return fun(k-1)+chr(k+ord('A'))A.fun(5)的值為'FDBCE'B.若執(zhí)行s=fun(0),則函數(shù)fun的調(diào)用次數(shù)為0C.該算法的時間復雜度為O(n^2)D.計算機在執(zhí)行上述遞歸程序時,是通過樹的調(diào)用來實現(xiàn)的2.執(zhí)行下列 Python程序,輸出的是( )shuiguo=["石榴","楊桃","香蕉","蘋果"]print(shuiguo[1])A.石榴 B.楊桃 C.香蕉 D.蘋果3.小劉搭建了“室內(nèi)光線強度監(jiān)測信息系統(tǒng)”,該信息系統(tǒng)主要包括“數(shù)據(jù)采集”、“數(shù)據(jù)查詢”、“數(shù)據(jù)維護”子系統(tǒng)。網(wǎng)站框架如圖a所示,系統(tǒng)的部分代碼如圖b所示。下列說法不正確的是( )A.數(shù)據(jù)采集子頁面采用GET的形式提交數(shù)據(jù)B.上述代碼中“@app.route("/cx")”與“cx()”是一對路由和視圖函數(shù)C.“app=Flask(__name__)”的功能是為Web應(yīng)用程序創(chuàng)建Flask類的對象D.在瀏覽器地址欄輸入“http://192.168.1.1:88/get”, 按回車鍵后,瀏覽器中顯示“get data ok”4.下面Python函數(shù)的作用,選項錯誤的是( )A.增加代碼的維護難度 B.實現(xiàn)代碼的復用C.增強代碼的可讀性 D.使代碼的邏輯結(jié)構(gòu)更清晰5.下列選項中,不屬于高級程序設(shè)計語言的是( )A.Python B.C/C++ C.Java D.Word6.range()函數(shù)可以生成某個范圍內(nèi)的數(shù)字序列,range(6,8)是( )A.6 8 B.6 7 8 C.7 8 D.6 77.為了響應(yīng)“光盤行動”的號召,學校食堂要開發(fā)一款訂餐APP,制訂了如下工作你認為流程最恰當?shù)囊豁検牵? )A.分析問題、設(shè)計算法、編寫程序、調(diào)試與維護B.設(shè)計算法、編寫程序、分析問題、調(diào)試與維護C.分析問題、編寫程序、調(diào)試與維護、設(shè)計算法D.編寫程序、調(diào)試與維護、分析問題、設(shè)計算法8.編程解決問題的一般過程是( )①設(shè)計算法 ②編寫程序 ③調(diào)試運行 ④分析問題A.①②③④ B.④①③② C.④①②③ D.①④②③9.已知Python列表s=[‘長江',’長城’,’黃山’,’黃河’],那么s[-2]是( )A.’黃山’ B.'黃河' C.‘長城’ D.‘長江'10.在條件語句中,哪個關(guān)鍵字通常用于檢查多個條件?( )A.if B.else C.else if D.switch11.執(zhí)行如下代碼:c=0num=[1,2,3,4]def fun(num): global c for i in range( 5 ) : c+=1 num.append(c) return numprint(fun(num), num ,c)則程序執(zhí)行后輸出( )A.[1,2,3,4] [1,2,3,4]B.[1, 2, 3, 4, 5] [1,2,3,4] 0C.[1, 2, 3, 4, 5] [1,2,3,4] 5D.[1, 2, 3, 4, 5] [1, 2, 3, 4, 5] 512.某個進行素數(shù)判斷的Python程序如下:def prime(n,m): if n==m: return True elif n<2 or n%m==0: return False else: return prime(n, m+1)x=int(input("請輸入x:"))if prime(x,2): print("是素數(shù)!")else: print("不是素數(shù)!")輸入的值為123時,執(zhí)行程序后自定義函數(shù)prime被執(zhí)行的次數(shù)是( )A.1次 B.2次 C.122次 D.123次13.結(jié)構(gòu)化程序設(shè)計中,模塊的內(nèi)聚度應(yīng)該是( )A.高內(nèi)聚 B.低內(nèi)聚 C.無內(nèi)聚 D.以上都不對14.某終端接上溫度傳感器,將溫度讀取到變量 a 中,代碼如下。while True: a=temperature() if a>33: display.show(Image.SAD) sleep(3000) else: display.show(Image.HAPPY)若溫度傳感器和主板的連接正常,燒錄并運行該代碼下列選項中正確的是( )A.熱風機加熱后,主板 LED 顯示“哭臉”圖形,3 秒后顯示“笑臉”圖形B.室溫低于33℃時,主板 LED不顯示任何圖形C.熱風機加熱后,主板 LED 顯示“笑臉”圖形,3 秒后顯示“哭臉”圖形D.室溫低于 33℃時,主板 LED 顯示“笑臉”15.以下程序段的輸出結(jié)果是( )i, j = 1,5if j< 0:i=-1else:i=0print(i)A.0 B.1 C.-1 D.516.有如下 python 程序段:列表 a 的初始值略…for i in range(6): if (i+1)%2!=0: if a[i]%10 >5: a[i]=a[i]//10 else: a[i]=a[i]%10 else: a[i]=a[i-1]+1程序運行后 a[0]到 a[6]的值分別是 2,3,4,5,0,1,則 a[0]到 a[6]各元素的初始值可能是( )A.26,1,4,2,8,3 B.12,1,14,2,11,3 C.15,1,2,3,4,5 D.29,1,40,2,3,3017.下面的程序,若想運行結(jié)果是Best Wishes to you!,則劃線處代碼可能是( )s="Happy National Day!"m=____________________if m=="Happy": print("Happy to you!")elif m=="National": print("Best Wishes to you!")else: print("It's a fine Day!")A.s[6:13] B.s[7:14]C.s[-6:-14:-1] D.s[-13:-5:1]18.有如下Python程序段:a=[5,4,2,6,3];n=len(a)for i in range(n-2):for j in range(i + 1,n):if a[i]a[i],a[j]=a[j],a[i]執(zhí)行該程序段后,a的值是( )A.[6,5,4,3,2] B.[2,3,4,5,6] C.[2,3,4,6,5] D.[6,5,4,2,3]19.有如下Python程序段:import randomq = [0] * 5head = tail = 0for i in range(5): if random.randint(0,1)== 0: q[tail] = random.randint(1,9) tail += 1 elif head != tail and q[tail - 1] < q[head]: q[tail] = q[head] head += 1 tail += 1執(zhí)行該程序段后,q的值不可能是( )A.[0, 0, 0, 0, 0] B.[5, 4, 3, 2, 1]C.[5, 8, 3, 0, 0] D.[0, 5, 6, 0, 0]20.在Python語言中,運行以下程序段后,顯示的結(jié)果是( )>>> a=8>>> b=2>>> a-=b>>> b+=a>>> a+bA.10 B.14 C.8 D.1221.利用計算機編程解決問題最關(guān)鍵的步驟是( )A.分析問題 B.編寫代碼 C.設(shè)計算法 D.調(diào)試運行程序22.Python語言中,利用常用的算術(shù)運算符進行算術(shù)運算,8%5的結(jié)果為( )A.1 B.2 C.3 D.3.623.下列選項中,屬于程序設(shè)計語言的是( )A.Flash B.Python C.Adobe Audition D.FrontPage24.現(xiàn)采用新的排隊方案為小明、小紅、小麗、小輝四人排隊,Python程序段如下:linklist=[["小明",1],["小紅",2],["小麗",3],["小輝",-1]]def reset(head): if linklist[head][1]==- 1 or head==- 1: return head else: new_head=reset(linklist[head][1]) linklist[linklist[head][1]][1]=head linklist[head][1]=- 1 return new headp=h=reset(0)while p!=- 1: print(linklist[p][0],end="") p=linklist[p][1]執(zhí)行該程序段后,輸出的結(jié)果是( )A.小明小紅小麗小輝 B.小明小輝小麗小紅C.小輝小麗小紅小明 D.小明小麗小紅小輝25.有如下Python程序段:import randomdefselect(s,k): for i in range(k): j=i+1 if j< len(s): s=s[:j]+s[j+1:] else: s=s[:len(s)-1] connect(i,s,k)def connect(i,s,k): list1='' if i< k-1: listl=listl+s+'-' else: list1=listl+s print(listl,end='')s="hello"k=random.randint(1,4)select(s,k)執(zhí)行該程序段后,輸出結(jié)果可能是( )A.hllo- B.hllo-hll-hl C.hllo-hlo D.hllo-hlo-hl-126.用二分法求解 x3- x2 + x - 1 = 0,完善下面程序。def f(x): #定義方程 return x**3-x**2+x-1a=float(input("請輸入解區(qū)間的左邊界:"))b=float(input("請輸入解區(qū)間的右邊界:"))while abs(b-a)>1e-6: x0=(a+b)/2 if ( ① ): b=x0 if ( ② ): a=x0 if ( ③ ): breakprint("解為:",x0)input("運行完畢,請按回車鍵退出...")程序中①②③處分別填入( )A.①f(a)*f(x0)>0;②f(b)*f(x0)<0;③f(x0)==0B.①f(a)*f(x0)<0;②f(b)*f(x0)<0;③f(x0)==0C.①f(a)*f(x0)<0;②f(b)*f(x0)<0;③f(x0)=0D.①f(a)*f(x0)<0;②f(b)*f(x0)>0;③f(x0)==027.關(guān)于Python操作txt文件,下列說法錯誤的是( )A.open函數(shù)打開(.txt),open("文件名",'參數(shù)'),參數(shù)"a+":追加讀寫,"r+":可讀可寫B.writelines() 函數(shù),可以實現(xiàn)將字符串列表寫入文件中C.用write方法將內(nèi)存中的數(shù)據(jù)存儲到外存儲器的文件中D.文件操作結(jié)束時不一定要用close方法關(guān)閉文件。28.下列 Python 表達式中值最小的是( )A.2**2+5%13//9 B.8//3*7/2 C.len(range(7))/3 D.int("1"+"4")//abs(-7)29.使用列表lnk模擬鏈表結(jié)構(gòu),head為頭指針,每個節(jié)點包括性別、身高和后續(xù)指針。原鏈表按先男生再女生升序排列(如圖a所示),現(xiàn)要修改各節(jié)點的鏈接關(guān)系,使得鏈表按先女生再男生升序排列(如圖b所示),實現(xiàn)該功能的代碼如下:lnk=[["男",178,1],["男",180,2],["男",185,3],["女",160,4],["女",172,5],["女",174,-1]]head = 0t = headpre = cur = lnk[head][2]while lnk[cur][2] ! = -1:if lnk[cur][0] == "男":pre = curcur = lnk[cur][2]lnk[cur][2]=t方框處應(yīng)填入正確的代碼為( )A. B. C. D.30.以下循環(huán)執(zhí)行的次數(shù)是( )k=10while(k):k=k-1A.1 B.9 C.11 D.10二、填空題31.執(zhí)行如下程序,寫出運行結(jié)果。a=input()b=input()c=int(a+b)d=int(a)+int(b)print(c,d)鍵盤依次輸入33和44,則輸出結(jié)果為 。32.程序中的“控制流”是指程序執(zhí)行的 。33.寫出運行結(jié)果。a=int(input("請輸入一個自然數(shù):"))b=int(input("請輸入另一個自然數(shù):"))c=int(a/b)print(c)假如輸入5和3結(jié)果:34.Python表達式包含大于、乘、減三種運算符,其中運算優(yōu)先級最高的是 。35.在Python中,如何訪問字典中的值?三、判斷題36.機器語言是與計算機無關(guān)的,具有很好的可移植性。( )37.在 Python 程序設(shè)計語言中,表達式 17﹪2 的值為 1。( )38.用戶自定義函數(shù)是用戶自己寫的一段程序.一般包括函數(shù)名、參數(shù)、 返回值、函數(shù)體等四部分.其中,函數(shù)名和參數(shù)是必不可少的部分.( )39.python語言是一種面向?qū)ο蟮慕忉屝陀嬎銠C程序設(shè)計語言,發(fā)明于1989年。目前,python已經(jīng)成為最受歡迎的程序設(shè)計語言之一。 ( )40.在python中,運行以下程序,輸出的結(jié)果是2。( )a=5b=3c=6c=a%bprint(c)四、操作題41.小范設(shè)計小區(qū)停車場車輛道閘系統(tǒng)。該信息系統(tǒng)主要實現(xiàn),識別駛?cè)胲囕v的車牌,若有權(quán)限駛?cè)?,則目動打開停車場閘門的功能。其中,車牌識別子系統(tǒng)的處理過程主要包括:①實時拍攝要駛?cè)胲囕v的照片,如圖a;②如圖b所示,圖像以坐標start和end為頂點的矩形框內(nèi)的圖像,將其所有像素點RGB值存儲到列表變量img1中;③產(chǎn)生獲取到車牌區(qū)域的圖像,如圖c所示,最后使用車牌識別函數(shù)將該圖像識別為文本車牌號碼。識別駛?cè)胲囕v車牌后,使用基于Python的Flask web框架中Get方式,將車牌上傳到WEB服務(wù)器端,系統(tǒng)判斷該車輛是否有權(quán)限駛?cè)搿?br/>(1)數(shù)據(jù)庫設(shè)計。該停車場所有可駛?cè)胲囕v的信息,存儲到數(shù)據(jù)庫文件data.db的da數(shù)據(jù)表中,車輛信息數(shù)據(jù)包括:編號,車牌,車主姓名,辦理時間,會員標識。其對應(yīng)的字段名依次為id,code,stime,name,mem,如車輛“江H0217D”的車輛數(shù)據(jù)記錄如下表所示。下列關(guān)于該表字段結(jié)構(gòu)設(shè)計最合理的是A. B.C.(2)編寫車牌識別客戶端軟件。實現(xiàn)車牌識別子系統(tǒng)的Python代碼段如下,請在劃線處填入合適代碼。#導入PIL,numpy,matplotlib.pyplot庫,代碼略def dis(im):#此函數(shù)實現(xiàn)了將截取車牌圖像內(nèi)容數(shù)據(jù)im識別為文本格式的車牌號碼,代碼略f="1001.bmp" #系統(tǒng)采集駛?cè)胲囕v的原始圖片img=np.array(Image.open(f)) #將圖a每個像素的RGB值依次存儲到列表變量imgimg1=[]*1000x=0#將圖像以坐標(x1,y1)、(x2,y2)為頂點的矩形區(qū)域所有像素RGB值存儲在列表變量imgfor i in range(x1,x2) #②處for j in range(y1.y2) #③處img1[x]=img[i][j]s_code=dis(img1[0:x]) #將截取的車牌位置的圖像使用dis函數(shù)進行識別s.get(URL+s_code) #將車牌上傳到服務(wù)器(3)小范測試上述程序,發(fā)現(xiàn)運行結(jié)果為圖c順時針90度的效果,影響了車牌識別準確率,若要使運行后顯示結(jié)果如圖c所示的圖像,則②③處代碼需依次改為 _(單選,填字母)。A.range(xl,y1) range(x2,y2) B.range(y1,x1) range(y2,x2)C.range(y1,y2) range(x1,x2) D.range(x1,y1) range(x2,y2)(4)編寫服務(wù)器端軟件。若采用基于Python的Flask web框架編寫服務(wù)器端“車牌識別子系統(tǒng)”,其訪問的地址為http://10.1.10.1/s s_c="江A1100D",則服務(wù)器端程序,路由命令格式應(yīng)為 (單選,填字母)。A.@app.route("/s")B.@app.route("/s" ,methods=["GET"])C.@app.route("/get" ,methods=["GET"]參考答案1.A2.B3.D4.A5.D6.D7.A8.C9.A10.C11.D12.B13.A14.D15.A16.A17.D18.D19.D20.B21.C22.C23.B24.C25.C26.B27.D28.D29.C30.D31.3344 7732.順序33.134.乘運算符35.通過鍵來訪問36.錯誤37.正確38.錯39.對40.正確41. B x=x+1 AB 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫