Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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_Python 3.x - Fatal编程技术网

Python 调用形成字符串的递归函数后返回一个结果列表

Python 调用形成字符串的递归函数后返回一个结果列表,python,python-3.x,Python,Python 3.x,调用递归函数时,表单字符串-如何返回字符串列表,而不是返回属于不同调用的单独字符串 例如: def printer_helper(str, pos, n, open, close): if (close == n): for i in str: print(i, end="") print() return else: if (open > close): str[pos] = '>' printer_hel

调用递归函数时,表单字符串-如何返回字符串列表,而不是返回属于不同调用的单独字符串

例如:

def printer_helper(str, pos, n, open, close):
  if (close == n):
    for i in str:
      print(i, end="")
    print()
    return
  else:
    if (open > close):
      str[pos] = '>'
      printer_helper(str, pos + 1, n, open, close + 1)
    if (open < n):
      str[pos] = '<'
      printer_helper(str, pos + 1, n, open + 1, close)


printer(['', '', '', '', '', ''],2)

def打印机辅助程序(str、pos、n、打开、关闭): 如果(关闭==n): 对于str中的i: 打印(i,end=“”) 打印() 返回 其他: 如果(打开>关闭): str[pos]='>' 打印机辅助程序(str、pos+1、n、打开、关闭+1) 如果(打开str[pos]=“为什么不返回字符串而不是打印它们?通过副作用而不是返回值工作的函数通常不是递归的自然候选函数。更一般地说——打印值而不是返回值的函数(除非它们是顶级I/O函数)几乎总是不如返回值的函数(调用方可以根据需要打印)有用。
尝试在第一个if之前启动列表(lst=[]),并添加lst.append(I)而不是print(I)但是我得到了单独的单个条目列表:[]
-你能在你的问题中包括这个版本吗?我现在只得到了一个结果,而不是以前得到的结果。我将尝试恢复代码并相应地更新问题。谢谢你的评论。