概述
总个数:len()
求和: for ...in
平均值:求和/总个数
方差:各数据与平均数差的平方的和的平均数
中位数:排序后,奇数个找中间一个数,偶数个找中间两个数。
补充:sorted()函数可以对列表进行排序
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+=num
return s/len(numbers)
def dev(numbers,mean):#计算方差
sdev=0.0
for num in numbers:
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)))
执行程序:
请输入数字(回车退出):1
请输入数字(回车退出):2
请输入数字(回车退出):3
请输入数字(回车退出):
平均值:2.0,方差:1.0,中位数:2。
实例9:基本统计值计算
描述
这是"实例"题,与课上讲解实例相同,请作答检验学习效果。
获取以逗号分隔的多个数据输入(输入为一行),计算基本统计值(平均值、标准差、中位数)
除中位数外,其他输出保留小数点后两位。
请补充编程模板中代码完成
输入输出示例
输入 | 输出 | |
示例 1 | | |
代码
#CalStatisticsV1.py
def getNum(): #获取用户不定长度的输入
s = input()
ls = list(eval(s))
return ls
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): #计算中位数
numbers.sort()
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("平均值:{:.2f},方差:{:.2f},中位数:{}".format(m, dev(n,m),median(n)))
分析:
(1) 获取多个数据:从控制台获取逗号分隔的多个数据
(2) 多函数编写方法:模块化设计方法,每部分功能比较清晰
(3) 排序:列表ls的默认排序方法是ls.sort(),如果从大到小排序,用ls.sort(reverse=True)
(4)sorted(list)返回一个新的按升序排序的list,而list.sort()是修改的list本身,参考:https://www.cnblogs.com/whaben/p/6495702.html
最后
以上就是开朗冬瓜为你收集整理的实例9:基本统计值计算实例9:基本统计值计算的全部内容,希望文章能够帮你解决实例9:基本统计值计算实例9:基本统计值计算所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复