题目描述
现在有 n(n≤1000)n(n \le 1000)n(n≤1000) 位评委给选手打分,分值从 000 到 101010。需要去掉一个最高分,去掉一个最低分(如果有多个最高或者最低分,也只需要去掉一个),剩下的评分的平均数就是这位选手的得分。现在输入评委人数和他们的打分,请输出选手的最后得分,精确到 222 位小数。
输入格式
第一行输入一个正整数 nnn,表示有 nnn 个评委。
第二行输入 nnn 个正整数,第 iii 个正整数表示第 iii 个评委打出的分值。
输出格式
输出一行一个两位小数,表示选手的最后得分。
输入输出样例
输入
5
9 5 6 8 9
输出
7.67
说明/提示
数据保证,3≤n≤10003 \leq n \leq 10003≤n≤1000,每个评委打出的分值为为 000 到 101010(含 000 与 101010)之间的整数。
方式
代码
class Solution:
@staticmethod
def oi_input():
"""从标准输入读取数据"""
num, nums = int(input()), list(map(int, input().split()))
return num, nums
@staticmethod
def oi_test():
"""提供测试数据"""
return 5, [9, 5, 6, 8, 9]
@staticmethod
def solution(num, nums):
nums.remove(min(nums)); nums.remove(max(nums))
print(f"{float(sum(nums) / len(nums)):.2f}")
oi_input = Solution.oi_input
oi_test = Solution.oi_test
solution = Solution.solution
if __name__ == '__main__':
num, nums = oi_test()
# num, nums = oi_input()
solution(num, nums)

被折叠的 条评论
为什么被折叠?



