Permutationen berechnen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
sublist
User
Beiträge: 33
Registriert: Donnerstag 11. Dezember 2008, 16:04

Hi.

Ich habe folgenden Fall:
Auf eine Bank passen 2 Personen.
Ich habe 10 Frauen, 10 Männer und 5 Kinder.
Wie bekomme ich alle möglichen Sitzkombinationen ausgerechnet?
Hab jetzt mit "itertools.permutation" rumprobiert, komme aber nicht weiter.
Den Heap Algorythmus hab ich mir auch ohne Erfolg angeschaut.

Kann mir jemand helfen?

Danke
Grüße
Guido
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

itertools.permutations() ist genau das was du brauchst.

Code: Alles auswählen

frauen = [f'F{i}' for i in range(10)]
maenner = [f'M{i}' for i in range(10)]
kinder = [f'K{i}' for i in range(5)]

personen = frauen + maenner + kinder

for kombination in itertools.permutations(personen, 2):
    print(kombination)
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
sublist
User
Beiträge: 33
Registriert: Donnerstag 11. Dezember 2008, 16:04

Oh, doch so einfach.
Hatte das nicht gesehen die permutation auf zwei stellen zu limitieren

Danke! :)
Antworten