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