学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
某学校举行教师技能大赛,比赛分为理论考试与说课两个环节,共有n位老师报名参赛,每位选手的总成绩为理论考试成绩的60%+说课成绩的40%,小明使用Excel文件记录了每位选手的比赛成绩(总成绩没有并列分),如图a所示。
图a图b
小明对数据进行了如下处理:
(1)首先计算出每位选手的总成绩,并将选手的编号和总成绩存储在数组data中,形式如[[选手编号1,总成绩],[选手编号2,总成绩],...];
(2)输入k的值,按总成绩从高到低输出前k名选手的编号和总成绩,要求不能改变data数组中数据的位置。
实现上述功能的Python程序如下,程序运行结果如图b所示。
(1)解决上述问题的主程序如下,请在程序中划线处填入合适的代码。
import pandas as pd#导入pandas模块
df=pd.read_excel("score.xlsx")#读取excel文件中的数据
df["总成绩"]=①______#求出每位选手的总成绩
data=[]
_②_______
for i in range(n):#获取每位选手的编号列和总成绩列数据
     data.append([df["编号"][i], df["总成绩"][i]])
print("选手编号及成绩为:\n" , data)
k=int(input("输入k的值:"))
index=[0]*n
calindex()
print("前",k,"名选手的信息为:")
output (k)
(2)编写calindex()函数,功能为计算按总成绩由高到低在data数组中的索引位置,并依次存储在数组index中。代码如下,请在程序中划线处填入合适的代码。
def calindex() :
     for i in range(n):
          k=0
          for j in range(n):
               if data[i][1]<data[j][1]:
                    k+=1

______


return index
(3)编写output()函数,功能为从高分到低分输出前k名选手的信息。代码如下,请在程序中划线处填入合适的代码。
def output(k):
     for i in range(k):
          print("第"+_______+"名",data[index[i]])
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交