任务:
- 有10个评委打分,分值在[0, 10],去掉一个最高分和一个最低分,再求平均分
- 保证评委输入分数在指定范围
- 有5个歌手
# 有10个评委打分,分值在[0, 10],去掉一个最高分和一个最低分,再求平均分
# 五个歌手
for i in range(1, 6):
print('给第{}个歌手评分'.format(i))
# 十个评委
scores = []
j = 1
while j <= 10:
score = float(input('第{}个评委评分:'.format(j)))
while score > 10 or score < 0:
score = float(input('评分超出范围,重新输入第{}个评委评分:'.format(j)))
scores.append(score)
j += 1
average_score = (sum(scores) - max(scores) - min(scores)) / (len(scores) - 2)
print('去掉一个最高分和一个最低分,第{}位歌手最终平均分为:{:.2f}'.format(i, average_score))
输出结果:
给第1个歌手评分
第1个评委评分:9.8
第2个评委评分:9.7
第3个评委评分:9.8
第4个评委评分:9.7
第5个评委评分:89
评分超出范围,重新输入第5个评委评分:87
评分超出范围,重新输入第5个评委评分:8.9
第6个评委评分:8.9
第7个评委评分:8.7
第8个评委评分:9.8
第9个评委评分:5.9
第10个评委评分:9.8
去掉一个最高分和一个最低分,第1位歌手最终平均分为:9.41
给第2个歌手评分
第1个评委评分:7.9
第2个评委评分:9.8
第3个评委评分:7.6
第4个评委评分:8.9
第5个评委评分:9.8
第6个评委评分:7.5
第7个评委评分:9.5
第8个评委评分:9.8
第9个评委评分:7.5
第10个评委评分:9.5
去掉一个最高分和一个最低分,第2位歌手最终平均分为:8.81
给第3个歌手评分
第1个评委评分:7.5
第2个评委评分:9.5
第3个评委评分:9.8
第4个评委评分:9.7
第5个评委评分:8.6
第6个评委评分:7.5
第7个评委评分:8.6
第8个评委评分:9.5
第9个评委评分:8.6
第10个评委评分:7.5
去掉一个最高分和一个最低分,第3位歌手最终平均分为:8.69
给第4个歌手评分
第1个评委评分:9.5
第2个评委评分:7.5
第3个评委评分:9.5
第4个评委评分:9.6
第5个评委评分:7.5
第6个评委评分:8.5
第7个评委评分:9.6
第8个评委评分:9.5
第9个评委评分:9.5
第10个评委评分:9.5
去掉一个最高分和一个最低分,第4位歌手最终平均分为:9.14
给第5个歌手评分
第1个评委评分:9.5
第2个评委评分:9.5
第3个评委评分:9.5
第4个评委评分:9.5
第5个评委评分:7.5
第6个评委评分:9.5
第7个评委评分:9.5
第8个评委评分:9.5
第9个评委评分:9.5
第10个评委评分:9.5
去掉一个最高分和一个最低分,第5位歌手最终平均分为:9.50