Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python +=似乎没有使用递归_Python_Recursion - Fatal编程技术网

Python +=似乎没有使用递归

Python +=似乎没有使用递归,python,recursion,Python,Recursion,所以我忙着上学,这不是实际的作业,我需要在递归的帮助下,把这个测试函数的输入放到另一个变量中 我已经有了4年的PHP经验,并且刚刚学习了Python,但是如果我返回name,我就不会得到这个函数的输出 def test(string): name = '' if len(string) == 0: return name else: name += string[0] test(string[1:]) test('name') 在

所以我忙着上学,这不是实际的作业,我需要在递归的帮助下,把这个测试函数的输入放到另一个变量中

我已经有了4年的PHP经验,并且刚刚学习了Python,但是如果我返回name,我就不会得到这个函数的输出

def test(string): 
   name = ''
   if len(string) == 0:
       return name
   else:
       name += string[0]
       test(string[1:])

test('name')

在每个递归名称初始化为空字符串时,将其作为参数传递

def test(string, name = ''): 
   if len(string) == 0:
       return name
   return test(string[1:], name + string[0])

test('name')

每个递归调用将初始化一个新的空名称。这个函数只能返回一个空字符串…PHP的行为与此相同。预期的返回值是多少?您也希望从else分支返回。因此,我需要添加另一个参数,然后它就可以工作了?@Ironkey全局变量是个坏主意。递归函数使用的全局变量更糟糕。