# `random` – generate 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_URANDOM_EXTRA_FUNCS` configuration option is enabled.

## Functions for integers

random.getrandbits(n)

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

random.randint(a, b)

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

random.randrange(stop)
random.randrange(start, stop)
random.randrange(start, stop[, step])

  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.

## Functions for floats

random.random()

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

random.uniform(a, b)

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

## Other Functions

random.seed(n=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_URANDOM_SEED_INIT_FUNC` is enabled by the port, otherwise it raises `ValueError`.

random.choice(sequence)

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

Language and External Links

Language
  English
  中文

External links
  openmv.io
  forums.openmv.io
  github.com/openmv/openmv
  micropython.org
  forum.micropython.org
  github.com/micropython/micropython