小白一个,学习努力 2021-05-18 10:39 采纳率: 66.7%
浏览 112
已采纳

希望大神帮忙解答一下,实在不会

1. 编写程序,(用列表)处理大众评委给某选手的评分。 功能要求: (1) 输入分数为整数,输入的分数个数任意(参与评分人数不一定); (2) 去掉前 10%(四舍五入)的较高分,去掉后 10%(四舍五入)的较低分,剩余为有效分数; (3) 有效评分的平均值为选手的得分。 输入要求: (4) 一次能输入所有评分,假定输入为 100 内的整数,个数任意。 输出内容: (5) 原始分数个数、原始分数序列(原输入顺序)。 (6) 有效分数个数、有效分数排序(按降序) (7) 分数平均分(四舍五入,保留 1 位小数)

  • 写回答

1条回答 默认 最新

  • CSDN专家-kaily 2021-05-18 11:08
    关注
    def score(*args):
        s = []
        for i in args:
            s.append(i)
        print("原始分数序列:", s)
        length = len(s)
        print('原始分数个数:', length)
        l = round(length*0.1)
        print('有效分数个数', length-2*l)
        s = sorted(s)
        s = s[l:length-l]
        print('有效分数排序:',s)
        print('分数平均分:', round(sum(s)/(length-2*l), 1))
        
    score(90,88,91,92,95,80,100,87,75,80,99,98)

    也可以这样

    def score(s):
        print("原始分数序列:", s)
        length = len(s)
        print('原始分数个数:', length)
        l = round(length*0.1)
        print('有效分数个数', length-2*l)
        s = sorted(s)
        s = s[l:length-l]
        print('有效分数排序:',s)
        print('分数平均分:', str(round(sum(s)/(length-2*l), 1)))
    
    a = input()  # 90,88,91,92,95,80,100,87,75,80,99,98
    a = [int(i) for i in a.split(',')]
    score(a)
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100