Может быть какая-то причина для делителя равным 0. Как сказал @MartinR, если в nums
есть только 1 объект, тогда count = nums.count -1
будет нулем, а 1 / 0
- неопределенным состоянием.
OneЕще одна проблема, которую я обнаружил, что вы зациклились как 0...nums.count - 2
, но это должно быть 0...nums.count - 1
.Вы также можете написать его с условием меньше, чем
0..<nums.count
или 0..<count
Use,
var average = 0;
let count = nums.count
for index in 0..<count {
let nextNum = Int(nums[index])
average += nextNum!
}
return average / count
Вы можете использовать быстрые функции высокого порядка для оптимизированного решения, которое будет возвращать0 в среднем, даже если у вас нет числа в вашем массиве nums
.Как:
let count = nums.count
let avg = nums.reduce(0, +) / count