任务描述
本关任务:编写一个评委打分。
相关知识
为了完成本关任务,你需要掌握: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]))