如何从数组中求平均值?
如果我有一个数组:
[0,4,8,2,5,0,2,6]
平均得到3.375。
如何从数组中求平均值?
如果我有一个数组:
[0,4,8,2,5,0,2,6]
平均得到3.375。
当前回答
这台电脑上没有ruby,但在这个程度上应该可以工作:
values = [0,4,8,2,5,0,2,6]
total = 0.0
values.each do |val|
total += val
end
average = total/values.size
其他回答
[1,2].tap { |a| @asize = a.size }.inject(:+).to_f/@asize
简短,但使用实例变量
a = [0,4,8,2,5,0,2,6]
sum = 0
a.each { |b| sum += b }
average = sum / a.length
为了让公众开心,还有另一个解决方案:
a = 0, 4, 8, 2, 5, 0, 2, 6
a.reduce [ 0.0, 0 ] do |(s, c), e| [ s + e, c + 1 ] end.reduce :/
#=> 3.375
无需重复数组(例如,非常适合一行程序):
[1, 2, 3, 4].then { |a| a.sum.to_f / a.size }
打印数组。求和/数组。计数是我做到的方式