-
1、某单位实行每天单次打卡考勤制度,员工可通过手机APP查看指定时间段内个人的到岗天数、缺岗天数、缺岗工作日及迟到总时长。
(1)若某员工一天内有多条打卡记录,则保留最早的一条。定义de_d(data)函数,实现删除无效记录功能,其Python程序如下,请在划线处填入合适代码。
def de_d(data):
i,k=1,0
while ①:
if data[i][1]==data[i-1][1]:
k+=1
else:
②
i+=1
data=data[0: len(data)-k]
return data
(2)实现考勤汇总功能的Python程序如下,运行程序后,某员工的考勤汇总如图所示,请在划线处填入合适代码。
def count day(data): #统计打卡记录中到岗、缺岗天数及缺岗工作日
week=["周一“,”周二”,”周三”,”周四”,”周五”]
i,j=0,0
①
sum n, sum d=0,0
while i<= len(data)-1 and j<= len(week)-1:
if data[i][1]== week[j]:
sum n+=1
i+=1
else:
day. append(②)
sum d+=1
j+=1
if j< len(week):
day+= week[j:]
sum d+= len(week)-j
return sum n, sum d, day
'''
获取某员工一周内的打卡记录(由员工编号、工作日、打卡时间三项构成)按时间先后顺序存入列表data中,例如, data=[["A01", "周一", "08:30"],["A01", "周二", "08:40"],["A01", "周四", "09:10"],["A01", "周四", "09:20"],["A01", "周四", "09:21"],["A01", "周五“,”09:12”]],代码略
'''
data= de_d(data)
n,d, day= count day(data)
#统计一周迟到总时长并输出到岗、缺岗天数和缺岗工作日及迟到总时长,代码略
-
2、某快递公司接收包裹后,称重并计算包裹快递费,快递费由基础费和附加费两项组成,具体计算方法如图所示,计费重量取包裹本身重量(kg)和体积重量(kg)的较大值,体积重量(kg)=长(cm)*宽(cm)*高(cm)/6000。包裹入库后根据重量调度车辆运输。
(1)若某个包裹本身重量1kg,长40cm,宽15cm,高20cm,运输距离为1000km。计算该包裹体积重量并与本身重量比较,得到计费重量为2kg,则该包裹的快递费为元。
(2)若要计算该公司某天所有包裹的快递费总和,应采用的算法控制结构是。
(3)计算单个包裹快递费的Python程序如下,请在划线处填入合适代码。
def disf(fee, dis): # 计算附加费
if dis<=500:
return 0
elif①:
return fee*0.1
else:
return fee*0.2
#获取包裹的本身重量、长、宽、高、运输距离分别存入变量w、L、B、H、d,代码略
bf=0
vw=L*B*H/6000
maxw= max(w, vw)
if maxw<=1:
bf=6
else:
bf=6+(maxw-1)*4
sumf=② #计算快递费
#快递费sumf保留两位小数并输出,代码略
(4)运输车辆(最大载重相同)调度规则如下:按入库顺序对包裹装车,每个包裹按调度顺序查找剩余载重足够的车辆进行装载,当已调度车辆的剩余载重都不足时,调度新的车辆。若包裹按“A、B、C、D、E”编号顺序入库,其对应重量分别为40、45、70、50、10,每辆车最大载重为100,按上述规则,第一辆车装载的包裹编号为。
(5)实现车辆调度功能的Python程序如下,请在划线处填入合适代码。
'''
依据入库顺序,获取包裹编号和重量存储在列表packs中,如packs=[["KD01",12],["KD02",85],……],代码略
'''
max_w=1000 #车辆最大载重
vehs=[] #车辆信息
for pack in packs:
p_id,w=pack[0],pack[1]
flag=False
for veh in vehs:
cur=①
if cur+w<=max_w:
veh[0].append(p_id)
veh[1]+=w
②
break
if not flag:
n_veh=[[p_id],w]
vehs.append(n_veh)
#输出包裹装载情况,代码略
-
3、某购物平台部分商品支持分期付款,不同的分期方案年利率不同,如表a所示。购买商品后分期付款,每期需还固定金额(本金+利息),每期利息=本金×年利率÷12,例如,本金30000元,按3期还款,其每期利息和还款金额如表b所示。
期数(月)
年利率
3
9.0%
6
9.2%
12
9.6%
24
9.8%
表a
项目
值
本金(元)
30000.00
期数(月)
3
每期利息(元)
225.00
每期还款金额(元)
10225.00
表b
(1)若本金为p,期数为n,每期利息为g,请用p、n、g等符号写出每期还款金额a的计算公式。
(2)算每期还款金额应采用(单选,填字母:A.解析算法/B.枚举算法)。
(3)存储每期还款金额应采用数据类型,组织不同期数与年利率对应关系合适的数据结构是。
-
4、有如下Python程序段:
import random
lst=[0,0,0,0,0,0]
f=1
i=0
while i< len(lst):
a= random. randint(1,100)
if f==1 or a%2==0:
lst[i]=a
i+=1
f=1-f
print(lst)
执行该程序段之后,变量lst的值不可能是( )
A、[11,56,89,22,5,90] B、[97,27,29,64,6,28] C、[80,36,68,16,38,48] D、[12,22,98,86,7,20] -
5、有如下Python程序段:
s= input()
key=[3,1,2]
ss=""
for i in range(len(s)//3):
s1=s[i*3:(i+1)*3]
for j in range(3):
ss+=s1[key[j]-1]
print(ss)
若输入的s值为“HelloWorld”, 则输出的结果是( )
A、lHeWlolor B、lHeWlolord C、elHoWlrlo D、leHWollro -
6、定义peak()函数,程序如下:
def peak(s):
max_num, num=0, int(s[0])
for i in range(1, len(s)):
if s[i] < s[i-1]:
num= num*10+ int(s[i])
if num> max num:
maxnum= num
else:
num= int(s[i])
return max num
执行peak("94732984"), 函数返回值为( )
A、94 B、732 C、984 D、998 -
7、某网络公司服务器机房内安装的环境监测系统,按一定的时间间隔采集温度和湿度存储为日志文件,部分数据如图所示,并根据采集的数据自动控制执行器改善机房环境。某时刻采集温度值为t(℃),现要求当t超过25℃开启风扇一档,档位值f为1;超过30℃开启风扇二档,档位值f为2;否则关闭风扇,档位值f为0,下列Python程序段不符合要求的是( )
A:
f=0
if t>25:
f=1
if t>30:
f=2
B:
if t<=25:
f=0
elif t<=30:
f=1
else:
f=2
C:
if t<=25:
f=0
if t>30:
f=2
else:
f=1
D:
if t<=25:
f=0
else:
if t>30:
f=2
else:
f=1
A、A B、B C、C D、D -
8、某网络公司服务器机房内安装的环境监测系统,按一定的时间间隔采集温度和湿度存储为日志文件,部分数据如图所示,并根据采集的数据自动控制执行器改善机房环境。若逻辑变量p1与p2分别表示机房1和机房2的湿度是否处于适宜的范围内,p1、p2值为True表示机房的湿度适宜,若表示两个机房中的湿度只有一个处于适宜范围内,则下列逻辑表达式正确的是( )A、p1 or p2 B、not (p1 and p2) C、p1== False and p2== True D、p1!=p2
-
9、某网络公司服务器机房内安装的环境监测系统,按一定的时间间隔采集温度和湿度存储为日志文件,部分数据如图所示,并根据采集的数据自动控制执行器改善机房环境。现要统计机房日平均温度,若将某条记录的时间值存入变量date中,则获取日期(例如“2025-01-03”)的表达式是( )A、date[1:11] B、date[1:10] C、date[0:11] D、date[0:10]
-
10、为统计家庭宠物每日饮水总量,某宠物饮水机会自动记录每次加水或出水后的水位值。例如某一天的水位值a=[1000,800,300,1000,400],统计饮水总量的算法流程图如图所示,则①②处应填入的表达式为( )A、①i < n? ②sum←sum+s B、①i < n? ②sum←sum+ abs(s) C、①i < n-1? ②sum←sum+s D、①i <= n? ②sum←sum+ abs(s)
-
11、某农场采用无人机喷洒农药,通过数字指令控制无人机作业,作业过程中实时回传拍摄的画面。若无人机搭载的摄像头以1920﹡1080分辨率,RGB/8位,帧频30fps参数规格拍摄视频,压缩后每秒钟回传的视频容量约为18MB,则压缩比为( )A、2:1 B、10:1 C、30:1 D、40:1
-
12、某农场采用无人机喷洒农药,通过数字指令控制无人机作业,作业过程中实时回传拍摄的画面。若无人机的飞行路线由多组指令控制,每组指令采用8位二进制编码,前2位表示移动方向,其中00,01,10,11分别代表前进、后退、上升、下降;后6位二进制的值表示移动距离,则某组编码10101000表示的移动指令是( )A、后退20 B、上升20 C、后退40 D、上升40
-
13、某市智慧交通管理系统利用公交车位置、路口摄像头视频、地铁刷卡记录等数据,实时优化交通管理。该系统的公交车位置数据通过GPS模块采集后上传服务器。乘客可通过手机号码登陆小程序查看各班次公交车实时位置,并使用乘车码支付车费。下列关于大数据特征与思维描述,正确的是( )A、分析交通事故只有少量视频数据发挥价值,体现了大数据价值低 B、系统根据路况信息实时更新导航路线,体现大数据速度快 C、交通大数据为调整交通信号提供依据,需要每个数据都准确无误 D、分析公交车等待时长与当地经济发展之间的相关性,需要了解其中的因果关系
-
14、某市智慧交通管理系统利用公交车位置、路口摄像头视频、地铁刷卡记录等数据,实时优化交通管理。该系统的公交车位置数据通过GPS模块采集后上传服务器。乘客可通过手机号码登陆小程序查看各班次公交车实时位置,并使用乘车码支付车费。下列关于数据安全和保护的做法,合理的是( )A、公交车位置数据传输过程中,对其进行完整性校验 B、乘客将支付车费的方式设为免密支付 C、乘客信息在系统中以明文的形式存储 D、为了保证乘客流畅访问数据,关闭服务器防火墙
-
15、某市智慧交通管理系统利用公交车位置、路口摄像头视频、地铁刷卡记录等数据,实时优化交通管理。该系统的公交车位置数据通过GPS模块采集后上传服务器。乘客可通过手机号码登陆小程序查看各班次公交车实时位置,并使用乘车码支付车费。下列关于数据和信息的说法,不正确的是( )A、乘客支付车费使用的乘车码是信息 B、路口摄像头拍摄的视频是非结构化数据 C、实时优化交通管理,体现了信息的可加工处理性 D、不同乘客都可以查看公交车班次信息,体现了信息的共享性
-
16、某社区共有n个小区,现打算在这n个小区里设置k个快递驿站(0<k<n),为了使驿站的设置尽可能合理,从以下两个方面进行考虑:(a)人口多的小区可能需要更多的快递服务,因此驿站更倾向于设置在人口多的小区;(b)快递驿站尽量靠近其他小区,以减少派送的总距离成本。
示例:如有A、B、C、D四个小区,人口数分别为10、20、30、40,小区之间的距离用矩阵表示如图a表格所示:
图a
若4个小区设置1个快递驿站,则选择A小区设置驿站的派送成本为:10×0+20×2+30×5+40×7=470;选B小区的成本为:10×2+20×0+30×3+40×5=310同理算出选C和D小区的成本分别为190和230。因此可以把驿站设置在成本最低的C小区。请回答以下问题:
(1)示例中若A小区的人口是60,则把驿站设置在(填字母)小区的成本最低。
(2)若示例中4个小区要设置2个快递驿站,则根据成本计算先选出C小区设置快递驿站,然后在剩下的3个小区中再选出成本最低的小区设置驿站(计算成本时,其他小区可就近选择C小区):选A的成本为10×0+20×2+30×0+40×2=120,选B的成本为10×2+20×0+30×0+40×2=100,选D的成本为10×5+20×3+30×0+40×0=110,因此选B,也即四个小区选择C和B设置2个快递驿站。为实现程序功能,设计如下算法:n个小区,编号0至n-1,通过成本计算,在所有小区里挑选出成本最低的小区设置为驿站,然后在剩下的小区里再挑选成本最低的小区设置为驿站,重复这个步骤,直到挑出k个小区。在计算成本的时候,所有小区选择最近的驿站。主程序代码如下,运行界面如图b所示,请补充程序划线处:
图b
n=int(input("小区数:"))
k=int(input("快递驿站数:"))
#读取各小区的人口数,存入列表p中,代码略
#读取小区间的距离数据,存入二维列表dis中,代码略
f=[1]*n
print("设置站点位置:",end="")
for i in range(k):
found=False
for j in range(n):
if f[j]==1:
cos=cost(j,dis,p,f)#自定义函数cost计算派送成本
if ① or cos < mincost:
mincost=cos
minpos=j
found=True
②
print(minpos,end="")
(3)以下自定义函数计算成本,请补充程序划线处:
def cost(x,dis,p,f):
s=0
for i in range(len(dis)):
min_i=p[i]*dis[x][i]*f[i]
for j in range(len(dis)):
if j != i and f[j] == 0:
if k < min_i:
min_i=k
return s
(4)若方框处代码改为k=p[i]*dis[i][j],是否会对程序有影响(填:是/否)。
-
17、小明为了解自己家乡的天气情况,收集了该市2024年的气象数据存于data.xlsx文件,部分数据如图a所示,现用pandas打开该数据表,并将数据保存在DataFrame对象df中。请回答下列问题:
图a 图b
(1)小明整理图a中的数据,并用pandas读取整理后的数据,保存到df中,以下操作或说法正确的是(多选,填字母)
A.1月5日的最低气温数据缺失,可以用1月最低气温的平均值填充
B.有少数数据行“风力”列格式不一致,为了不影响后续的数据处理,直接删除这些数据行
C.执行df=df.sort_values("最高气温",ascending=False)后,df.values的第一行数据可看到全年最高气温的最大值
D.执行df[df["天气"]="晴"]可以筛选出全年中晴天的数据行
(2)绘制1-6月的月均气温(一个月内每天的日均温相加除以该月的总天数)的线形图,如图b所示。部分Python程序如下,请选择合适的代码填入划线处(填字母)。
import pandas as pd
import matplotlib.pyplot as plt #导入绘图模块
plt.rcParams["font.sans-serif"]=["SimHei"] #中文字体显示
df=pd.read_excel("data.xlsx")
for i in df.index:
① #从日期中提取月份并存入新建的“月份”列
df1=② #按月份分组求月平均气温
df2=df1.head(6)
plt.plot(③)
plt.title("2024年1-6月的月均温变化图")
plt.show()
①②③处可选代码有:
A.df.at[i,"月份"]=df.at[i,"日期"][6:8]
B.df.at[i,"月份"]=df.at[i,"日期"][5:7]
C.df.groupby("月份",as_index=False).日均温.mean()
D.df.groupby("日均温",as_index=False).月份.mean()
E.df2.月份,df2.日均温
F.df2.日均温,df2.月份
(3)小明的家乡四季分明,小明想通过数据分析2024年春季开始的日期,根据近代学者张宝塑提出的分季标准:以候平均气温(任意连续5天的日均温的平均值)从10℃以下升到10℃及以上时作为春季开始,并以该候中首次达到10℃的日期作为春季起始日。小明家乡1月份确定为冬季,以下代码用于求出该城市2024年春季起始日,代码运行结果如图c所示,请在程序划线处填入合适的代码。
图c
s=0;f=False
for i in range(len(df)-4):
j=0
while j < 5:
t=df.at[①]
if t >= 10 and not f:
pos=i+j
f=True
s+=t;j+=1
if s/5 >= 10:
print("春季起始日:"+df.at[pos,"日期"])
break
②
f=False
-
18、某团队开发了一套智能水族箱监控系统,用于实时监测水族箱内水温、光线强度、氧含量及水位等数据。智能终端连接各类传感器,通过Wi-Fi将数据上传至服务器。服务器分析数据后,可通过智能终端控制多个执行器调节水族箱环境。用户可通过浏览器访问服务器,查询各项数据指标以及调整设备参数。请回答下列问题:
(1)该智能水族箱系统计划新增远程视频监控功能,用户可通过浏览器实时查看水族箱状态。为实现该功能,系统需要优先增加的硬件设备是(单选,填字母:A.服务器内存条/B.摄像头/C.蜂鸣器)。
(2)下列关于该系统程序设计的说法,正确的是(单选,填字母)
A.该系统需要编写客户端应用程序
B.服务器与数据库之间的数据传输是单向的
C.搭建完成后在服务器上运行程序发现其中错误属于动态测试
(3)假设某时刻智能终端上传光线强度数据到服务器端的URL是:
http://192.168.123.100:5000/gxqd?light=25。则服务器端应用实例app中与该URL关联的路由设置语句是@app.route("")
(4)智能终端上的程序实现如下功能:每隔5秒从传感器采集1次温度,为了减少冗余数据传输,仅当本次采集的数据与最近一次上报数据的变化量超出阈值T时才上报。实现上述功能的部分Python程序如下,请在程序划线处填入合适的代码。
#导入相关库,并从服务器获取阈值T,代码略
last=pinl.read_analog()
while True:
cur=pinl.read_analog() #获取温度数据
if ①: #判断温度数据是否上报
errno,resp=0bloq.get("input?id=1&temp="+str(cur),10000)
②
#其他处理代码略
sleep(5*1000)
(5)服务器端设置水温控制方案:水温低于20℃时,加热棒开启加热,当水温高于24℃时,加热棒关闭加热。系统运行后发现,浏览器能够正常显示水温数据,一开始水温值小于20℃,加热棒开始加热,但当浏览器上显示的水温数据高于24℃时,加热棒仍在持续加热。导致该异常现象的原因可能是(多选,填字母):
A.温度传感器与智能终端连接异常
B.加热棒存在故障导致持续加热
C.温度传感器故障导致采集的温度不准确
D.服务器端程序中控制加热棒关闭的命令缺失
E.智能终端与服务器网络连接故障
-
19、有如下程序段:
import random
a=[0]*5
for i in range(5):
a[i]=random.randint(-5,5) #randint(a,b)产生[a,b]区间的随机整数
max=-25
for i in range(5):
s=a[i]
for j in range(i+1,5):
s+=a[j]
if s > max:
max=s
print(max)
运行该程序段后,输出结果为2,则列表a可能为( )
A、[4,-2,0,1,-1] B、[5,0,1,-5,2] C、[2,-3,-1,5,-2] D、[5,-6,1,-2,2] -
20、有如下Python程序段:
s="RGGBRRGBB"
r=s[0]
for i in range(1,len(s)):
if len(r) == 0 or s[i] != r[-1]:
r=r+s[i]
else:
r=r[:len(r)-1]
print(r)
执行该程序段后,输出结果是( )
A、RBB B、RGB C、GRB D、RBG