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

以上这篇python求平均数、方差、中位数的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

您可能有感兴趣的文章
Python自动化运维-使用Python脚本监控华为AR路由器关键路由变化

Python自动化运维-netmiko模块设备自动发现

Python自动化运维—netmiko模块连接并配置华为交换机

Python自动化运维-利用Python-netmiko模块备份设备配置

Python自动化运维-Paramiko模块和堡垒机实战