0
点赞
收藏
分享

微信扫一扫

【Python函数综合实例】

捌柒陆壹 2022-04-04 阅读 36
python

问题描述:以最简单的统计问题为例,求解一组不定长数据的基本统计值,即平均值、标准差、中位数。      

一组数据表示为S=s0, s1, …, sn-1,其算术平均值、标准差分别表示为:

 由于平均数、标准差和中位数是三个不同的计算目标,使用函数方式编写计算程序。  

  • getNum()函数从用户输入获得数据;  
  • mean()函数计算平均值;  
  • dev()函数计算标准差;  
  • median()函数计算中位数
# text36.py
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)


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


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)))

        程序先后调用getNum()、mean()、dev()和median()函数。利用函数的模块化设计能够复用代码并增加代码的可读性。每个函数内部都采用了简单的语句。

        列表在实现基本数据统计时发挥了重要作用,表现在:

  • 列表是一个动态长度的数据结构,可以根据需求增减少元素;
  • 列表的一系列方法或操作符为计算提供了简单的元素运算手段;
  • 列表提供了对每个元素的简单访问方式及所有元素的遍历方式。
举报

相关推荐

0 条评论