Я пишу код «рекурсивная перестановка строки» в Python Он разбился после одного цикла дерева (?). Я не могу найти причину. объясните пожалуйста.рекурсия перестановка строки сбой
memory = []
memory2 = []
def permutation(s):
if len(s)==1:
return s
for i,char in enumerate(s):
returns= permutation(s[:i] + s[i+1:])
print(returns)
if returns == None:
for j in memory:
memory2.append(s[i] + j)
memory = []
memory.append(s[i] + returns)
print(memory)
s = "ABC"
print(permutation(s))
После того, как формируется память [CB, BC] он должен идет к следующему за цикл. , но это просто конец.
Можете ли вы разместить сообщение о том, что произошло? Какая ошибка возникает, и какая строка вызывает ее? – Omada
Предполагая, что это не ошибка копирования «n paste», вам необходимо исправить отступ в коде. –
Также вы можете использовать 'itertools.permutations'? –