推荐一个网站www.hackerrank.com,小白们可以根据里面的题库练习,提高自己编程的知识和技能。
废话不多说,本文主要记录hackerrank刷题之Statistics—Mean, Median, and Mode。
题目要求
给定一个整数数组,分别计算并输出其相应的均值mean,中位数median和众数mode。 如果数组包含多个mode,请选择数值最小的那个数。
输入
第一行表示一个整数,表示数组中的元素数。
第二行描述的是数组元素,即用空格分隔的整数
解题思路
1、首先将输入的数字字符串转换为数组
例如输入的是1 2 3 4
# 对于字符串,先使用split方法按空格进行分割,结果为:['1', '2', '3', '4']
# 然后map函数将int函数迭代作用到每个元素上,最后用list使其成为一个整型数组
nums = list(map(int, input() .split()))
2、导入numpy库来求均值和中位数
import numpy as np
#均值
np.mean(nums)
#中位数
np.median(nums)
但是numpy没有直接的方法求众数,可以导入scipy下stats模块来求众数
from scipy import stats
#众数
stats.mode(nums)[0][0]
函数作用:返回传入数组/矩阵中最常出现的成员以及出现的次数。如果多个成员出现次数一样多,返回值小的那个。
code
输出