资源简介 第三章 算法的程序实现 单元练习卷1.有如下Python程序段,有关该程序段,下列说法正确的是( )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.若执行s=fun(0),则函数fun的调用次数为0C.该算法的时间复杂度为O(n^2)D.计算机在执行上述递归程序时,是通过树的调用来实现的2.执行下列 Python程序,输出的是( )shuiguo=["石榴","杨桃","香蕉","苹果"]print(shuiguo[1])A.石榴 B.杨桃 C.香蕉 D.苹果3.小刘搭建了“室内光线强度监测信息系统”,该信息系统主要包括“数据采集”、“数据查询”、“数据维护”子系统。网站框架如图a所示,系统的部分代码如图b所示。下列说法不正确的是( )A.数据采集子页面采用GET的形式提交数据B.上述代码中“@app.route("/cx")”与“cx()”是一对路由和视图函数C.“app=Flask(__name__)”的功能是为Web应用程序创建Flask类的对象D.在浏览器地址栏输入“http://192.168.1.1:88/get”, 按回车键后,浏览器中显示“get data ok”4.下面Python函数的作用,选项错误的是( )A.增加代码的维护难度 B.实现代码的复用C.增强代码的可读性 D.使代码的逻辑结构更清晰5.下列选项中,不属于高级程序设计语言的是( )A.Python B.C/C++ C.Java D.Word6.range()函数可以生成某个范围内的数字序列,range(6,8)是( )A.6 8 B.6 7 8 C.7 8 D.6 77.为了响应“光盘行动”的号召,学校食堂要开发一款订餐APP,制订了如下工作你认为流程最恰当的一项是( )A.分析问题、设计算法、编写程序、调试与维护B.设计算法、编写程序、分析问题、调试与维护C.分析问题、编写程序、调试与维护、设计算法D.编写程序、调试与维护、分析问题、设计算法8.编程解决问题的一般过程是( )①设计算法 ②编写程序 ③调试运行 ④分析问题A.①②③④ B.④①③② C.④①②③ D.①④②③9.已知Python列表s=[‘长江',’长城’,’黄山’,’黄河’],那么s[-2]是( )A.’黄山’ B.'黄河' C.‘长城’ D.‘长江'10.在条件语句中,哪个关键字通常用于检查多个条件?( )A.if B.else C.else if D.switch11.执行如下代码: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)则程序执行后输出( )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.某个进行素数判断的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("是素数!")else: print("不是素数!")输入的值为123时,执行程序后自定义函数prime被执行的次数是( )A.1次 B.2次 C.122次 D.123次13.结构化程序设计中,模块的内聚度应该是( )A.高内聚 B.低内聚 C.无内聚 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.以下程序段的输出结果是( )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.下面的程序,若想运行结果是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]执行该程序段后,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执行该程序段后,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语言中,运行以下程序段后,显示的结果是( )>>> a=8>>> b=2>>> a-=b>>> b+=a>>> a+bA.10 B.14 C.8 D.1221.利用计算机编程解决问题最关键的步骤是( )A.分析问题 B.编写代码 C.设计算法 D.调试运行程序22.Python语言中,利用常用的算术运算符进行算术运算,8%5的结果为( )A.1 B.2 C.3 D.3.623.下列选项中,属于程序设计语言的是( )A.Flash B.Python C.Adobe Audition D.FrontPage24.现采用新的排队方案为小明、小红、小丽、小辉四人排队,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]执行该程序段后,输出的结果是( )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)执行该程序段后,输出结果可能是( )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("请输入解区间的左边界:"))b=float(input("请输入解区间的右边界:"))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.关于Python操作txt文件,下列说法错误的是( )A.open函数打开(.txt),open("文件名",'参数'),参数"a+":追加读写,"r+":可读可写B.writelines() 函数,可以实现将字符串列表写入文件中C.用write方法将内存中的数据存储到外存储器的文件中D.文件操作结束时不一定要用close方法关闭文件。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模拟链表结构,head为头指针,每个节点包括性别、身高和后续指针。原链表按先男生再女生升序排列(如图a所示),现要修改各节点的链接关系,使得链表按先女生再男生升序排列(如图b所示),实现该功能的代码如下: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方框处应填入正确的代码为( )A. B. C. D.30.以下循环执行的次数是( )k=10while(k):k=k-1A.1 B.9 C.11 D.10二、填空题31.执行如下程序,写出运行结果。a=input()b=input()c=int(a+b)d=int(a)+int(b)print(c,d)键盘依次输入33和44,则输出结果为 。32.程序中的“控制流”是指程序执行的 。33.写出运行结果。a=int(input("请输入一个自然数:"))b=int(input("请输入另一个自然数:"))c=int(a/b)print(c)假如输入5和3结果:34.Python表达式包含大于、乘、减三种运算符,其中运算优先级最高的是 。35.在Python中,如何访问字典中的值?三、判断题36.机器语言是与计算机无关的,具有很好的可移植性。( )37.在 Python 程序设计语言中,表达式 17﹪2 的值为 1。( )38.用户自定义函数是用户自己写的一段程序.一般包括函数名、参数、 返回值、函数体等四部分.其中,函数名和参数是必不可少的部分.( )39.python语言是一种面向对象的解释型计算机程序设计语言,发明于1989年。目前,python已经成为最受欢迎的程序设计语言之一。 ( )40.在python中,运行以下程序,输出的结果是2。( )a=5b=3c=6c=a%bprint(c)四、操作题41.小范设计小区停车场车辆道闸系统。该信息系统主要实现,识别驶入车辆的车牌,若有权限驶入,则目动打开停车场闸门的功能。其中,车牌识别子系统的处理过程主要包括:①实时拍摄要驶入车辆的照片,如图a;②如图b所示,图像以坐标start和end为顶点的矩形框内的图像,将其所有像素点RGB值存储到列表变量img1中;③产生获取到车牌区域的图像,如图c所示,最后使用车牌识别函数将该图像识别为文本车牌号码。识别驶入车辆车牌后,使用基于Python的Flask web框架中Get方式,将车牌上传到WEB服务器端,系统判断该车辆是否有权限驶入。(1)数据库设计。该停车场所有可驶入车辆的信息,存储到数据库文件data.db的da数据表中,车辆信息数据包括:编号,车牌,车主姓名,办理时间,会员标识。其对应的字段名依次为id,code,stime,name,mem,如车辆“江H0217D”的车辆数据记录如下表所示。下列关于该表字段结构设计最合理的是A. B.C.(2)编写车牌识别客户端软件。实现车牌识别子系统的Python代码段如下,请在划线处填入合适代码。#导入PIL,numpy,matplotlib.pyplot库,代码略def dis(im):#此函数实现了将截取车牌图像内容数据im识别为文本格式的车牌号码,代码略f="1001.bmp" #系统采集驶入车辆的原始图片img=np.array(Image.open(f)) #将图a每个像素的RGB值依次存储到列表变量imgimg1=[]*1000x=0#将图像以坐标(x1,y1)、(x2,y2)为顶点的矩形区域所有像素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函数进行识别s.get(URL+s_code) #将车牌上传到服务器(3)小范测试上述程序,发现运行结果为图c顺时针90度的效果,影响了车牌识别准确率,若要使运行后显示结果如图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)编写服务器端软件。若采用基于Python的Flask web框架编写服务器端“车牌识别子系统”,其访问的地址为http://10.1.10.1/s s_c="江A1100D",则服务器端程序,路由命令格式应为 (单选,填字母)。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 展开更多...... 收起↑ 资源预览