• Python基本统计值计算


    描述

    这是"实例"题,与课上讲解实例相同,请作答检验学习效果。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

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

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

    请补充编程模板中代码完成‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

    输入输出示例

      输入 输出
    示例 1
    1,3,6,9,2,5,1
    平均值:3.86,标准差:2.97,中位数:3

    就光顾着他说和上课一样了。

    不然,这里是一行以逗号分隔完成输入,而上课讲的是每次输入一个数:

    nums = []
        numstr = input("请输入数字(回车退出):")
        while numstr != '':
            nums.append(eval(numstr))
            numstr = input("请输入数字(回车退出):")

    所以这里需要这样:

    def getNum():       #获取用户不定长度的输入
        nums = []
        iNumstr = input().split(",")
        for i in iNumstr:
            nums.append(eval(i))
        return nums
            
    def mean(numbers):  #计算平均值
        s = 0.0
        for num in numbers:
            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):    #计算中位数
        numbers = sorted(numbers)
        size = len(numbers)
        if size % 2 == 0:
            med = (numbers[size//2]+numbers[size//2-1])/2
        else:
            med = numbers[size//2]
        return med
        
    n =  getNum() #主体函数
    m =  mean(n)
    print("平均值:{:.2f},标准差:{:.2f},中位数:{}".format(m,
    dev(n,m),median(n)))
    

      并且这个sorted函数太坏了。

    sort()方法语法:

    list.sort(cmp=None, key=None, reverse=False)

    • cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
    • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
    • reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。

    而还有一个sorted:

    sort 与 sorted 区别:

    sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

    list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

    sorted 语法:

    sorted(iterable, key=None, reverse=False)


    区别即:

     和

    所以用sorted时,一定要送佛送到佛归西。

    numbers = sorted(numbers)

    下面为答案:

    #请在...补充一行或多行代码
    #CalStatisticsV1.py
    def getNum():       #获取用户不定长度的输入
        nums = []
        iNumstr = input().split(",")
        for i in iNumstr:
            nums.append(eval(i))
        return nums
            
    def mean(numbers):  #计算平均值
        s = 0.0
        for num in numbers:
            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):    #计算中位数
        numbers = sorted(numbers)
        size = len(numbers)
        if size % 2 == 0:
            med = (numbers[size//2]+numbers[size//2-1])/2
        else:
            med = numbers[size//2]
        return med
        
    n =  getNum() #主体函数
    m =  mean(n)
    print("平均值:{:.2f},标准差:{:.2f},中位数:{}".format(m,
    dev(n,m),median(n)))
     
  • 相关阅读:
    JavaScript深入解读
    CentOS7上安装与配置Tomcat8与MySQL5.7
    码云的初步使用
    MySQL安装与初步操作
    自定义消息队列
    用Executors工具类创建线程池
    Java中的BlockingQueue队列
    Restful对于URL的简化
    docker push 实现过程
    通过docker-machine和etcd部署docker swarm集群
  • 原文地址:https://www.cnblogs.com/penen/p/13439038.html
Copyright © 2020-2023  润新知