资源简介 第四章 程序设计基础 检测练习一、选择题1.模拟飞行棋掷骰子操作,实现该功能的Python程序段如下:import randomnum=print("您所掷骰子的点数为:"+str(num))程序划线处应填入的代码为( )A.random.randint(1,7) B.random.choice(range(1,6))C.int(random.random( )*6)+1 D.int(random.random()*5)+12.下列Python表达式,值为False的是( )A.14//6<14/6 B."20"<"8" C.len("18%4")<23%5 D.int(2.5)<2.13.有如下Python程序段:from random import randoma=[1]*5i=1while i<=4: a[i]=int(random()*10)+1 if a[i]==a[i-1]//2 or a[i]==a[i-1]*2: i+=1执行该程序段后,数组a的值可能是( )A.[1,2,1,2,1] B.[1,2,4,8,16] C.[2,1,2,1,2,] D.[8,4,2,4,8]4.lst1和lst2都是升序排序的列表,执行如下Python程序段:result=[]i=0#用于遍历1st1j=0#用于遍历1st2while i if lst1[i] result.append(lst1[i]) i+=1 else: result.append(lst2[j]) j+=1while i result.append(lst1[i])#② i+=1while j result.append(lst2[j])#③ j+=1下列说法不正确的是( )A.程序段①执行后,result可能与lst1相同 B.程序段①执行后,result可能与lst2相同C.在一次程序运行中,②处代码和③处代码可能都被执行 D.程序执行后,列表result中的元素升序排序5.有如下Python程序段:n=int(input())a=[0,0,0,0,0,0,0,0,0,0]c=0while n>0: a[n%10]=a[n%10]+1 if a[n%10]==1: c=c+1 n=n//10print(c)执行上述程序段,若输出c的值为4,则输入n的值可能为( )A.1123 B.2373 C.14551 D.200456.运行下列Python程序后的结果为( )colors=["red","yellow","blue"]print(colors[2])A.red B.yellow C.blue D.red yellow7.在Python程序中,关系表达式a==b的运算结果是( )A.整型 B.布尔值 C.浮点型 D.字符串8.有如下Python程序段:a=[3,4,7,9,12,17]i = a[0];j =a[5];tar =20;ans =-1while i <=j: mid=(i + j)//2 tmp=0 for k in range(len(a)): if a[k]>mid: tmp += a[k] - mid if tmp >= tar: ans = mid;i = mid+1 else: j = mid -1执行该程序段后,变量ans的值为( )A.-1 B.6 C.7 D.109.变量a=2;b=3,下列表达式正确的是( )①a+b ②"a"+"b" ③a+"b" ④a*"b" ⑤"a"*"b" ⑥str(a)+"b" ⑦str(a)+str(b)A.①②⑤⑥⑦ B.①②④⑥⑦C.①②④⑤⑦ D.①②③⑥⑦10.下列 Python 程序段的功能:统计出物化技组合成绩大于等于270分的人数。# 某次测试七名学生的物理、化学、技术成绩被存储在变量 score 中score={"物理":[87,85,83,90,85,88,91],"化学":[91,92,85,90,89,84,92],"技术":[97,89,93,95,93,87,94]}count=0km=["物理","化学","技术"]for i in range(7):sum=0for j in km:__________if sum>=270:count+=1print("成绩大于等于 270 分的人数",count)为实现上述功能,划线处正确的 Python 表达式是( )A.sum+=score[i][j] B.sum+=score[j][i] C.sum+=score[j] D.sum+=score[i]11.下列表达式中,结果为True的是( )A.len(["hello"])==5B.not (4/2**3 <= 1)C.3 >= 4 or not (3==2 and 3<=2)D.11%2 != 0 and False12.某Python程序如下:s=″0923HangzhouYayunhui″; t=″″for i in range(len(s)):j=s[i]if not j>=″a″ or j>″z″:t=″″t=j+tprint(t)程序运行后,输出的内容是( )A.ayunhui B.Yayunhui C.iuhnuya D.iuhnuyaY13.某Python程序如下:item={"竞技类":["铁人三项","电子竞技","霹雳舞"],"球类":["足球","篮球","乒乓球"],"对抗性":["拳击","跆拳道","卡巴迪","击剑"],"水上":["跳水","龙舟","帆船"]}print(item["对抗性"][2][::-1])执行该程序段后,输出的结果是( )A.跆拳道 B.道拳跆 C.卡巴迪 D.迪巴卡14.有如下Python程序段:from PIL import Imageimg=Image.open(″logo.jpg″)i=0while i<=2:img.rotate(i*90)#rotate():逆时针旋转图片,参数为旋转角度i+=1img.show()图logo.jpg原图如下图所示,运行该程序段后,图像显示为( )A. B. C. D.15.下列Python表达式的返回值为4的是( )①16/len(″ab″)**2 ②abs(round(-1.7)*2)%8③chr(ord(″0″)+4) ④int(str(1010+90)[1:4])//25A.①② B.①③ C.②④ D.③④16.如下Python程序运行结束时,变量i和s的值分别是( )i=0s=0while i<5: i+=1 s=s+iprint("i=",i,"s=",s)A.i=5 s=10 B.i=4 s=10 C.i=5 s=15 D.i=4 s=1517.在Python当中,可以使用( )语句退出循环。A.continue B.break C.goto D.quilt18.在Python程序设计语言当中,双分支语句通过使用( )实现。A.if B.if...else C.if...elif...else D.case19.顺序结构是最常用最简单的程序结构,其语句执行顺序是( )A.自上而下 B.自下而上 C.由内到外 D.由外到内20.在Python程序设计语言当中,如果x=12.357,执行语句print("%.2f"%x),则输出结果为( )A.12.357 B.12.35 C.12.36 D.12.4二、填空题21.判断变量a是否能被4整除,书写成Python语言表达式为 。22.小申根据如图1所示的七月份气象数据,编写程序绘制如图2所示的七月份日平均风速异常情况检测可视化图形。小申编写的程序如下所示,请将程序填写完整。import pandas as pd import matplotlib. pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] df=pd.read_csv('七月气象数据.csv',encoding='ansi') plt.title('2022年7月日平均风速异常情况检测') plt.boxplot( ) plt.show()23.小申编写了run.py文件用于实现登录模块的业务逻辑。请协助小申把左侧内容拖动至右侧对应的虚线框中,将程序编写完整。(1)处对应的字母是(2)处对应的字母是24.小申选用了Flask模块作为服务器端的服务框架。若如图交互界面中“提交”按钮的请求目标为”/create”,请在服务器端主控程序中与之关联的路由函数的横线处填空。@app. route(" ", methods = ('GET', ‘POST') )25.某Python程序代码如下:list1=[2,3,4,5,6]m1=1m2=2for n in list1: if n%3==0: m1*=nprint (m1-m2)程序运行后,输出的结果为三、判断题26.自定义函数的参数是必不可少的。( )27.高级语言通用性好,可读性强,便于修改维护,所以它是一种自然语言。( )28.NAME、name、Name、NaMe是不同的变量。( )29.在Python语言中,表达式(2>4)and(8>9)的结果是True。( )30.不能用for 、in、if等关键字作为变量名。( )四、操作题31.某工程的A项目有n个任务组(编号为0~n-1),供料商每小时只提供1份原料,各组按到达时刻(到达时刻各不相同)陆续加入领料队列,领取1份原料后到队列末尾重新等待,直至领完所需原料,离开队列。若多组同时入队,则到达时刻早的优先入队。编写程序模拟领料过程,先筛选出属于A项目的任务组,再计算每个任务组完成领料的时刻(时间单位:小时),请回答下列问题:任务组别 到达时刻 原料需求量第0组 0 3第1组 1 2第2组 2 1图a时刻 领料队列 轮到领料的组别0 0 01 0,1 02 1,0,2 13 0,2,1 04 ▲5 1 1注:领料队列中数字代表任务组编号图b(1)某项目任务组信息如图a所示,部分领料过程如图b所示,结合题意,第4时刻的领料队列是 (单选,填字母:A.2,1,0/B.2,1/C.2,0,1)。(2)定义如下filte(task,st)函数。def filte(task,st): i=0;j=0;n=len(task)-1 while j<=n: if task[j][0]==st: task[i]= task[j] i+=1 j+=1 return i若task的值是[['A',0,3],['B',1,3],['B',2,6],['A',3,4],['A',4,5]],st的值是"A",执行语句m=filte(task,st)后,m的值是 。(3)编写程序模拟任务组领料过程,输出每个任务组完成领料的时刻,部分Python程序如下,请在划线处填入合适的代码。def proc(task,st): m=filte(task,st) for i in range(m): task[i].append(-1) order=[0]*m i=0; ct = 0;t = 0 while i < m or t < m: if i < m and task[i][1] <=ct: if i==t: ① task[p][3]=i else: task[i][3]=task[p][3] task[p][3]=i p=i i+=1 if i>t: ② task[k][2] = task[k][2] -1 if task[k][2]=0: order[k]=ct ③ t+=1 else: p=task[p][3] ct+=1 return order```所有任务组数据存入task列表,task[i]包含3项,task[i][0]为该任务组项目名称,task[i][1]为该任务组到达时刻,task[i][2]为该任务组原料需求量,数据按到达时刻升序排列,代码略```st="A"print(proc(task,st)) #输出该项目中每个任务组完成领料的时刻32.小温为芦丁鸡饲养箱搭建了温度监测系统。该系统中已选择的硬件有IoT模块、智能终端、温度传感器、执行器(温度控制器)、服务器等。服务器通过无线网络与智能终端相连接,智能终端连接传感器和执行器。用户通过浏览器查看数据库中的数据。请回答下列问题:(1)若使用浏览器查询系统的历史数据,需向 发送查询指令(单选,填字母:A.智能终端/B.服务器/C.传感器)。(2)下列功能需在智能终端程序中实现的有 (多选,填字母:A.采集温度传感上的数据/B.传输数据到服务器/C.发送指令到执行器/D.分析历史数据)。(注:全部选对的得2分,选对但不全的得1分,不选或有选错的得0分)(3)小温基于Flask Web框架编写服务器端的程序,实现在浏览器的地址栏中输入http://192.168.0.10:5050/query返回查询结果的功能。能实现上述功能的部分代码组合是 (单选,填字母:A.①③/B.②④/C.①④/D.②③)。①@app.route('/')def query(): #代码略②@app.route('/query')def index(): #代码略③target = '192.168.0.10'app.run(host = target,port = 5050)④target ='192.168.0.10:5050'app.run(host=target)(4)为解决芦丁鸡某段生长期容易缺氧和脱水的问题,可以增设哪些硬件设备来改善饲养箱环境?请写出能解决其中一项问题的执行器和传感器,并描述其功能。(5)小温将系统中10月份温度控制器开启和关闭的数据导出,部分数据如图a所示,分析10月21日至31日温度控制器每天平均工作时长(单位:分钟,保留整数位)。图a 图b部分Python 程序如下:import pandas as pdimport matplotlib.pyplot as pltdf= pd.read_csv("data.csv")#读取数据df.insert(3,"时长",")#插入新列“时长”def timedif(t1,t2):#计算并返回t1,t2两个时间的差值,代码略for i in df.index:#调用 timedif 函数计算时长 df.at[i,"时长"]=timedif(df.at[i,"关闭"],df.at[i,"开启"])dfa=df.groupby("① ",as_index=False)["时长"].mean()#分类计算平均值dft = dfa.tail(11)#选取10月21日至31日数据,dft内容如图b所示Ist=[]for i in ② : lst.append(int(dft.at[i,"时长"]))#将时长转为整数,存入1stprint(lst)#以列表的形式输出结果33.求1到100之间能被3整除的数的个数。(1)分析问题,完善程序流程图,补充程序流程图中2处缺少的内容。程序流程图中条件表达式的语法符合Python语言语法要求 ① ②(2)打开“考生文件夹\Colligate\160"文件夹中的文件“个数. py”,按照流程图的顺序,逐条编写和完善相应的Python语句代码,保存并调试。34.一个AABB形式的四位数,该数是另一个数的平方,问这个四位数是几?(1)求一个3位数n十位上的数字a的值,判断下列表达式中哪一个是正确的( )A、a=n%100 B、a=n-n//100%10 C、a=n%100//10 D、a=n//100(2)当逻辑运算符两边表达式的值都为真时,该逻辑表达式才为真,这叫逻辑① 运算,python语言中相对应的逻辑运算符是②(3)打开“考生文件夹\Colligate\138”文件夹中的文件“AABB.py”,对程序进行完善并运行调试,完成后保存文件。35.哥德巴赫猜想提出,任何一个不小于6的偶数都可以表示成两个素数之和,请编写程序,输入任意一个大于等于6的偶数,输出所有其等于两个素数之和的式子。例如: 6=3+3; 18=5+13, 18=7+11。打开“考生文件夹\Colligate\142”文件夹中的文件“验证哥德巴赫py”,对程序进行完善且不改变原程序的结构,在序号处填写正确的代码并把序号删除, 调试完成后保存文件 。参考答案1.C2.C3.A4.C5.D6.C7.B8.B9.B10.B11.C12.D13.D14.B15.C16.C17.B18.B19.A20.C21.a%4==022.df["日平均风速"]23.B A24./create25.1626.错误27.错误28.正确29.错误30.正确31.B 3 p=i k=task[p][3] task[p][3]=task[k][3]32. B ABC D 通过加湿器调节湿度,通过湿度传感器监测湿度数据。 日期 range(20,31)或dft.index33.s+1 或1+s i+1 或1+i34.C 与 and35.本题为上机题,按题目要求操作。 展开更多...... 收起↑ 资源预览