我正在学习编程的基础知识,我似乎无法理解为什么我的控制台使用以下代码显示额外的括号:
// 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.
()
我的问题是,为什么在每个玩家得分结束时在控制台上打印那些额外的括号?
答案 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