python统计合格数_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

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

1074111-20200512164753102-1200946370.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值