python—基本统计值计算
实例9:基本统计值计算
#计算基本统计值(平均值、标准差、中位数)除中位数外,其他输出保留⼩数点后两位
def getNum():
nums = []
iNumStr = input("请输⼊数字(回车退出):")
while iNumStr != "":    #死循环判断为空退出,不为空就继续输⼊并添加到列表⾥
nums.append(eval(iNumStr))
iNumStr = input("请输⼊数字(回车退出):")
return nums
#计算平均值,必须先求和,⽤总和数除以总个数等于平均值
def mean (numbers):          #例:numbers=1,2,3  共3个数字
s = 0.0                  #定义⼀个结果为0
字符串长度怎么数python
for num in numbers:
s = s +num          #和是1+2+3=6 那么s=6
return s / len(numbers)  #6除以3等于平均值2
# 计算⽅差,需要算出平均值
def dev(numbers,mean):            #两参数⽤户输⼊列表和平均值
sdev = 0.0                      #例:numbers=1,2,3,4 共4个数字上⼀步算出平均值2.5
for num in numbers:            #(1-2.5)**2==2.25 sdev=2.25
sdev = sdev + (num - mean)**2  #逐⼀取数减平均值再得出平⽅,累加到sdev⾥
return pow(sdev / (len(numbers)-1),0.5) #sdev除(4-1)==0.75的0.5次⽅==1.299
#计算中位数
def median(numbers):
numbers.sort()  #进⾏原列表排序,使⽤sorted排序必须有返回值numbers = sorted(numbers)
size = len(numbers)  #例:numbers=1,2,3,4    size=4
if size % 2 ==0:    #判断为偶数取中间两位数,4//2-1 =1  切⽚是从0开始所以减1位
med = (numbers[size//2-1] + numbers[size//2])/2  #//为整除,/为浮点数
else:              #或为奇数,切⽚总长度除2,取中间⼀位
med = numbers[size//2]
return med
n = getNum()
m = mean(n)
print("平均值:{},⽅差:{:.2},中位数:{}".format(m,dev(n,m),median(n)))
python123练习题:代码⼤致⼀样,input输⼊不同需转换类型def getNum():  # 获取⽤户不定长度的输⼊
nums = eval(input())  # s = eval(input())
return list(nums)      # nums = list(s)  return nums
#如果不转换列表类型,则下⽅排序需使⽤numbers = sorted(numbers)来排序,此⽅法必须有返回值
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 = 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))) 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。