小尼用“0”与“1”数字字符串记录了小张连续若干局的竞赛得分数据,该数据存在一处错误,错误在连续多个0的最后一个位置。为了找出错误,小尼的处理方法如图a所示,程序运行示例如图b。
(1)小尼的某次记录为:"1010101000101101111001111",按照小尼的修改方式处理后每局的比分为。
(2)定义Find_errors(a)函数,列表a存放小尼记录的比分。函数功能是找出疑似错误位置。
def Find_errors(a):
head=-1; tail=-1
link= []; i = 0
while i < len(a):
k = i
while i < len(a) and a[i] == 0:
i += 1
if:
link.append([i-1,-1])
if tail==-1:
head=len(link)-1
else:
link[tail][1]=len(link)-1
tail=len(link)-1
i += 1
return head,link
①在划线处填入合适的代码
②若列表a= [1,0,1,0,1,0,0,0,1,1,1,0,1,1,0,1,0,0,1],则link的最终值为 。
(3)对每个疑似错误位置分别修改数据,并统计每局比分,请在划线处填入合适的代码。
def Accumulated_points(a,head,link):
ans=[] ; p=head
while p!=-1:
f1 = 0 ; f2 = 0 ; flag=True
k = link[p][0]; a[k] = 1
sp = str(k + 1) + " "
for j in range(len(a)):
if a[j] == 1:
f1 += 1
else:
f2 += 1
①:
sp += "/" + str(f1) + ":" + str(f2)
f1 = 0; f2 = 0
if f1!=0 or f2!=0:
flag=False
if flag:
ans.append(sp)
②
p=link[p][1]
return ans
# 获取小尼记录数据,存入列表a中,代码略
head,link=Find_errors(a)
ans=Accumulated_points(a,head,link)
if len(ans)>0:
#输出修改后的每局比分,代码略
else:
print("记录数据有误")
(1)数据库某数据表记录了各监测点分时段各类传感器上传的数据,则该表至少有(单选,填字母:A.4 B.5)个字段。
(2)下列关于该信息系统说法,正确的是(多选,填字母)。
A.各项阈值可以存储在服务器的数据库中
B.传感器和执行器可以连在不同的智能终端上
C.用户可以通过浏览器直接查看智能终端中的数据
D.实时判断pH值是否异常的程序只能在服务器端运行
(3)某监测点提交数据到服务器的URL为//192.168.1.6:5000/toph?Tm=20&tid=3&t=5.8,则 Web服务器的IP地址为。
(4)系统运行一段时间后,发现有一个监测点的洒水装置一直在工作,请描述出现该现象的可能原因。(回答2项)
(5)根据资料显示,某多肉植物最适宜的生长温度为15℃~25℃,小明收集了当地全年每天的气温数据,部分界面如图a所示,统计该植物每月适宜生长的天数,按天数由高到低绘制柱形图,如图b所示。请在划线处填入合适的代码,完善程序。
#导入相关库,代码略
df = pd.read_excel("2024年气温数据.xlsx")
df["月份"]=[""]*len(df)
for i in range(len(df)):
df["月份"][i]=df["日期"][i][5:7]
low=15;high=25
df1=①
df2=②
df2=③
df2=df2.rename(columns={"最高气温":"适宜天数"})
df3=④
plt.bar(df3.月份, df3.适宜天数)
#设置绘图参数,显示柱形图,代码略
①②③④处可选代码有:
A.df2.groupby("月份",as_index=False).count() #分组计数
B.df[df.最低气温>=low]
C.df[df.最高气温<=high]
D.df2.sort_values("适宜天数",ascending=False) #降序排序
E.df2.groupby("月份").count()
F.df1[df1.最高气温<=high]
G.df2.sort_values("适宜天数")
△ 任务甲为加急任务,优先分配:
●先选择当前空闲的打印机(同空闲状态则编号小的优先)
●若无空闲打印机,则选当前任务剩余时间最短的打印机(同剩余时间则编号小的优先)
△ 任务乙为普通任务,按打印机累计打印份数分配,选择累计打印份数最少的打印机(同打印份数则打印机编号小的优先)
(1)某时刻各打印机状态:
打印机0:空闲(累计200份) | 打印机1:忙碌,剩余8分钟(累计160份) |
打印机2:忙碌,剩余6分钟(累计160份) | 打印机3:忙碌,剩余8分钟(累计200份) |
此时到达一个打印任务,下列选项中任务和分配的打印机相匹配的是(单选,填字母)
A.乙,打印机0 B.乙,打印机1 C.甲,打印机2 D.甲,打印机3
(2)以下python代码段实现打印任务的分配,请在划线处填入合适代码。
(3)加框处代码有误,请改正。
#[False,0,200]表示打印机状态(空闲),当前任务剩余时间,累计打印份数
printer=[[True,6,200],[True,5,150],[True,8,150],[True,3,220]]
#获取task值,如[True,20]表示任务属性(甲)与需打印份数,代码略
def assignmen_task(printer,task):
if task[0]:
k=0
for i in range(len(printer)):
if①:
#更新打印机状态与累计打印份数,代码略
return printer,i
elif② :
k=i
#更新打印机状态与累计打印份数,代码略
return printer,k
else:
k=0
for i in range(1,len(printer)):
if:
k=i
#更新打印机状态与累计打印份数,代码略
return printer,k
q=[13,11,12,15,14,16,12,10]
n=len(q);head,tail=0,n-1
while (tail-head+n)%n>2:
if q[head]>q[(tail-1+n)%n]:
q[tail]=q[head]
tail=(tail+1)%n
head=(head+1)%n
执行该程序段后,q[head:tail]中的元素依次为 ( )
def fun(n): if n==10: return 1 else: return print(fun(1)) | r =1 n = 10 for i in range(n-1,0,-1): r=(r+1)*2 print(r) |
甲程序段 | 乙程序段 |
for i in range(1,n):
k = a[i]
j= i-1
while j >= 0 and (1) :
(2)
j-=1
(3)
划线处可选代码有:①a[j]< k ②a[j]> k ③a[j+1]= a[j] ④a[j]= a[j+1]⑤a[j]= k ⑥a[j+1]= k
则(1)(2)(3)处填入的正确代码应为( )