推荐一个网站www.hackerrank.com,小白们可以根据里面的题库练习,提高自己编程的知识和技能。
废话不多说,本文主要记录hackerrank刷题之Statistics—Standard Deviation。
题目要求
给定一个整数数组,计算并输出标准差。 答案应该是十进制形式,四舍五入到1位小数,答案的误差范围是±0.1。
输入
第一行表示一个整数,表示数组中的元素数。
第二行描述的是数组元素,即用空格分隔的整数
解题思路
1、标准差的公式如下
2、将输入的数字字符串转换为数组
例如输入的是1 2 3 4
# 对于字符串,先使用split方法按空格进行分割,结果为:['1', '2', '3', '4']
# 然后map函数将int函数迭代作用到每个元素上,最后用list使其成为一个整型数组
nums = list(map(int, input() .split()))
3、根据公式求方差,标准差即方差的平方根
均值
miu=sum(nums)/n
方差
var=sum([((x-miu)**2) for x in nums])/n
标准差
std=var**0.5
4、结果取1位小数
round()内置方法
code
n=int(input())nums=list(map(int,input().split()))miu=sum(nums)/nvar=sum([((x-miu)**2) for x in nums])/nstd=var**0.5print (round(std,1))
输出