Python程序开发-运动员评分

从文件(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:
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值