当前位置:   article > 正文

Python求列表元素的最大,最小值,总和,均值,中位数及方差_python输入任意个数,计算最大值 、 最小值 、 求和 、 总个数 、 平均值

python输入任意个数,计算最大值 、 最小值 、 求和 、 总个数 、 平均值

一 问题描述:

不使用其他库的情况下,自定义一个函数,求给定数字列表的最大值,最小值,均值,中位数及方差

二 所使用的数学公式:

方差的计算公式:

三 代码及其详解

  1. def number_compute(number):
  2. '''获取列表元素的总和,最大值,最小值,均值,中位数及方差'''
  3. #对原始数据排序 可以对先对列表使用sort()方法排序,第一个及最后一个元素即是最大最小值。
  4. number_list = number[:]#将原始数据复制一遍,操作数据时避免改动原始数据
  5. number_list.sort()
  6. #获取最大,最小值
  7. max_n = number_list[len(number_list)-1]
  8. min_n = number_list[0]
  9. #获取总值 求列表元素的总和:使用for循环遍历列表,将其中的元素依次相加求和即可
  10. sum_n = 0
  11. for i in number_list:
  12. sum_n += i
  13. #获取均值 使用len()得出列表元素的个数,然后将得出的总和/元素个数即可
  14. ave_n = sum_n/len(number_list)
  15. #获取中位数
  16. med_n = 0
  17. t = int(len(number_list)/2) #使用int()方法将结果转换为整数
  18. if len(number_list)%2==0: #判断元素的个数
  19. med_n = (number_list[t-1]+number_list[t])/2 #根据元素个数找到中位数
  20. else:
  21. med_n = number_list[t]
  22. #获取方差
  23. var_n = number_list[0]
  24. sum_MX = 0
  25. for i in number_list:
  26. sum_MX += (ave_n-i)*(ave_n-i) #计算每个元素与均数的差的平方
  27. var_n = sum_MX/len(number_list) #更具公式计算出方差的平方
  28. #储存结果 将结果封装进字典
  29. dic_r = {"总值":sum_n,"最大值":max_n,"最小值":min_n,"均值":ave_n,"中位数":med_n,"方差":var_n}
  30. print("计算结果:",dic_r)

方差部分修改:

感谢 启明猿同学 指出错误:计算方差不需要开方,已做出修改。

需要注意的是:

        Python中的除法运算默认保留两位小数,只需要取整数部分的情况可以使用int()方法去掉小数位.

四 运行结果

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/710775
推荐阅读
相关标签
  

闽ICP备14008679号