m0_70910030 2022-11-17 19:40 采纳率: 93.7%
浏览 96
已结题

关于#python#的问题:计算每位歌手的实际得分,即去掉一个最高分、一个最低分的平均分,输出前3名的名次、姓名和实际得分(保留两位小数)输出样列:

用python编写一个计算歌手实际得分的小程序。
十位评委对六位歌手打分,六位歌手的得分数据如fs列表所示

fs=[['zhang',9.5,9.8,9.7,9.6,9.5,9.9,9.6,9.2,9.3,9.7],
    ['huang',8.5,8.8,7.7,7.6,8.5,8.3,9.1,7.8,7.5,9.3],
    ['liu',9.5,8.8,7.2,9.6,8.5,6.5,6.3,7,6.9,9],
    ['chen',9.5,9.8,8.7,8.6,7.5,8.8,8.1,9.3,9.2,9.9],
    ['lin',9.9,7.8,7.5,7.2,6.5,9.1,9.2,9.3,8.5,8.2],
    ['ye',9.8,6.8,6.2,9.3,7.5,8.3,9.1,9.4,8.7,8.9]]

计算每位歌手的实际得分,即去掉一个最高分、一个最低分的平均分,按从高到低的顺序,输出前3名的名次、姓名和实际得分(保留两位小数)
输出样列:

第1名姓名zhang分数9.59
第2名姓名chen分数9.00
第3名姓名ye分数8.50

  • 写回答

2条回答 默认 最新

  • CSDN专家-sinJack 2022-11-17 20:04
    关注
    fs=[['zhang',9.5,9.8,9.7,9.6,9.5,9.9,9.6,9.2,9.3,9.7],
        ['huang',8.5,8.8,7.7,7.6,8.5,8.3,9.1,7.8,7.5,9.3],
        ['liu',9.5,8.8,7.2,9.6,8.5,6.5,6.3,7,6.9,9],
        ['chen',9.5,9.8,8.7,8.6,7.5,8.8,8.1,9.3,9.2,9.9],
        ['lin',9.9,7.8,7.5,7.2,6.5,9.1,9.2,9.3,8.5,8.2],
        ['ye',9.8,6.8,6.2,9.3,7.5,8.3,9.1,9.4,8.7,8.9]]
    #代码开始
    for a in range(3):
        m0=0
        for i in fs:
            l=i[:]
            name=l.pop(0)
            l.sort()
            del l[0]
            del l[-1]
            m=sum(l)/len(l)
            if m0<m:
                n0=name
                m0=m
        print('第{:.0f}名姓名'.format(a+1),end='')
        print(n0,end='')
        print('分数{:.2f}'.format(m0))
        for i in range(len(fs)-1):
            if fs[i][0]==n0:
                del fs[i]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月28日
  • 已采纳回答 11月20日
  • 创建了问题 11月17日

悬赏问题

  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事: