我一直在寻找,没有找到一个简单的问题和答案堆栈溢出寻找一个数组的平均值。
这是我的阵列
const grades = [80, 77, 88, 95, 68];
我最初以为这个问题的答案是这样的:
let avg = (grades / grades.length) * grades.length
console.log(avg)
然而,这给了我一个NaN的输出。
然后我尝试了这个:
for (let grade of grades)
avg = (grade / grades.length) * grades.length
console.log(avg)
这给了我68的输出。(我不知道为什么)。
所以我有两个问题。1。为什么我的输出是68?和2。有人能帮我找到数组的平均值吗?
对于问题的第二部分,您可以使用减少
来达到良好的效果:
js prettyprint-override">const grades = [80, 77, 88, 95, 68];
function getAvg(grades) {
const total = grades.reduce((acc, c) => acc + c, 0);
return total / grades.length;
}
const average = getAvg(grades);
console.log(average);
通过将所有元素相加,然后除以元素数,计算平均值。
var total = 0;
for(var i = 0; i < grades.length; i++) {
total += grades[i];
}
var avg = total / grades.length;
你得到68作为结果的原因是,在循环中,你不断覆盖你的平均值,所以最终的值将是你上次计算的结果。还有你的分数除法和乘法。长度相互抵消。
使用ES6,您可以将Andy的解决方案转化为一行:
const average = (array) => array.reduce((a, b) => a + b) / array.length;
console.log(average([1,2,3,4,5]));
我正在尝试使用用户输入将数字放入一个数组,然后找到这些数字的平均值,也找到哪些数字大于平均值。这些数字进入一个数组,但当我试图求平均数时,我无法求出平均数,以及哪些数字大于平均数,因为对于试图求出大于平均数的数字的部分,并非所有变量都是可见的。但是,当我允许这个部分看到所有的变量(don't But{}围绕某些部分)时,它会找到每一个数的平均值。现在,它为每个数字打印平均值,而为大于平均值的数字打
正如标题所示,我需要做的是使用for循环计算数组的平均值。我所说的平均值是指
我试图理解新的Java8流API。 http://docs.oracle.com/javase/tutorial/collections/streams/reduction.html 我找到了使用collect API查找数字平均值的示例。但我觉得,使用reduce()也可以做到这一点。
问题内容: 我必须在Python中找到列表的平均值。到目前为止,这是我的代码 我已经知道了,所以它可以将列表中的值相加,但是我不知道如何将其划分为它们? 问题答案: 在Python 3.4+上,你可以使用 statistics.mean() 在旧版本的Python上,你可以执行 在Python 2上,你需要转换len为浮点数才能进行浮点数除法 无需使用。它慢得多,并已在Python 3 中删除。
希望这对你来说是有意义的,我很乐意更详细地解释这个问题。
这是我的第一篇帖子。我正在编写一个程序,从四个输入框中获取输入,求出这四个输入框的总和,并求出平均值。当我这样做的时候,我得到了一个错误,有人能指出我哪里出了错。谢谢