m0_70910030 2022-11-15 12:27 采纳率: 93.7%
浏览 44
已结题

python求一组数据的标准差和中位数

如何用python求一组数据的平均数、标准差和中位数,并保留两位小数?

numbers=eval(input("请输入数据,并以逗号分隔:"))
sum=0
count=0
for i in numbers:
    sum=sum+i
    a=sum/len(numbers)
print(f"平均值:{a:.2f}")

接下来如何写?

  • 写回答

2条回答 默认 最新

  • CSDN专家-sinJack 2022-11-15 12:39
    关注
    def mean(numbers):  #计算平均值
        s=0.0
        for n in numbers:
            num=int(n)
            s=s+num
        return s/len(numbers)
    
    def dev(numbers,mean):  #计算标准差
        sdev=0
        for num in numbers:
            sdev=sdev+(num-mean)**2 
        return pow(sdev/(len(numbers)-1),0.5) 
    
    def median(numbers):  #计算中位数
        news_numbers=sorted(numbers)
        size=len(news_numbers)
        if size%2==0:
            med=(news_numbers[size//2-1]+news_numbers[size//2])/2
        else:
            med=news_numbers[size//2]
        return med
    
    numbers=eval(input("请输入数据,并以逗号分隔:"))
    print("平均值:%.2f,标准差:%.2f,中位数:%.2f"%(mean(numbers),dev(numbers,mean(numbers)),median(numbers)))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月23日
  • 已采纳回答 11月15日
  • 创建了问题 11月15日