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)