我无法弄清楚为什么我的控制台中有额外的括号

时间:2017-03-31 02:23:32

标签: swift xcode

我正在学习编程的基础知识,我似乎无法理解为什么我的控制台使用以下代码显示额外的括号:

// My Constants Dictionary!

let numberOneScore = 10
let numberTwoScore = 20
let numberThreeScore = 30
let numberFourScore = 40
let numberFiveScore = 50

// Game Stats


func playerOneStats() {
    let playerOneScore = (numberTwoScore) + (numberThreeScore) + (numberOneScore)
    print ("Player one has scored \(playerOneScore) points.")
        }

func playerTwoStats() {
    let playerTwoScore = (numberFiveScore) + (numberOneScore) + (numberOneScore)
    print ("Player two has scored \(playerTwoScore) points.")
        }

func showStats() {
    print(playerOneStats())
    print(playerTwoStats())
        }

showStats()

我的控制台显示了这个:

Player one has scored 60 points.
()
Player two has scored 70 points.
()

我的问题是,为什么在每个玩家得分结束时在控制台上打印那些额外的括号?

3 个答案:

答案 0 :(得分:0)

由于

Player one has scored 60 points.

Player two has scored 70 points.

由playerOneStats()和playerTwoStats()打印,而()由不必要的打印在showStats()中打印。你应该做

func showStats() {
    playerOneStats()
    playerTwoStats()
}

答案 1 :(得分:0)

您的showStats方法应该只是调用另外两种方法:

func showStats() {
    playerOneStats()
    playerTwoStats()
}

而不是那样,你将两个方法调用包装在print语句中。如果这两个方法返回一个值,那么该值将由print语句打印。但是,这些方法根本没有返回任何值。这就是你得到空括号的原因。

答案 2 :(得分:0)

我已经改变了它并想出来了!

// My Constants Dictionary!
let numberOneScore = 10
let numberTwoScore = 20
let numberThreeScore = 30
let numberFourScore = 40
let numberFiveScore = 50
let initialScore = 150
let missedDart = 0


// Game Stats
func playerOneStats() {
    var playerOneScore = initialScore - numberTwoScore
    playerOneScore = playerOneScore - numberThreeScore
    playerOneScore = playerOneScore - numberOneScore
    print ("Player one has a final score of \(playerOneScore) points.")
        }
func playerTwoStats() {
    var playerTwoScore = initialScore - numberFiveScore
    playerTwoScore = playerTwoScore - missedDart
    playerTwoScore = playerTwoScore - numberOneScore
    print("Player two has a final score of \(playerTwoScore) points.")
        }

playerOneStats()
playerTwoStats()

这是我在Stack上的第一篇文章,感谢所有人的快速回复! :D