06-03 实例9-基本统计值计算

一、"基本统计值计算"问题分析

1.1 问题分析

基本统计值

  • 需求:给出一组数,对它们有个概要理解
  • 该怎么做呢?

总个数、求和、平均值、方差、中位数…

  • 总个数:len()
  • 求和:for … in
  • 平均值:求和/总个数
  • 方差:各数据与平均数差的平方的和的平均数
  • 中位数:排序,然后…
  • 奇数找中间1个,偶数找中间2个取平均

二、"基本统计值计算"实例讲解

2.1 基本统计值计算

  • 获取多数据输入
  • 通过函数分隔功能
# CalStatisticsV1.py

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)))
请输入数字(回车退出): 13
请输入数字(回车退出): 15
请输入数字(回车退出): 16
请输入数字(回车退出): 17
请输入数字(回车退出): 
平均值:15.25,方差:1.7,中位数:15.5.

三、"基本统计值计算"举一反三

3.1 技术能力扩展

  • 获取多个数据:从控制台获取多个不确定数据的方法
  • 分隔多个函数:模块化设计方法
  • 充分利用函数:充分利用Python提供的内容函数
上一篇
下一篇
Copyright © 2022 Egon的技术星球 egonlin.com 版权所有 帮助IT小伙伴学到真正的技术