空柠檬 2022-06-18 23:01 采纳率: 90.5%
浏览 60
已结题

计算标准差,输入多行,以空行结束输入

img


data=input()
ls=[]
sum=0
while data:
  ls.append(data.split())
  data=input()
for i in range(len(ls)):
  sum+=eval(ls[i])
ave=sum/len(ls)
sum=0
for i in range(len(ls)):
  sum+=(eval(ls[i])-ave)**2
a=sum/len(ls)
print("{:.2}".format(a))

真的不知道该怎么办了,就是不太对

  • 写回答

1条回答 默认 最新

  • A Python 萌新花花 2022-06-18 23:07
    关注
    
    from math import sqrt
    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=s+num
        return s/len(numbers)
    b = getnum()
    def biaozhuncha(numbers):
        global b
        a=0.0
        for num1 in numbers:
            a+=(num1-mean(b))**2
        return (a/len(numbers))**0.5
    print("标准差:{:.2}".format(biaozhuncha(b)))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月27日
  • 已采纳回答 6月19日
  • 创建了问题 6月18日