JROppenheimer hat geschrieben:ob es wohl jemanden gibt, der mir folgenden code mal nähern bringen könnte?! vor allem kann ich mit dem "yield" nix anfangen.
es geht um die menge aller permutationen einer menge von Zahlen:
Zu yield siehe
http://docs.python.org/ref/yield.html
Die Funktion all_perms() ist ein Generator. Diese kannst Du z.B. so verwenden:
Code: Alles auswählen
for permutation in all_perms("abcde"):
print permutation
Die Aufrufe von yield sorgen dafür, das jede berechnete Permutation von "abcde" an den aufrufenden Code, also die for-Schleife, übergeben wird. Dort wird sie der Variablen permuation zugewiesen und kann im Schleifenrumpf verwendet werden. Nachdem der Rumpf der for-Schleife abgearbeitet wurde, macht die Funktion all_perms() da weiter, wo sie aufgehört hat. Da sie rekursiv ist, wird sie irgendwann alle Permutationen des übergebenen Objekts berechnet und mittels yield übergeben haben.
Edit (Leonidas): Code in Python-Tags gesetzt.