我正在写一个程序,它获取一组数据,然后求平均值。这个数据集是拉瓜迪亚机场每个月的平均温度,与温度相对应。
以下是一个数据点示例:

    2009-07,23.6

这是一年中的一个月,临时工。
我有163个数据点所有数据点都在一个.txt文件中,每一个都在一个新行上。
我把数据做成一个数组,然后把它拆分出于某种原因,我的程序说每次尝试运行时我的平均值是0
这是我的代码:
data = File.open("avg_temp.txt", "r+")

contents = data.read

contents = contents.split("\r\n")

contents.collect! do |x|
        x.split(',')
end


sum = 0

data.each do |x|

sum = sum  + x[1].to_f

end

avg = sum / contents.length

puts avg

最佳答案

结束后将avg = sum/contents.length分配到循环外部。在循环中定义的变量的作用域仅限于该循环另外,您正在循环data,应该是content

contents.each do |x|

    puts x[1] # to check if the right value is being evaluated
    sum = sum  + x[1].to_f

end

avg = sum/contents.length

关于ruby-on-rails - 如何为温度数据集创建平均值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18991748/

10-11 18:38