选手评分问题(python)

任务描述

本关任务:编写一个计算选手实际得分的程序。

评委对选手打分,选手的得分数存在列表中,比如

\['张三',9.5,9.8,9.7,9.6,9.5,9.9,9.6,9.2,9.3,9.0\], \['李四',8.5,8.8,7.7,7.6,8.5,8.3,9.1,7.8,7.5,9.3\], \['王五',9.5,8.8,7.2,9.6,8.5,6.5,6.3,7,6.9,9\], \['赵六',9.5,9.8,8.7,8.6,7.5,8.8,8.1,9.3,9.2,9.9

]

计算每位选手的实际得分的规则:去掉一个最高分、一个最低分后计算出平均分(评委的个数大于3个)。

输入格式

用户输入一行内容,包括所有选手的原始得分。

输出格式

按实际得分,输出前2名的名次、姓名和实际得分(输出时保留三位小数),具体格式:

第1名姓名张三,分数是9.595

第2名姓名某某,分数是x.xxx

复制代码
scorels=eval(input())
scores={}
for scls in scorels:
    # print(scls)
    # 每个人都初始化最高分和最低分  
    maxnum=-1
    minnum=10
    minindex,maxindex=0,0 
    for i in range(1,len(scls)):
        if scls[i]>maxnum:
            maxnum=scls[i]
            maxindex=i
        if scls[i]<minnum:
            minnum=scls[i]
            minindex=i
        # print(scls[i],end=' ')
    # 总分初始化都为0
    tsum=0
    # 再循环一遍算该名选手的总分,存入字典
    for i in range(1,len(scls)):
        tsum+=scls[i]
    tsum-=scls[maxindex]
    tsum-=scls[minindex]
    tavr=float(tsum)/(len(scls)-3)
    scores[scls[0]]=tavr
    # print(tsum)
    # print(len(scls))
# print(scores)
sorted_items=sorted(scores.items(),key=lambda x:x[1],reverse=True)
# print(sorted_items)

print('第1名姓名{},分数是{:.3f}'.format(sorted_items[0][0],sorted_items[0][1]))
print('第2名姓名{},分数是{:.3f}'.format(sorted_items[1][0],sorted_items[1][1]))
相关推荐
广州山泉婚姻5 小时前
Python序列号源码分析
python
计算机源码社6 小时前
【大数据项目实战】基于大数据的影视内容生态综合质量分析与可视化-基于数据挖掘的影视内容类型共现与口碑聚类分析系统
大数据·人工智能·python·数据挖掘·数据分析·毕业设计·课程设计
C^h6 小时前
pytorch 适合初学者 0基础学习
人工智能·pytorch·python
小柯南敲键盘6 小时前
跨马翻译:AI批量图片翻译工具,跨境电商视频字幕翻译与智能抠图一体搞定
人工智能·python·音视频
2601_962297256 小时前
Python里behave和pytest-bdd哪个更适合中大型项目?为什么?
python·bdd·行为驱动开发·behave·pytest-bdd
YCOSA20258 小时前
系统工具使用检测.exe (仅供娱乐)
python·microsoft
2601_962295339 小时前
如何python实现网页的自动化
python·selenium·beautifulsoup·requests·网页自动化
ofoxcoding9 小时前
GPT Image 2.5 API 实战:Python 调用实现图片生成与编辑
人工智能·python·gpt·ai
张小姐的猫9 小时前
【AI大模型接入SDK】 —— Gemini接入封装
android·数据结构·数据库·c++·人工智能·python
Elastic 中国社区官方博客10 小时前
Elasticsearch Python DSL 客户端开发
大数据·数据库·python·elasticsearch·搜索引擎·全文检索