python求平均数、方差、中位数的例子

yipeiwu_com6年前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 的枚举 Enum

枚举是常用的功能,看看Python的枚举. from enum import Enum Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'A...

pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)

pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)

本机中原pyinstaller版本为3.5版本,本打算通过 pip install --upgrade pyinstaller进行升级,竟然报错,后面卸载再重新安装也一样报错,没办法看来...

python二元表达式用法

二元表达式: wide=1 new_w = 299 if not wide else 28 print(new_w) new_w = 299 if wide>0 else 28...

Python学习思维导图(必看篇)

Python学习思维导图(必看篇)

无意间碰到的一个大神整理的Python学习思维导图,感觉对初学者理清学习思路大有裨益,非常感谢他的分享。 14 张思维导图 基础知识 数据类型 序列 字符串 列表 & 元组...

按日期打印Python的Tornado框架中的日志的方法

网站流量上来后,日志按天甚至小时存储更方便查看和管理,而Python的logging模块也提供了TimedRotatingFileHandler来支持以不同的时间维度归档日志。 然而根据...