I'm looking for a faster way to do the following problem: I have an urn with many different colors of marbles in it. I pull one out and note the color. I do not replace it.
For the programming of this, I actually know how many are yellow, green, etc. So the way the code works right now is: import math ... randindex = math.randint(1,number_of_marbles) for color in colors: if randindex<=marble_count[color]: #we've found what color it will be break else: #try next color randindex -= marble_count[color] marble_count[color] -= 1 number_of_marbles -= 1 return color Unfortunately, I have hundreds of thousands of colors, so it spends a while on this loop. And I have to keep choosing marbles many times at different points of the code. Is there a quicker way to do this? Thanks, Joel _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor