【问题描述】

获取以逗号分隔的多个数据输入(输入为一行),计算基本统计值(平均值、标准差、中位数)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

除中位数外,其他输出保留小数点后两位。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

请补充编程模板中代码完成

#请在...补充一行或多行代码

def getNum():       #获取用户不定长度的输入

    ...

def mean(numbers):  #计算平均值

    ...

    

def dev(numbers, mean): #计算标准差

    ...

def median(numbers):    #计算中位数

    ...

    

n =  getNum() #主体函数

m =  mean(n)

print("Average:{:.2f},Standard Deviation:{:.2f},Median:{}".format(...))

【输入形式】

【输出形式】

【样例输入】

1,3,6,9,2,5,1

【样例输出】

Average: 3.86, Standard Deviation: 2.97, Median: 3

【样例说明】
【评分标准】

def getNum():  # 获取用户不定长度的输入
    return list(sorted(eval(input())))

def mean(numbers):  # 计算平均值
    return sum(i for i in numbers)/len(numbers)

def dev(numbers, mean):# 计算标准差
    return pow(sum((i-mean)**2 for i in numbers)/(len(numbers)-1),0.5)

def median(numbers):  # 计算中位数
    return n[(len(numbers))//2] if len(numbers)%2 else n[len(numbers)//2]/2+n[len(numbers)//2-1]/2

n = getNum()  # 主体函数
print("Average:{:.2f},Standard Deviation:{:.2f},Median:{}".format(mean(n),dev(n,mean(n)),median(n)))

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐