4248: 平均数、中位数和众数
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
平均数:是指在一组数据中所有数据之和再除以这组数据的个数。
如:“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。
输入
以英文逗号分隔的一组整数。
输出
依次输出一组整数的平均数(保留2位小数)、中位数(保留2位小数)和众数。
样例输入 复制
1,3,5,7,9,9
样例输出 复制
5.67 6.00 9
提示
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=1 cnt=1 mode=ls[0] for i in range(1,n): if ls[i]!=ls[i-1]: cnt=1 else: cnt+=1 if cnt>maxCnt: maxCnt=cnt mode=ls[i] print('%.2f %.2f %d'%(average,median,mode))