在playgroundm内鍵入以下代碼,求一個成績數組内最大分值和最小分值
func maxminScore(scores:Array<Int>) -> (maxScore:Int,minScore:Int)? { //一個可以空的Tuple
if scores.isEmpty{
return nil //判斷是否有值,沒值就傳回一個空值
}
var maxScore = scores[0], minScore = scores[0]
for score in scores[1..<scores.count]{
maxScore = max(maxScore, score)
minScore = min(minScore, score)
return (maxScore: maxScore, minScore: minScore) //傳回結果
}
var scores:[Int]? = [60,80,90,100,30,26,87]
var allScores = scores ?? []
if let result = maxminScore(allScores){
println("The maximum score is \(result.maxScore)")
println("The minimum score is \(result.minScore)")
//使用Tuple.下标通路元素
println("The maximum score is \(result.0)")
println("The minimum score is \(result.1)")
//給傳回的值指派給變量後可以直接使用
if let (a,b) = maxminScore(allScores){
println("The maximum score is \(a)")
println("The minimum score is \(b)")