在Python中将嵌套for循环转换为递归函数
我试图创建一个代码来显示字符串的所有可能排列,而不使用itertools,因此我想出了一个基本想法,如何使用这些丑陋的嵌套for循环来实现这一点,但现在我想将其转换为长度为“n”的任何字符串的函数,我对递归有点陌生,所以我需要一些帮助来解决这个问题在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=
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真的很高兴它帮助了你。你也可以通过检查这个答案作为最好的答案来偿还,当它可用时,它应该在一段时间后可用。希望您保留请求:)您可以通过谷歌轻松找到解决方案:。只需将字符串转换为列表即可应用算法。