by Guest » 20 Jan 2025, 18:41
Angenommen, ich habe eine Liste die_faces = [1, 2, 3, 4, 5, 6]. Ich möchte alle 36 möglichen Ergebnisse für das Würfeln mit zwei Würfeln generieren: (1, 1), (1, 2), (2, 1) usw. Wenn ich versuche, Permutationen zu verwenden< /code> aus der itertools-Standardbibliothek:
Code: Select all
>>> import itertools
>>> die_faces = [1, 2, 3, 4, 5, 6]
>>> list(itertools.permutations(die_faces, 2))
[(1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (2, 1), (2, 3), (2, 4), (2, 5), (2, 6), (3, 1), (3, 2), (3, 4), (3, 5), (3, 6), (4, 1), (4, 2), (4, 3), (4, 5), (4, 6), (5, 1), (5, 2), (5, 3), (5, 4), (5, 6), (6, 1), (6, 2), (6, 3), (6, 4), (6, 5)]
Es gibt nur 30 Ergebnisse, es fehlen diejenigen, bei denen auf beiden Würfeln die gleiche Zahl erscheint. Es scheint, dass es nur Permutationen ohne Wiederholungen erzeugt. Wie kann ich das beheben?
Angenommen, ich habe eine Liste die_faces = [1, 2, 3, 4, 5, 6]. Ich möchte alle 36 möglichen Ergebnisse für das Würfeln mit zwei Würfeln generieren: (1, 1), (1, 2), (2, 1) usw. Wenn ich versuche, Permutationen zu verwenden< /code> aus der itertools-Standardbibliothek:
[code]>>> import itertools
>>> die_faces = [1, 2, 3, 4, 5, 6]
>>> list(itertools.permutations(die_faces, 2))
[(1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (2, 1), (2, 3), (2, 4), (2, 5), (2, 6), (3, 1), (3, 2), (3, 4), (3, 5), (3, 6), (4, 1), (4, 2), (4, 3), (4, 5), (4, 6), (5, 1), (5, 2), (5, 3), (5, 4), (5, 6), (6, 1), (6, 2), (6, 3), (6, 4), (6, 5)]
[/code]
Es gibt nur 30 Ergebnisse, es fehlen diejenigen, bei denen auf beiden Würfeln die gleiche Zahl erscheint. Es scheint, dass es nur Permutationen ohne Wiederholungen erzeugt. Wie kann ich das beheben?