|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
获取以逗号分隔的多个数据输入(输入为一行),计算基本统计值(平均值、标准差、中位数)
除中位数外,其他输出保留小数点后两位。
- def getNum(): # 获取用户不定长度的输入
- num = list(eval(input()))
- return num
- def mean(numbers): # 计算平均值
- sum = 0
- for each in numbers:
- sum += each
- return sum / 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 = sorted(numbers)
- if len(numbers) % 2 == 0:
- med = (numbers[len(numbers) // 2 - 1] + numbers[len(numbers) // 2]) / 2
- else:
- med = numbers[len(numbers) // 2]
- return med
- n = getNum() # 主体函数
- m = mean(n)
- print("平均值:{:.2f},标准差:{:.2f},中位数:{}".format(m, dev(n, m), median(n)))
复制代码 |
|