#基本统计值 分析:
#总个数:len() 求和:for ...in 平均值:求和/总个数
#方差:各数据与平均数差的平方的和的平均数
#中位数: 排序,然后....奇数找中间1个,偶数找中间2个取平均
#运算符" // "来表示整数除法,返回不大于结果的一个最大的整数,而" / " 则单纯的表示浮点数除法
#sorted() 函数可以对列表进行排序
def getnum(): #获取用户输入
nums=[]
inumstr=input("输入数字(回车退出)")
while inumstr!="":
nums.append(eval(inumstr))
inumstr=input("输入数字(回车退出)")
return nums
def mean(numbers): #计算平均值
s=0.0
for num in numbers:
s=s+num
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):
sorted(numbers)
size=len(numbers)
if size%2==0:
med=(numbers[size//2-1]+numbers[size//2])/2
else:
med=numbers[size//2]
return med
n=getnum()
m=mean(n)
print("平均值:{},方差{:.2},中位数:{}.".format(m,dev(n,m),median(n)))
#总个数:len() 求和:for ...in 平均值:求和/总个数
#方差:各数据与平均数差的平方的和的平均数
#中位数: 排序,然后....奇数找中间1个,偶数找中间2个取平均
#运算符" // "来表示整数除法,返回不大于结果的一个最大的整数,而" / " 则单纯的表示浮点数除法
#sorted() 函数可以对列表进行排序
def getnum(): #获取用户输入
nums=[]
inumstr=input("输入数字(回车退出)")
while inumstr!="":
nums.append(eval(inumstr))
inumstr=input("输入数字(回车退出)")
return nums
def mean(numbers): #计算平均值
s=0.0
for num in numbers:
s=s+num
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):
sorted(numbers)
size=len(numbers)
if size%2==0:
med=(numbers[size//2-1]+numbers[size//2])/2
else:
med=numbers[size//2]
return med
n=getnum()
m=mean(n)
print("平均值:{},方差{:.2},中位数:{}.".format(m,dev(n,m),median(n)))