我正在编写一个程序,偶然发现了一个问题。我有一个"计数器"计算计算机和玩家的胜利次数。问题是,我的函数嵌套在另一个函数中。如果没有UnboundLocalError
,我将如何实现这一目标?我在哪里放置global
语句或如何完成它?
def nestedfunction():
print("I am nested")
score += 1
print(score)
again = input("would you like to play again? > ")
if again == "yes":
function()
else:
exit()
def function():
print("I am not nested")
nestedfunction()
if __name__ == '__main__':
score = 0
function()
预期输出:
I am not nested.
I am nested.
1
would you like to play again? > yes
I am not nested.
I am nested.
2
如果要
使用非本地变量,请在其前面放置一个全局变量以访问全局变量
def nestedfunction(): 打印("我是嵌套的") 全局得分 分数 += 1 打印(乐谱) again = raw_input("你想再玩一次吗?>") 如果 str(再次) == "是": 函数() 还: 退出() def 函数(): 打印("我不是嵌套的") 嵌套函数() 如果__name__ == '__main__': 分数 = 0 函数()
最好将分数作为参数发送,而不是使用全局