5.9 whrandom -- Pseudo-random number generator

Deprecated since release 2.1. Use random instead.

Note: This module was an implementation detail of the random module in releases of Python prior to 2.1. It is no longer used. Please do not use this module directly; use random instead.

This module implements a Wichmann-Hill pseudo-random number generator class that is also named whrandom. Instances of the whrandom class conform to the Random Number Generator interface described in section . They also offer the following method, specific to the Wichmann-Hill algorithm:

 seed( [x, y, z])
Initializes the random number generator from the integers x, y and z. When the module is first imported, the random number is initialized using values derived from the current time. If x, y, and z are either omitted or 0, the seed will be computed from the current system time. If one or two of the parameters are 0, but not all three, the zero values are replaced by ones. This causes some apparently different seeds to be equal, with the corresponding result on the pseudo-random series produced by the generator.

 choice( seq)
Chooses a random element from the non-empty sequence seq and returns it.

 randint( a, b)
Returns a random integer N such that a<=N<=b.

 random( )
Returns the next random floating point number in the range [0.0 ... 1.0).

 seed( x, y, z)
Initializes the random number generator from the integers x, y and z. When the module is first imported, the random number is initialized using values derived from the current time.

 uniform( a, b)
Returns a random real number N such that a<=N<b.

When imported, the whrandom module also creates an instance of the whrandom class, and makes the methods of that instance available at the module level. Therefore one can write either N = whrandom.random() or:

generator = whrandom.whrandom()
N = generator.random()

Note that using separate instances of the generator leads to independent sequences of pseudo-random numbers.