【发布时间】:2013-12-26 23:36:10
【问题描述】:
我是 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,但没有它我收到一条错误消息:
Local variable 'x2' referenced before assignment
为什么会这样?
好像一旦n 达到3 的值,并且else 条件被执行,它不知道x2 是什么?
【问题讨论】:
-
可以在这里找到答案:UnboundLocalError in Python
标签: python function variables recursion global