计算平均数,均方差,找中位数

def getNum(): # 接受用户不定长的输入
    nums=[]
    inumstr = input("请输入数字(回车退出):")
    while inumstr != '':
        nums.append(eval(inumstr)) # 解释器到底了度没找到它要找到的东西出现以上错误, unexpected EOF while parsing,上面的是空字符,不是空格。
        inumstr = input("请输入数字(回车退出):")
    return nums
def mean(numbers):
    s=0
    for num in numbers:
        s=s+num
        return s/len(numbers)
def dev (numbers,mean):
    sdev=0
    for num in numbers:
        sdev=sdev+pow((num-mean),2)
    return pow(sdev/len(numbers),0.5) #len(numbers)-1 就是N-1的意思?公示里面没有这个说法呢?

def median (numbers):
    sorted(numbers) #sorted 给序列排序
    size=len(numbers)
    if size%2==0:
        med = (numbers[size//2-1]+numbers[size//2])/2  # //整除的运算符,取整除 - 向下取接近商的整数,5/2=2.5 取值2 舍去后面的小数部分
    else:
        med = numbers[size//2]
    return med
n = getNum()
m = mean(n)
print("平均值:{:.2},方差:{:.2},中位数:{}。".format(m,dev(n,m),median(n))) # 若果其中不输入:则会出现如下代码 AttributeError: 'float' object has no attribute '2'

标识两个错误的代码:

1、while inumstr != '': 这个是空字符的意思,若输入了空格,实际没有空格结束的话,就会在下一行出现下面的信息

# 解释器到底了度没找到它要找到的东西出现以上错误, unexpected EOF while parsing,上面的是空字符,不是空格。

2、print("平均值:{:.2},方差:{:.2},中位数:{}.".format  格式化函数中,若取小数没有在{}里面加上:或者这个冒号是中文状态下的,执行的时候也会报错。

# 若果其中不输入:则会出现如下代码 AttributeError: 'float' object has no attribute '2'
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

charmingmm815

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值