python学习笔记 第六章1

基本统计值的计算
1、需要获得多个数据:不知道具体由多少数据,需要定义函数获取。

def getnum():
#获取不定长的数字
    nums=[]
    inumstr=input("请输入数字(回车退出):")
    while inumstr !="":
        nums.append(eval(inumstr))
        inumstr=input("请输入数字(回车退出):")
    return nums

如果输入不是空,则将字符变为数字后加入再nums列表的后面,形成新的列表,直到输入的为空字符串或者回车,则程序不再循环,然后返回nums,如此便可获取不定长的序列。
2、计算平均值

def mean(numbers):
#计算平均值
    s=0.0
    for num in numbers:
        s=s+num
    return s/len(numbers)

这里直接累加求和,最后求出其总和,最后列表长度即为数字个数,以总和除以列表长度即可得出平均值。
3、计算方差

def dev(numbers,mean):
#计算方差
    sdev=0.0
    for num in numbers:
        sdev=sdev+(num-mean)**2
    return pow(sdev/(len(numbers)-1),0.5)

用for…in…的形式逐一取出元素得到差的方,最终求得方差。
4、中位数计算

def median(numbers):
#计算平均数
    sorted(numbers)
    size=len(numbers)
    if size%2==0:
        med=(numbers[size//2-1]+numbers[size//2])/2
    else:
        med=numbers[size//2]
    return med

其中sorted()函数为对列表内的元素进行排序,排序以后就可以利用中位数的定义求出中位数。
5、完整程序

#基本统计值计算
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)
def dev(numbers,mean):
#计算方差
    sdev=0.0
    for num in numbers:
        sdev=sdev+(num-mean)**2
    return pow(sdev/(len(numbers)-1),0.5)
def median(numbers):
#计算平均数
    sorted(numbers)
    size=len(numbers)
    if size%2==0:
        med=(numbers[size//2-1]+numbers[size//2])/2
    else:
        med=numbers[size//2]
    return med
n=getnum()
m=mean(n)
print("平均值:{},方差:{:.2},中位数:{}。".format(m,dev(n,m),median(n)))

我取了两组数据,得出的结果为:
在这里插入图片描述
在这里插入图片描述
我们实现了不确定长度数字串的基本量的计算。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值