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