This is the documentation for the latest development branch of MicroPython and may refer to features that are not available in released versions.

If you are looking for the documentation for a specific release, use the drop-down menu on the left and select the desired version.

random – Random numbers.

Random numbers.

This module implements a pseudo-random number generator (PRNG).

This module implements a subset of the corresponding CPython module, as described below. For more information, refer to the original CPython documentation: random .

Note

The following notation is used for intervals:

  • () are open interval brackets and do not include their endpoints. For example, (0, 1) means greater than 0 and less than 1. In set notation: (0, 1) = {x | 0 < x < 1}.

  • [] are closed interval brackets which include all their limit points. For example, [0, 1] means greater than or equal to 0 and less than or equal to 1. In set notation: [0, 1] = {x | 0 <= x <= 1}.

Note

The randrange(), randint() and choice() functions are only available if the MICROPY_PY_RANDOM_EXTRA_FUNCS configuration option is enabled.

Functions

choice(→ _typeshed.Incomplete)

Chooses and returns one item at random from sequence (tuple, list or

getrandbits(→ int)

Return an integer with n random bits (0 <= n <= 32).

randint(→ int)

Return a random integer in the range [a, b].

random(→ int)

Return a random floating point number in the range [0.0, 1.0).

randrange(→ int)

The first form returns a random integer from the range [0, stop).

seed(→ None)

Initialise the random number generator module with the seed n which should

uniform(→ int)

Return a random floating point number N such that a <= N <= b for a <= b,

Module Contents

random.choice(sequence) Incomplete

Chooses and returns one item at random from sequence (tuple, list or any object that supports the subscript operation).

random.getrandbits(n) int

Return an integer with n random bits (0 <= n <= 32).

random.randint(a, b) int

Return a random integer in the range [a, b].

random.random() int

Return a random floating point number in the range [0.0, 1.0).

random.randrange(start, stop, step: Any | None = None) int

The first form returns a random integer from the range [0, stop). The second form returns a random integer from the range [start, stop). The third form returns a random integer from the range [start, stop) in steps of step. For instance, calling randrange(1, 10, 2) will return odd numbers between 1 and 9 inclusive.

random.seed(n=None) None

Initialise the random number generator module with the seed n which should be an integer. When no argument (or None) is passed in it will (if supported by the port) initialise the PRNG with a true random number (usually a hardware generated random number).

The None case only works if MICROPY_PY_RANDOM_SEED_INIT_FUNC is enabled by the port, otherwise it raises ValueError.

random.uniform(a, b) int

Return a random floating point number N such that a <= N <= b for a <= b, and b <= N <= a for b < a.