基本统计值计算
一、实验简介
编写程序,实现计算一组数据的相关统计值信息。
要求:
(1)获取以逗号分隔的多个数据输入(输入为一行);
(2)计算基本统计值(平均值、标准差、中位数)。其中,标准差是方差的平方根,而方差是各数据与平均数差的平方之和的平均数;中位数是指一组数据排序后中间的那个数,对于一组数据为奇数个,则中位数是中间的那个数,数据个数为偶数个时,则中位数是中间的两个数的平均值。
(3)除中位数外,其他输出保留小数点后两位。
(4)由于平均数、标准差和中位数是三个不同的计算目标, 使用函数方式编写计算程序。getNum()函数从用户输入获得数据;mean()函数计算平均值;dev()函数计算标准差;median()函数计算中位数。
二、基本要求
1. 按照平均值,标准差,中位数的格式合理输出。
2. 获取以逗号分隔的多个数据输入(输入为一行),并按照平均值,标准差,中位数的格式合理输出。
3. 输入一行以逗号隔开的数据,按程序要求合理输出,注意小数点精确位数。
详细代码设计:
def getNum(): #获取用户不定长度的输入
Num_ = input()
Num =list(eval(Num_))
return Num
def mean(numbers): #计算平均值
s=0.0
for i in numbers:
s=s+i
return s/len(numbers)
def dev(numbers, mean): #计算标准差
sdev = 0.0
for num in numbers:
sdev = sdev + (num - mean)**2
return pow(sdev / (len(numbers)-1), 0.5)
def median(numbers): #计算中位数
size = len(numbers)
numbers.sort()
if size%2==0:
return (numbers[size//2-1]+numbers[size//2])/2
else:
return numbers[size//2]
n = getNum() #主体函数
m = mean(n)
print("平均值:{:.2f},标准差:{:.2f},中位数:{}".format(m,\
dev(n,m),median(n)))