Swift 3 - 平衡数组
Swift 3 - Balancing an Array
我正在尝试平衡 swift 3 Playgrounds 中的阵列。
谁能告诉我为什么控制台为 myBalancePoint 打印 0 而不是 8,它代表 myFirstArray[4]
代码如下:
import UIKit
var divSum = Int()
var myBalancePoint = Int()
let myFirstArray = [1, 2, 5, 8, 4, 4]
divSum = myFirstArray.reduce(0, {[=11=] + }) / 2
print(divSum)
let firstPoint = myFirstArray[0]
print (firstPoint)
let secondPoint = myFirstArray[0] + myFirstArray[1]
print (secondPoint)
let thirdPoint = myFirstArray[0] + myFirstArray[1] + myFirstArray[2]
print (thirdPoint)
let fourthPoint = myFirstArray[0] + myFirstArray[1] + myFirstArray[2] + myFirstArray[3]
print (fourthPoint)
let fifthPoint = myFirstArray[0] + myFirstArray[1] + myFirstArray[2] + myFirstArray[3] + myFirstArray[4]
print (fifthPoint)
let sixthPoint = myFirstArray[0] + myFirstArray[1] + myFirstArray[2] + myFirstArray[3] + myFirstArray[4] + myFirstArray[5]
print (sixthPoint)
if fourthPoint > divSum {
let myBalancePoint = myFirstArray[4]
}
print (myBalancePoint)
尝试
if fourthPoint > divSum {
myBalancePoint = myFirstArray[4]
}
print (myBalancePoint)
在 if 条件作用域中,您定义了一个新常量 let myBalancePoint
,因此 var myBalancePoint = Int()
的值不会被更改。
我正在尝试平衡 swift 3 Playgrounds 中的阵列。
谁能告诉我为什么控制台为 myBalancePoint 打印 0 而不是 8,它代表 myFirstArray[4]
代码如下:
import UIKit
var divSum = Int()
var myBalancePoint = Int()
let myFirstArray = [1, 2, 5, 8, 4, 4]
divSum = myFirstArray.reduce(0, {[=11=] + }) / 2
print(divSum)
let firstPoint = myFirstArray[0]
print (firstPoint)
let secondPoint = myFirstArray[0] + myFirstArray[1]
print (secondPoint)
let thirdPoint = myFirstArray[0] + myFirstArray[1] + myFirstArray[2]
print (thirdPoint)
let fourthPoint = myFirstArray[0] + myFirstArray[1] + myFirstArray[2] + myFirstArray[3]
print (fourthPoint)
let fifthPoint = myFirstArray[0] + myFirstArray[1] + myFirstArray[2] + myFirstArray[3] + myFirstArray[4]
print (fifthPoint)
let sixthPoint = myFirstArray[0] + myFirstArray[1] + myFirstArray[2] + myFirstArray[3] + myFirstArray[4] + myFirstArray[5]
print (sixthPoint)
if fourthPoint > divSum {
let myBalancePoint = myFirstArray[4]
}
print (myBalancePoint)
尝试
if fourthPoint > divSum {
myBalancePoint = myFirstArray[4]
}
print (myBalancePoint)
在 if 条件作用域中,您定义了一个新常量 let myBalancePoint
,因此 var myBalancePoint = Int()
的值不会被更改。