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

获取以逗号分隔的多个数据输入(输入为一行),计算基本统计值(平均值、标准差、中位数)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬
除中位数外,其他输出保留小数点后两位。

代码如下:

#CalStatistics.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)))

从控制台获取多个不确定数据的方法

def get Num():
	nums = []
	s = input("请输入数字(回车退出):")
	while nums !="":
		nums = eval(s)
		s = input("请输入数字(回车退出):")
	return nums

分隔多个函数:模块化设计方法

列表默认排序ls.sort或者sorted(ls)将列表ls按照从小到大排序

发布了31 篇原创文章 · 获赞 41 · 访问量 1641
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章