Python - calculate die rolls and count doubles
The problem: I need to roll 3 dice. If two (or three) of the dice return
the same number, stop. If the 3 dice are all unique (e.g. 2, 4, and 6)
then roll again. Perform this either until doubles/triples are rolled, or
7 times, whichever comes first.
Note: I'm a python newb.
Here is what I have so far, but all this does is actually generate the 216
possible combinations:
import itertools
all_possible = list(itertools.permutations([1,2,3,4,5,6],3))
input = raw_input()
print all_possible
That generates this type of output:
[(1, 2, 3), (1, 2, 4), (1, 2, 5), (1, 2, 6), (1, 3, 2), (1, 3, 4), (1, 3,
5), (1, 3, 6), (1, 4, 2), (1, 4, 3), (1, 4, 5), (1, 4, 6), (1, 5, 2), (1,
5, 3), (1, 5, 4), (1, 5, 6), (1, 6, 2), (1, 6, 3), (1, 6, 4), (1, 6, 5),
(2, 1, 3), (2, 1, 4), (2, 1, 5), (2, 1, 6), (2, 3, 1), (2, 3, 4), (2, 3,
5), (2, 3, 6), (2, 4, 1), (2, 4, 3), (2, 4, 5), (2, 4, 6), (2, 5, 1), (2,
5, 3), (2, 5, 4), (2, 5, 6), (2, 6, 1), (2, 6, 3), (2, 6, 4), (2, 6, 5),
(3, 1, 2), (3, 1, 4), (3, 1, 5), (3, 1, 6), (3, 2, 1), (3, 2, 4), (3, 2,
5), (3, 2, 6), (3, 4, 1), (3, 4, 2), (3, 4, 5), (3, 4, 6), (3, 5, 1), (3,
5, 2), (3, 5, 4), (3, 5, 6), (3, 6, 1), (3, 6, 2), (3, 6, 4), (3, 6, 5),
(4, 1, 2), (4, 1, 3), (4, 1, 5), (4, 1, 6), (4, 2, 1), (4, 2, 3), (4, 2,
5), (4, 2, 6), (4, 3, 1), (4, 3, 2), (4, 3, 5), (4, 3, 6), (4, 5, 1), (4,
5, 2), (4, 5, 3), (4, 5, 6), (4, 6, 1), (4, 6, 2), (4, 6, 3), (4, 6, 5),
(5, 1, 2), (5, 1, 3), (5, 1, 4), (5, 1, 6), (5, 2, 1), (5, 2, 3), (5, 2,
4), (5, 2, 6), (5, 3, 1), (5, 3, 2), (5, 3, 4), (5, 3, 6), (5, 4, 1), (5,
4, 2), (5, 4, 3), (5, 4, 6), (5, 6, 1), (5, 6, 2), (5, 6, 3), (5, 6, 4),
(6, 1, 2), (6, 1, 3), (6, 1, 4), (6, 1, 5), (6, 2, 1), (6, 2, 3), (6, 2,
4), (6, 2, 5), (6, 3, 1), (6, 3, 2), (6, 3, 4), (6, 3, 5), (6, 4, 1), (6,
4, 2), (6, 4, 3), (6, 4, 5), (6, 5, 1), (6, 5, 2), (6, 5, 3), (6, 5, 4)]
Which isn't really good either, because it only generates NO doubles or
triples--everything, as far as I can see, is just unique combinations
only.
No comments:
Post a Comment