从字典的任意一个位置开始(start并非一定是aaa)
target = 'abc'
start = 'aaa'
def nextch(c):
if c in target:
i=target.index(c)
if i==len(target):
return target[0]
else:
return target[i+1]
def next_str(_cur):
if _cur:
new_str = _cur[:-1]
else:
return []
if _cur[-1] == target[-1]:
new_str = next_str(_cur[:-1])
new_str += target[0]
return new_str
else:
new_str += nextch(_cur[-1])
return new_str
cur = start
for i in range(len(target)**len(target)):
print cur
cur = next_str(cur)
aaa
aab
aac
aba
abb
abc
aca
acb
acc
baa
bab
bac
bba
bbb
bbc
bca
bcb
bcc
caa
cab
cac
cba
cbb
cbc
cca
ccb
ccc
下一步可以做的:写一个函数,输出字符串中字符的所有排序。(比如:abc acb bac bca cab cba)