现有5名选手杀入“校园好声音”决赛,决赛邀请了5名评委进行打分,每位选手的最终分数由去掉自己的最高得分和最低得分后计算出来的平均分为准。其中一二三等奖各一名。请编程统计并输出得奖情况。如:
第1名为张三。
第2名为李四。
第3名为王老五。
提示:建议使用2维列表。其每个元素由包含选手姓名、得分明细和最终得分的1维列表组成。
先看看运行结果吧!
源代码如下:
listS = []
for i in range(5):
singer = []
gradeS = []
name = input('请输入选手:')
singer.append(name)
for j in range(5):
garde = input('请第{}位评委为歌手{}评分'.format(j+1,name))
gradeS.append(garde)
singer.append(gradeS)
listS.append(singer)
if len(gradeS) >= 5:
gradeS.remove(max(gradeS))
gradeS.remove(min(gradeS))
nums = [float(num) for num in gradeS]
avg = sum(nums) / len(nums)
singer.append(avg)
listS.sort(key=lambda x: x[2], reverse=True)
print("第1名为{}".format(listS[0][0]))
print("第2名为{}".format(listS[1][0]))
print("第3名为{}".format(listS[2][0]))
end:健康ganggang!