基本统计值
总个数 | len() |
---|
求和 | for…in |
平均值 | 求和/总个数 |
方差 | 各数据与平均数差的平方的和的平均数 |
中位数 | 排序,然后… |
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)))
举一反三
-
获取多个数据: 从控制台获取多个不确定数据的方法
-
分割多个函数: 模块化设计方法
-
充分利用函数: 充分利用python提供的内容函数