# Random Number

Dan Bishop danb_83 at yahoo.com
Sun Mar 28 01:55:39 CET 2004

```talktojamesblair at yahoo.com (james blair) wrote in message news:<a4648036.0403271156.787706e5 at posting.google.com>...
> Hi
> I am generating a random number using
> random.randint(1,10000000000)
> Whats the possibility that the numbers generated will be same when
> generated by 100 users at the same time?

The probability that all 100 numbers will be the same is 1e-1000.  But
you probably wanted the probability that *any* two numbers will be the
same, which is approximately 4.95e-07, or about 1 in 2 million.

> Whats the best method to generate random numbers so that they are most
> likely unique??

If the probability of collisions is low, use:

def UniqueRandom(a, b):
"Generator for random integers between a and b, inclusive."
while True:
randomNumber = random.randint(a, b)
yield randomNumber

If the probability of collisions is high, use:

def UniqueRandom(a, b):
"Generator for random numbers between a and b, inclusive."
sampleSpace = range(a, b + 1)
random.shuffle(sampleSpace)
return iter(sampleSpace)

```