从文件(dafen.txt)中取出12个裁判员为10个运动员打的分数,为了更公平,请统计这12个裁判员中打最高分和最低分的次数,找出次数最频繁的2位裁判,从所有评分中去除这两个裁判员打的所有分数,再来计算每个运动员的平均分。然后给出运动员排名。 要求输出格式: print( "第{:2d}名:{:2d}号运动员,平均分为{:.2f}".format(名次,运动员编号,平均分)) 例如; x,y号评委分数被去掉! 运动员成绩排名如下: 第 1名: 1号运动员,平均分为8.60 ....(略)
代码如下:
from collections import *
def read_data():#读文件内容,返回读入的数据
p = []
fp=open("src/dafen.txt") #以默认的方式打开文件,默认‘r’,'utf-8'
for item in fp:
templist = list(map(float, item.split(' ')))
p.append(templist)
return p
def cal_sort_avg(p):#对运动员成绩排序,返回排序后的结果
# 评委打分,统计最高分最低分次数字典
c = {i: 0 for i in range(12)} #i为评委编号
# 统计评委打最高分最低分的次数
for line in p:
ma = max(line) #找出这一轮分数的最大分
mi = min(line) #找出这一轮分数的最小分
for i in range(12):
if line[i] == ma or line[i] == mi:

最低0.47元/天 解锁文章

2347

被折叠的 条评论
为什么被折叠?



