输入多个数,计算出平均值, 方差, 中位数
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 += num
return s / len(numbers)
def dev(numbers, mean):
sdev = 0.0
for num in numbers:
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)))
输出:
请输入数字(回车退出):1
请输入数字(回车退出):2
请输入数字(回车退出):3
请输入数字(回车退出):4
请输入数字(回车退出):5
请输入数字(回车退出):6
请输入数字(回车退出):7
请输入数字(回车退出):8
请输入数字(回车退出):9
请输入数字(回车退出):
平均值:5.0, 方差:2.7, 中位数:5.