2130: 平均数中位数和众数

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

题目描述

输入一组整数,输出这组整数的平均数、中位数和众数。

平均数:是指在一组数据中所有数据之和再除以这组数据的个数。


如:“1,2,3,4,5” 这组数的平均数为3.00。 (1+2+3+4+5)/ 5 = 3.00

    

中位数:将一组数据从大到小排序后,位置在最中间的数值。

分两种情况:当数据个数为奇数时,中位数为中间的那个数的值;

                    当数据个数为偶数时,中位数为中间的两个数的平均值。

如:“1,3,5,7,9 ”这组数据有5个数字,中位数为5;

       “1,3,5,7 ”这组数据有4个数字,中位数为4。

    

众数:是一组数据中出现次数最多的那个数值。

如:“1,3,5,7,9 ,9”这组数据9出现的次数最多,故众数为9。

输入

以英文逗号分隔的一组整数。

输出

输出这组整数的平均数、中位数和众数。

样例输入 复制

5,4,5,3,1

样例输出 复制

3.6 4 5

提示

ls=list(map(int,input().split(",")))
average,median,mode=0,0,0
n=len(ls)
average=sum(ls)/n
ls=sorted(ls)
if n%2!=0:
    median=ls[(n+1)//2-1]
else:
    median=(ls[n//2-1]+ls[n//2])/2
maxCnt=0
lastI=ls[0]
cnt=0
for i in ls:
    if i!=lastI:
        cnt=1
    else:
        cnt+=1
        if cnt>maxCnt:
            maxCnt=cnt
            mode=i
    lastI=i
print(average,median,mode)