Advertisement

python求平均数、方差、中位数

阅读量:

CalStatistics.py

复制代码
    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):       #计算中位数
    numbers = sorted(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)))

全部评论 (0)

还没有任何评论哟~