现在正在进行体育短跑竞赛,需要程序来实现统分录分,具
体要求如下:
裁判输入选手姓名后,即可随机生成选手的十个分数(百分制)。按照去掉最高分和最低分,剩下八个有效分数,计算平均分之后,将打分结果存入excel表格中,excel的表头分别为“选手姓名”,“打分1”,“打分2”.“打分8”,“平均分”,“是否合格”。
“是否合格”列值,如果平
均分大于等于60分,为“是”,否则为“否”
请设计程序,并完成“小明”,“小王”,“小张”选手打
分,程序和EXCEL表格
在考试?
import pandas as pd
from numpy import *
import random
if __name__ == '__main__':
data = []
name = [input("请输入第一个参赛选手姓名:"), input("请输入第一个参赛选手姓名:"), input("请输入第一个参赛选手姓名:")]
for item in name:
score = random.sample(range(1, 100), 10)
score.sort()
score.pop(0)
score.pop()
avg = mean(score)
dataItem = {}
dataItem['选手姓名'] = item
dataItem['打分一'] = score[0]
dataItem['打分二'] = score[1]
dataItem['打分三'] = score[2]
dataItem['打分四'] = score[3]
dataItem['打分五'] = score[4]
dataItem['打分六'] = score[5]
dataItem['打分七'] = score[6]
dataItem['打分八'] = score[7]
dataItem['平均分'] = avg
if avg >= 60:
dataItem['是否合格'] = '是'
else:
dataItem['是否合格'] = '否'
data.append(dataItem)
# 构造dataFrame
df = pd.DataFrame(data)
df.to_excel("结果.xlsx", index=False)
导出的excel