【Python】基本统计值计算

 

 

 

 

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)))

测试:

 

 

 

 

posted @ 2020-03-21 11:30  木子欢儿  阅读(2058)  评论(0编辑  收藏  举报