马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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)))
|