编写打印字符串所有排列的程序
def permute(s, answer):
if (len(s) == 0):
print(answer, end=" ")
return
for i in range(len(s)):
left_substr = s[0:i]
right_substr = s[i + 1:]
rest = left_substr + right_substr
permute(rest, answer + ch)
answer = ""
s = "ABC"
print("All possible strings are : ")
permute(s, answer)
我本以为能得到字符串的排列。
3条答案
按热度按时间ztyzrc3y1#
也许这就是你要找的
注意--你的程序不会运行,因为前面指出的语法错误。而且这将不使用 * permutations * lib方法。(假设这是某种 * 赋值)*; -)
55ooxyrt2#
既然你的问题不清楚。这也是办法之一:
链接到文档:itertools.permutations
如果您正在寻找这个:
nbysray53#
在您的代码中,您已经编写了:
对于字符串的排列,
left_substr
应该是s[i]
,rest
应该是s[0:i] + right_subst
。需要注意的是,s[0:i]
与s[i]
不同。第一个引用从索引0到索引i的列表切片,而s[i]
引用索引i处的元素。因此,您的最终代码应该是: