【发布时间】:2017-07-08 05:14:19
【问题描述】:
我正在尝试编写一个函数,当我调用它时,它会返回一个数字数组的平均值(平均值)。这是我到目前为止所拥有的,但现在我不知道为什么这不起作用。有什么建议吗?
func average(Array arr: [Int]) -> Int{
var average = 0
var counter = 0
for i in arr{
average = arr[i] + average
counter = counter + 1
if(counter == arr.count){
var average = (average / arr.count)
}
}
return average
}
【问题讨论】:
-
i代表什么? -
for i in arr然后arr[i]看起来很奇怪。总的来说,这似乎是计算平均值的最长、最复杂的方法。 -
你还有两个独立的变量,叫做
average -
这也有助于更好地命名变量。您的两个“平均”变量中的第一个应命名为“sum”,因为它是运行总计,而不是平均值。
-
另一个错误:
Int数组的平均值可能不是Int。例如average([1,2]) == 1.5
标签: arrays swift function average mean