We're back after a server migration that caused effbot.org to fall over a bit harder than expected. Expect some glitches.

How do I generate random numbers in Python?

The standard random module implements a random number generator. Usage is simple:

import random
print random.random()

This prints a random floating point number in the range [0, 1) (that is, between 0 and 1, including 0.0 but always smaller than 1.0).

There are also many other specialized generators in this module, such as:

  • randrange(a, b) chooses an integer in the range [a, b).
  • uniform(a, b) chooses a floating point number in the range [a, b).
  • normalvariate(mean, sdev) samples the normal (Gaussian) distribution.

Some higher-level functions operate on sequences directly, such as:

  • choice(S) chooses a random element from a given sequence (the sequence must have a known length).
  • shuffle(L) shuffles a list in-place, i.e. permutes it randomly

There’s also a Random class you can instantiate to create independent multiple random number generators.

CATEGORY: library