用python。
文件“score.txt"中存储了歌手大奖赛中10名评委给每一位歌手打的分,10个分数在一行,形式如下:
歌手1,8.92,7.89,8.23,8.93,7.89,8.52,7.99,8.83,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个评分去掉最高分,去掉最低分,然后求平均分·最终得分保留两位小数,输出到屏幕。
with open('score.txt','r') as f:
data = f.read()
scores = [s.split(',') for s in data.split('\n') if s]
for s in scores:
for i,n in enumerate(s[1:]):
s[i+1] = float(n)
for s in scores:
total = sum(sorted(s[1:])[1:-1])
print(s[0], round(total/8, 2))
with open('scores.txt', 'r', encoding='utf-8') as f:
for line in f.readlines():
lst = line.split(",")
name = lst[0]
scores = [float(s.strip()) for s in lst[1:]]
scores.sort()
print(f'{name}得分:{round(sum(scores[1:-1])/8,2)}')