#基本统计值:平均数、众数、中位数、方差,不过首先是要获取用户输入的随机数据
def getnumber():
numbers=[]
number = input('请输入数据(回车结束):')
while number != '':
numbers.append(eval(number))
number = input('请输入数据(回车结束):')
return numbers
def sum(numbers):
s = 0
for i in numbers:
s += i
return s
def average(numbers):
return sum(numbers)/len(numbers)
counts = {}
def most(numbers):
global counts
for i in numbers:
counts[i] = counts.get(i,0)+1
items = list(counts.items())
items.sort(key = lambda x:x[1],reverse = True)
number,time = items[0]
return str(number)+'共'+str(time)+'次'
def media(numbers):
count = len(numbers)
numbers = sorted(numbers)
if count%2 == 0:
return (numbers[count/2-1]+numbers[count/2])/2
if count%2 != 0 :
return numbers[count//2]
def fangcha(numbers):
quare_minus = []
for i in numbers:
i = (i - average(numbers))**2
quare_minus.append(i)
return sum(quare_minus)/len(numbers)
a = getnumber()
print ('平均数{:.3f}\n众数{}\n中位数{}\n方差{:.3f}'.format(average(a),most(a),media(a),fangcha(a)))