Pseudo-random number generators (PRNG).
Note that all of these "basic" functions mutate a global random state.
Initialize the generator, using the argument as a seed. The same seed will always yield the same sequence of numbers.
Initialize the generator with a more-or-less random seed chosen in a system-dependent way.
Return 30 random bits in a nonnegative integer.
Random.int bound returns a random integer between 0 (inclusive) and
bound must be greater than 0 and less than 230.
Random.float bound returns a random floating-point number between 0 (inclusive) and
bound (exclusive). If
bound is negative, the result is negative or zero. If
bound is 0, the result is 0.
Random.bool () returns
false with probability 0.5 each.
The functions from module
State manipulate the current state
of the random generator explicitely.
This allows using one or several deterministic PRNGs,
even in a multi-threaded program, without interference from
other parts of the program.
Create a new state and initialize it with a system-dependent low-entropy seed.
These functions are the same as the basic functions, except that they use (and update) the given PRNG state instead of the default one.
Random.get_state makes a copy of the default state, which is almost
certainly not what you want.
State.default, which is the actual default state, is
probably what you want.