跳转至

平均数、中位数、众数

题目描述

提示信息: 平均数: 是指在一组数据中所有数据之和再除以这组数据的个数。 如:“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。

编程实现: 给定一组正整数,然后分行输出这组正整数的平均数,中位数,众数

输入描述

输入一组正整数并以一个英文逗号隔开

输出描述

第一行输出平均数(保留两位小数) 第二行输出中位数(保留两位小数) 第三行输出众数(如果有多个数值出现的次数相同,则取数值最大的作为众数)

样例输入

1,3,5,7,9,9

样例输出

5.67 6.00 9

代码详解

展开查看
ls = [int(i) for i in input().split(",")]

avg = sum(ls) / len(ls)
print("%.2f" % avg)

ls = sorted(ls, reverse=True)
# print(ls)
if len(ls) % 2 == 1:
    print("%.2f" % (ls[len(ls)//2]))
elif len(ls) % 2 == 0:
    print("%.2f" % ((ls[len(ls)//2] + ls[len(ls)//2-1]) /2))

cnt = 0
ls2 = []
for i in ls:
    ls2.append(ls.count(i))

max = ls2[0]
ind = 0
for i in range(1, len(ls2)):
    if max < ls2[i]:
        max = ls2[i]
        ind = i
print(ls[ind])

运行结果

展开查看
1,3,5,7,9,9
5.67
6.00
9