Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.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中将嵌套for循环转换为递归函数_Python - Fatal编程技术网

在Python中将嵌套for循环转换为递归函数

在Python中将嵌套for循环转换为递归函数,python,Python,我试图创建一个代码来显示字符串的所有可能排列,而不使用itertools,因此我想出了一个基本想法,如何使用这些丑陋的嵌套for循环来实现这一点,但现在我想将其转换为长度为“n”的任何字符串的函数,我对递归有点陌生,所以我需要一些帮助来解决这个问题 wrdinp=input(“输入一个单词:”) d=[] #适用于长度为4的字符串 对于wrdinp中的a: 对于wrdinp中的b: 如果b=a: 对于wrdinp中的c: 如果c=a和c=b: 对于wrdinp中的d: 如果是d=a和d=b和d=

我试图创建一个代码来显示字符串的所有可能排列,而不使用itertools,因此我想出了一个基本想法,如何使用这些丑陋的嵌套for循环来实现这一点,但现在我想将其转换为长度为“n”的任何字符串的函数,我对递归有点陌生,所以我需要一些帮助来解决这个问题

wrdinp=input(“输入一个单词:”)
d=[]
#适用于长度为4的字符串
对于wrdinp中的a:
对于wrdinp中的b:
如果b=a:
对于wrdinp中的c:
如果c=a和c=b:
对于wrdinp中的d:
如果是d=a和d=b和d=c:
d、 附加(a+b+c+d)
打印(“排列:,d)

我需要一个函数,它接收任意长度的字符串并返回一个包含字符串各种排列的列表。

这是一种递归方法:

def permutations(wrdinp):
    if len(wrdinp) <= 1:
       return [wrdinp]
    else:
       d = []
       for e in permutations(wrdinp[:-1]):
           for i in range(len(e)+1):
               d.append(e[:i] + wrdinp[-1] + e[i:])
       return d
wrdinp=input("Enter a word: ")
result = permutations(wrdinp)
print(result)
def置换(wrdinp):

如果len(wrdinp)非常感谢你的话,那会有帮助的!我在Stack Overflow的第一天,已经爱上了它,因为像你这样的人愿意帮助别人:)@PraneetR真的很高兴它帮助了你。你也可以通过检查这个答案作为最好的答案来偿还,当它可用时,它应该在一段时间后可用。希望您保留请求:)您可以通过谷歌轻松找到解决方案:。只需将字符串转换为列表即可应用算法。