学校使用校园一卡通系统进行管理。校园卡基于RFID技术,可用于门禁开启、食堂消费、图书借阅等,建卡、挂失、充值及信息错误修正等工作由学校财务人员负责。
n=len(a)
for i in range(n//2-1):
for j in range(n-2,2*i,-2):
if a[j]<a[j-2]:
a[j],a[j-2]=a[j-2],a[j]
该程序段实现的功能是( )
import random
s=[3,2,7,6,9] ; st=[0]*len(s) ; top=-1 ; i=0
while i<len(s):
op=random.randint(0,1)
if top==-1 or op==0 and s[i]>st[top]:
top+=1 ; st[top]=s[i]
elif top>=1 and op==1 and s[i]>st[top-1]:
st[top]=s[i]
i+=1
while top!=-1:
print(st[top] ,end=" ")
top-=1
执行该程序段后,输出的结果不可能是( )
水质情况 |
水位情况 |
操作 |
水质差 |
任意水位 |
净水 |
水质中 |
水位<70 |
注水 |
水质优 |
水位<50 |
注水 |
其它情况都不进行操作 |
序号 |
访问地址 |
功能说明 |
1 |
/ |
主页,显示水质、水位情况 |
2 |
/water?t=注水 |
t为注水(或净水),实现“注水”(或净水)操作 |
3 |
/get?id=2 |
获取传感器 id 为 2 的所有数据 |
4 |
/view?id=1 |
显示 id 为 1 的传感器数据折线图 |
小洪用Python编写投票系统,第一轮投票数据经处理后,保存在"vote2023.xlsx"文件中,部分数据如图a所示,请回答下列问题。
图 a
def check(datafile):
df=pd.read_excel(datafile)
df["票数"]=df.sum(axis=1)-df["序号"] # 统计每张选票的票选数
df1=df[ ]
return df1
划线处应填入的代码为 (单选,填字母)。
df=check("vote2023.xlsx")
df2=df.drop(["序号","票数"],axis=1) # 删除序号列、票数列
s=[];st=[]
for i in df2.columns:
s.append([i,int(df2[i].sum())])
#统计每人选票数,格式如['李彤',377]
for i in range(len(s)):
num=1
for j in range(len(s)):
if :
num+=1
if :
st.append(s[i]) # 存储前三名数据
for i in range(len(st)):
plt.bar(st[i][0], ) # 绘制柱形图
# 设置图表的标题及图例数据并显示图表,代码略
图 b
工人包装产品的熟练度不同,熟练度是指工人包装一件产品所花的时间(单位:秒)。系统运行期间,工人包装完一件产品后立即包装下一件,直至该批次产品包装结束。现编写Python程序统计工人的包装件数,并从高到低输出。
def insort(status):
for i in range(1,len(status)):
current=status[i]
j=i-1
while
current[2]>status[j][2]: # 语句 1
status[j+1]=status[j] # 语句 2
j-=1
status[j+1]=current
return status
①调用insort(status)函数,若status=[[36,37,9],[32,37,4],[36,37,6],[33,36,11]],则函数体内语句2处代码执行次数为 次。
②若将函数体内语句1画框处代码删除,调用该函数后程序提示错误,则错误原因可能是(单选,填字母)。
A.变量未定义 B.索引超出范围 C.数据类型错误
def in_que(num):
points[1]+=1
num_index=(points[1]+1)%max_que-1
if num_index==-1:
num_index=max_que-1
queinfo[num_index]=num
def out_que():
num_index=points[0]%max_que
outdata=queinfo[num_index]
queinfo[num_index]=-1
return outdata
max_que=12 # 转盘容纳产品件数
packarea=[ ]
worker=[['A',3],['B',7],['C',2],['D',4]] # 每个工人编号及熟练度 packmax=len(worker)*2 # 未包装产品数量最大值
queinfo=[-1]*max_que
points=[1,1]
status=[[0,0,0]
for i in range(len(worker))]
i,n=0,1000
while i<n or len(packarea)>0:
if points[0]!=points[1] and len(packarea)<packmax:
packarea.append(out_que())
if i<n and points[1]-points[0]!=max_que:
in_que(i)
w=0
while len(packarea)>0 and w<len(worker):
if status[w][1]-status[w][0]>worker[w][1]: # 一件产品包装完成
status[w][2]+=1
packarea=packarea[1:]
status[w][1]+=1
w+=1
status=insort(status)
# 输出工人的包装件数,由高到低排列,代码略