我碰到了一个小的递归代码。我已经打印输出,它的打印效果很好,但是当我尝试将计数器实际计入我的答案时,它会给我提取错误。python scooping和递归
total = 0
def foo(me, t):
if t<0:
return
if t==0:
total = total+1
return
for i in range(1, me+1):
total = total+1
return foo(i, t-i)
它说,分配前引用了局部变量,那么,我想是指在第一线总....它不是全局变量,我曾尝试使用全局很好,但徒劳无功。
这是纯粹的舀问题,任何想法?
这个问题你的意思是范围界定? – Svante 2009-08-17 07:50:16
顺便说一句,你的“for”循环只会在每个递归中执行一次,而'i'将始终为1. – Svante 2009-08-17 07:54:43