题目

某城市正在举行“迎亚运邮票设计大赛”作品的微信投票活动,共有6件作品参与投票,现要选出得票最高的作品。每人每票最多可投3件作品(一张选票中投票超过3件作品则该选票无效)。本次投票共收到七万多条数据,小萌已将投票数据整理为csv文件,如图a所示,并将选票处理结果可视化,如图b所示。 (1) 小萌先进行抽象建模与算法的设计,请补充完整划线处的内容。 将csv文件中的数据存储到二维数组result[i][j],表示第i张选票第j件作品的票选数据,一维数组ps[i]表示作品i的最终得票数。依次处理所有选票数据,用sumx统计某张选票中“1”的个数,当可判断该选票有效,否则无效。若选票有效则对应的作品票数加1,最后将选票结果用图表呈现。 (2) 为实现上述功能,请在划线①②处填入合适的代码。 import numpy import matplotlib.pyplot as plt result=numpy. loadtxt ("toupiao.csv", encoding="utf-8", delimiter=",",s kiprows=1) #将csv文件转化为二维数组,skiprows=1表示忽略第一行数据 n=len(result)  #获取result的行数(收到的投票数) zp=["作品1", "作品2", "作品3", "作品4", "作品5", "作品6"] ps=[0]*6 for i in range(n):      for j in range(6):       sumx+=result[i][j]    if  sumx<=3:       for j in range(6):          plt. rc("font", **{"family": "SimHei"})  #设置图表中的文字字体 for x, y in zip(zp, ps):                #zip函数用于显示数字标签    plt. text(x, y, "%d" %y, ha="center", va="bottom", fontsize=14) plt. title("迎亚运邮票设计大赛")     #绘制垂直柱形图 plt. show() (3) 方框处应选择的代码为(   )(单选,填字母) A . plt. bar(zp, ps) B . plt. plot(zp, ps)  C . plt. scatter(zp, ps) 答案: 【1】sumx<=3 【1】sumx=0【2】ps[j]+=result[i][i] 或if result[i][j]==1:ps[j]+=1 A
信息技术 试题推荐
最近更新