非选择题专项(三) 二、非选择题(本大题共3小题,其中第13题8分,第14题9分,第15题9分,共26分) 13.某红木加工厂为了防止粉尘爆炸,在木料车间搭建了粉尘监测系统。该系统示意图如图 a 所示,网络应用软件的实现架构是 B/S 架构。粉尘爆炸有三个条件:一是有火源,二是氧气浓度达到 21% ,三是粉尘浓度不能超过 20~60g/m3 。请回答下列问题: 图a (1)用户要查询该系统的实时数据,可以通过_____查询。(单选,填字母:A.客户端 APP/ B.客户端浏览器) (2)关于该系统中数据的传输,下列说法正确的是_____。(多选,填字母) (注:全部选对得2分,选对但不全的得1分,不选或有选错的得0分) A.只能由传感器到智能终端 B.只能由智能终端到服务器 C.只能由执行器到智能终端 D.可以由客户端到服务器,也可以由服务器到客户端 (3)在车间不同位置安装了10个粉尘传感器,用于找出最易发生粉尘爆炸的位置。现编写程序,找出10个传感器每小时(0~23时)粉尘浓度最大值出现的次数,并输出次数最多的传感器编号。若同一时段出现多个相同的最大值,则输出最先出现的编号。 部分Python程序代码如下,输出界面如图b所示,请在划线处填入合适的代码。 sensor=[″s1″,″s2″,″s3″,″s4″,″s5″,″s6″,″s7″,″s8″,″s9″,″s10″] #传感器的编号 dis= [[16,22, … … ,8],[ 10,25, … … ,25], … … ,[9, 14, … … , 14]] #dis 中存储 10 个传感器每小时的粉尘浓度数据,分别是 dis[0]—dis[9] 。如 dis[0]中的 [ 16,22, … … ,8],分别是传感器s1在第 0 、1 、2… …23时采集到的粉尘浓度值。 ds_count=[0]* 10 #存储每个传感器最大值出现的次数 for i in range(0,24): max1=p1=0 for j in range(0, 10): if dis[j][i]>max1: max1=dis[j][i] p1=① ds_count[p1]+= 1 print(″ 10 个传感器最大值出现的次数为″,ds_count) max2=p2=0 for i in range(0, 10): if ds_count[i]>max2: max2=ds_count[i] p2=i print(″次数最多的是″,② ,″粉尘传感器。″) (4)最易发生粉尘爆炸的位置找到后,需在此增加一个执行器,用于防止粉尘爆炸,写出 该执行器的名称及实现的功能_____。 14.某校高三首考后,汇总了学生7选3成绩以及次考科目弃考情况(注意:1表示次考弃考,0表示参加次考),ckqk.xlsx文件部分数据如图a所示,现要统计各班人均弃科目考门数和各科次考弃考比例,编写如下Python程序。 图a 请回答下列问题: (1)下列代码读取ckqk.xlsx文件,输出各班每人平均弃考门数,输出格式如图b所示,则划线处应填写的代码为_____。(单选,填字母) A.groupby('班级').弃考门数.mean() B.groupby('班级',as index=False)['弃考门数'].mean() import pandas as pd df = pd.read_excel('ckqk.xlsx') df['弃考门数']=df[['弃考科目1','弃考科目2','弃考科目3']].sum(axis=1) dfg=df._____ print(dfg) (2)统计7选3每门科目选考人数和弃考人数,并计算各科目弃考比例,Python程序如下,请在划线处填写合适的代码。 courses ={} for i in df.index: for k in range(1, 4): subject =df.at[i,'科目%d'%k] if ① : courses[subject]=[1,0] #[1,0]表示当前为本科目第1个人,弃考人数初值置0 else: courses[subject][0]+=1 abandon=df.at[i,'弃考科目%d'%k] if abandon==1: ② dfs = pd.DataFrame(courses) dfs = dfs.T dfs = dfs.rename(columns={0:'总人数',1:'弃考人数'}) dfs['弃考比例']=round(dfs['弃考人数']/dfs['总人数']*100, 1) dfs =dfs.sort_values(' ... ...
~~ 您好,已阅读到文档的结尾了 ~~