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