【Python】求解平均数、标准差、中位数

def aver(lis):
    return "{:.2f}".format(sum(lis)/len(lis))
def middle(lis):
    lis=sorted(lis)
    if len(lis)%2==1:
        print(lis[len(lis)//2],end=' ')
    else:
        a,b=lis[len(lis)//2],lis[(len(lis)//2)-1]
        print((a+b)//2,end=' ')
def s(lis):
    p=eval(aver(lis))
    li =[]
    for i in lis:
        li.append((i-p)**2)
    print("{:.2f}".format((sum(li)/(len(li)-1))**(1/2)),end=' ')
tot=[]
while True:
    try:
        num=eval(input())
        tot.append(num)
    except:
        break
print(aver(tot),end=' ')
s(tot)
middle(tot)
"""
样例输入
1
3
6
9
2
5
1
样例输出
3.86 2.97 3
"""

 在输入中,我们也可以输入CTRL+Z强制退出循环

你可能感兴趣的:(python)