1218: 【入门】求中位数

内存限制:16 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:35 解决:13

题目描述

中位数指的是一组数,如果按照大小排序排好后最中间的那个数的值,如果有偶数个元素,那么就是最中间两个数的平均数!

比如:2 5 8 1 6,排序后的结果为1 2 5 6 8,那么这组数的中位数就是5

再比如:8 9 1 2 3 0,排序后的结果为0 1 2 3 8 9,那么这组书的中位数就是(2+3)/2=2.5

输入

第一行:一个整数n代表有n个数

第二行:n个数的值

输出

中位数(结果保留1位小数)

样例输入 复制

5
2 5 8 1 6

样例输出 复制

5.0

提示

n=int(input())
ls=list(map(int,input().split()))
ls.sort()
if (n%2==1):
    ans=ls[(n-1)//2]
else:
    ans=(ls[n//2]+ls[n//2-1])/2

print('%.1f'%ans)