我有以下循环结构以及问题,由于UnboundLocalError
,无法在此代码内增加变量:
while True:
def function_1():
def function_2():
x += 1
print(x)
function_2()
function_1()
我现在的解决方案是:
x = 0
while True:
def function_1():
def function_2():
global x
x += 1
print(x)
function_2()
function_1()
是否有其他解决方案没有global
?
答案 0 :(得分:1)
使用可变值。
x = []
x.append(0)
while True:
def function_1():
def function_2():
x[0]= x[0]+1
print x[0]
function_2()
function_1()
答案 1 :(得分:1)
将x传递给所有函数。
x = 0
while True:
def function_1(x1):
def function_2(x2):
x2 += 1
print(x2)
return x2
return function_2(x1)
x = function_1(x)