小白一个,学习努力 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 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘