<分区> 分区>
我是 python 初学者,目前我正在为 python 递归函数而苦苦挣扎:
x = 10
n = 3
def rec(x,n):
if n>0:
#global x2
x2 = x*n
return rec(x2,n-1)
else:
return x2
# function call:
fcall = rec(x,n)
print fcall
令我困惑的是 global x2 行。有了它,该函数工作正常,按预期返回 60,但没有它,我收到一条错误消息:
赋值前引用的局部变量“x2”
为什么会这样? 似乎一旦 n 达到 3 的值,并且 else 条件被执行,它不知道 x2 是什么是吗?
