歌唱比赛有十个评委,分别给出一到一百分,除去一个最高分,除去一个最低分,剩余8个人的给分平均值作为选手的最终得分,编写一个程序找出评分最公平的评委
3条回答 默认 最新
- 小小小小人水豚 2023-04-09 09:46关注
import random score_list = [random.randint(1, 10) for i in range(10)] print("原始的打分列表:%s" % (score_list)) score_list_temp = score_list.copy() max_value = max(score_list) min_value = min(score_list) score_list_temp.remove(max_value) score_list_temp.remove(min_value) mean = sum(score_list_temp) / len(score_list_temp) print("去掉最高最低分后的列表:%s, 平均分为:%s" % (score_list_temp, mean)) # 将打分顺序以及与平均分的差存在字典中,并按差值排序 fair_dict = {idx: abs(score - mean) for idx, score in enumerate(score_list, start=1)} sorted_list = sorted(fair_dict.items(), key=lambda x: x[-1]) print("打分公平的裁判有:") for item in sorted_list: if item[-1] == sorted_list[0][-1]: print('第%s位' % item[0]) else: break
执行结果:
有帮助的话,请点采纳该答案~
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用