我在学校学过编码。上学期学了Python,不太适应,但我想学。这学期学习Swift是有意义的,所以我一直在尝试用我在Swift中学到的知识来理解Python。到目前为止,这个方法对我帮助很大
我的一个快速任务是制作一个在飞镖游戏中得分的简单程序。具体如下:
//Swift example
var myTotalScore = 501
var roundDartPoints = 0
var hisTotalScore = 501
roundDartPoints += 6
roundDartPoints += 8
roundDartPoints += 9
var hisDarts = 17+19+32
func resetRoundScore() {
roundDartPoints = 0
hisDarts = 0
}
func addAllToTotal() {
myTotalScore -= roundDartPoints
hisTotalScore -= hisDarts
}
addAllToTotal()
print("You don't seem to be any good at this. You're only at \(myTotalScore) points. I'm already at \(hisTotalScore).")
resetRoundScore()
roundDartPoints += 9
roundDartPoints += 8
roundDartPoints += 12
hisDarts = 43+29+18
addAllToTotal()
print("Ha! It's almost like you're this bad on purpose. You'll lose for sure now. You're at \(myTotalScore) points and I'm at \(hisTotalScore).")
resetRoundScore()
roundDartPoints += 60
roundDartPoints += 60
roundDartPoints += 60
hisDarts = 22+30+3
addAllToTotal()
print("Oh. I get it now: you were going easy on me. \(myTotalScore) to \(hisTotalScore). Good game!")
我尝试在Python中执行相同的操作,但是无法创建一个函数来将分数添加到总数中并重置省道计数。我使用了def函数。这是行不通的,因为在这个结构中定义的东西在它之外似乎是不可用的
所以,我在Python 3中复制了这个赋值,我知道的最好的方法是:
#python example
myTotalScore = 501
roundDartPoints = 0
hisTotalScore = 501
roundDartPoints += 6
roundDartPoints += 8
roundDartPoints += 9
hisDarts = 17+19+32
myTotalScore -= roundDartPoints
hisTotalScore -= hisDarts
print(f"You don't seem to be any good at this. You're only at {myTotalScore} points. I'm already at {hisTotalScore}.\n")
roundDartPoints = 0
roundDartPoints += 9
roundDartPoints += 8
roundDartPoints += 12
hisDarts = 43+29+18
myTotalScore -= roundDartPoints
hisTotalScore -= hisDarts
print(f"Ha! It's almost like you're this bad on purpose. You'll lose for sure now. You're at {myTotalScore} points and I'm at {hisTotalScore}.\n")
roundDartPoints = 0
roundDartPoints += 60
roundDartPoints += 60
roundDartPoints += 60
hisDarts = 22+30+3
myTotalScore -= roundDartPoints
hisTotalScore -= hisDarts
print(f"Oh. I get it now: you were going easy on me. {myTotalScore} to {hisTotalScore}. Good game!")
编辑:对不起,我刚刚意识到我发这个太早了
所以我的问题是:我能做些什么来简化它吗?如果我能在Python中定义函数并像在Swift中一样使用它们,我就不会有问题了,但是由于这个原因,我不得不重复同样的代码行
python函数要么显式地说它使用了
global
变量,要么就是return
值例如,对于globals:
对于返回:
相关问题 更多 >
编程相关推荐