python头歌第1关:评委打分

本篇博客介绍了如何从文件score.txt中读取10位评委给每位歌手的评分,通过计算去掉最高分和最低分后的平均分,来确定歌手的最终得分,并以保留两位小数的形式输出。展示了Python编程实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任务描述

本关任务:编写一个评委打分。

相关知识

为了完成本关任务,你需要掌握:1.文件打开,2.文件读取,3.文件关闭。

编程要求

文件score.txt中存储了歌手大奖赛中10名评委给每个歌手打的分,10个分数在一行,形式如下(每行内部的信息以英文逗号间隔):

歌手1,8.72,7.09,8.13,8.93,7.89,8.12,7.99,8.43,8.99,8.89
歌手2,8.95,8.86,8.24,8.63,7.66,8.53,8.59,8.82,8.93,8.89

从文件读取数据,存入列表中,计算该名歌手 的最终得分,最终得分的计算方式是10个评分去掉一个最高分,去掉一个最低分,然后求平均分。最终得分保留两位小数,输出到屏幕。

输出样例(平均分保留两位小数,姓名后面为英文冒号):

歌手1:**.**
歌手2:**.**
歌手3:**.**

答案

f = open("/data/workspace/myshixun/src/score.txt")
scores = []
ave_value = []
for line in f.readlines():
    print(line)
    line = line[5:].replace(',', ',')
    data = list(map(float, line.split(',')))
    scores.append(data)
lenScore = len(scores)
for score in scores:
    score.remove(max(score))
    score.remove(min(score))
    print(score)
    ave_value.append(round(sum(score) / len(score), 2))
for i in range(1, lenScore + 1):
    print("歌手%d:%.2f" % (i,ave_value[i-1]))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

roydon_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值