Ich schreibe einen Code "Rekursionspermutation der Zeichenfolge" in Python Es stürzte nach einem Baum (?) Zyklus. Ich kann den Grund nicht finden. Bitte erläutern Sie es.Rekursion Permutation Zeichenfolge Absturz
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))
Nachdem er den Speicher gebildet [cb, bc] Es sollte für Schleife zum nächsten geht. aber es endet einfach.
Können Sie den Absturz veröffentlichen? Welcher Fehler wird ausgelöst und welche Zeile verursacht es? – Omada
Angenommen, dies ist kein Fehler beim Kopieren und Einfügen, müssen Sie den Einzug in Ihrem Code korrigieren. –
Können Sie auch 'itertools.permutations' verwenden? –