歌唱比赛有十个评委,分别给出一到一百分,除去一个最高分,除去一个最低分,剩余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无用
悬赏问题
- ¥15 win10权限管理,限制普通用户使用删除功能
- ¥15 minnio内存占用过大,内存没被回收(Windows环境)
- ¥65 抖音咸鱼付款链接转码支付宝
- ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
- ¥15 blast算法(相关搜索:数据库)
- ¥15 请问有人会紧聚焦相关的matlab知识嘛?
- ¥15 网络通信安全解决方案
- ¥50 yalmip+Gurobi
- ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
- ¥15 itunes恢复数据最后一步发生错误