Ich möchte Permutationen der Zahlen (1,2), (1,2,3), … rekursiv ausgeben.
Über YouTube (https://www.youtube.com/watch?v=XQ46IEOxaGc) habe ich eine Lösung nachprogrammiert:
Code: Alles auswählen
def permutationen(liste):
if len(liste) <= 1:
return [liste]
else:
return [[liste[i]] + P for i in range(len(liste)) for P in permutationen(liste[:i] + liste[i+1:])]
print(permutationen([1,2]))
Danach wollte ich es für Anfänger etwas verständlicher programmieren:
Code: Alles auswählen
def permutationen1(liste):
if len(liste) <= 1:
return [liste]
else:
for i in range(len(liste)):
for P in permutationen1(liste[:i] + liste[i+1:]):
return [[liste[i]] + P]
print(permutationen1([1,2]))
Ich sehe leider den Fehler nicht, bzw. den Unterschied zur ersten Version.
Vielen Dank im Voraus!