Implementaion of random.shuffle
George Sakkis
george.sakkis at gmail.com
Wed Jul 18 15:32:35 EDT 2007
On Jul 16, 10:51 pm, Steven D'Aprano
<ste... at REMOVE.THIS.cybersource.com.au> wrote:
> On Mon, 16 Jul 2007 16:55:53 +0200, Hrvoje Niksic wrote:
> > 2**19937 being a really huge number, it's impossible to exhaust the
> > Mersenne twister by running it in sequence.
>
> "Impossible"?
>
> Surely this will do it:
>
> for n in xrange(2**19937 + 1):
> random.random()
>
> Admittedly, if each call to random() took a picosecond, it would still
> take 1e5982 centuries to run through the lot. You might want to go make a
> coffee or something while you're waiting...
Wow, can you make a coffee in.. 57ms ?
$ time python -c "for n in xrange(2**19937 + 1): random.random()"
Traceback (most recent call last):
File "<string>", line 1, in <module>
OverflowError: long int too large to convert to int
real 0m0.057s
user 0m0.050s
sys 0m0.000s
Time-flies-like-an-arrow-ly y'rs ;-)
George
More information about the Python-list
mailing list