## Documentation

See PY 3 documentation for random module in the standard library.

See Examples and Recipes in those docs.

## General

``````import random

random.random()
``````

Or

``````from random import random

random()
``````

## Floats

Random float: 0.0 <= x < 1.0

``````>>> random.random()
0.37444887175646646
``````

Random float: 2.5 <= x < 10.0

``````>>> random.uniform(2.5, 10.0)
3.1800146073117523
``````

Interval between arrivals averaging 5 seconds

``````>>> random.expovariate(1 / 5)
5.148957571865031
``````

## Integers

Integer from 0 to 9 inclusive:

``````>>> random.randrange(10)
7
``````

Even integer from 1 to 100 inclusive:

``````>>> random.randrange(1, 100)
26
``````

Or set the step such as for even numbers:

``````>>> random.randrange(1, 100, 2)
26
``````

## Selection

### choice function

Single random element from a sequence.

``````>>> random.choice(['win', 'lose', 'draw'])
'lose'

>>> random.choice('abcdef')
'f'
``````

### choices function

Similar to `choice` but accepts an optional count to return.

``````>>> random.choices(['win', 'lose', 'draw'])
['draw']

>>> random.choices(['win', 'lose', 'draw'], k=2)
['draw', 'lose']
``````
``````>>> random.choices('abcdef', k=10)
['e', 'c', 'a', 'e', 'e', 'd', 'e', 'a', 'c', 'b']
``````

### sample function

Four samples without replacement.

``````>>> random.sample([10, 20, 30, 40, 50], k=4)
[40, 10, 50, 30]
``````

## Shuffle

Shuffle a list.

``````>>> deck = 'ace two three four'.split()
>>> random.shuffle(deck)
>>> deck
['four', 'two', 'ace', 'three']
``````

## Strings

Generate random text.

See String Constants page for more info on the `string` module’s values.

Note use of `.choices` to get multiple values.

``````import random
import string

chars = string.ascii_lowercase

length = 20

''.join(random.choices(chars, k=length))
# 'sibuudijstpmozrmrfzp'
``````

Or use `.choice` for a more verbose and possibly inefficient way.

``````''.join(random.choice(letters) for _ in range(k))
# 'ohzeasftnbkvinijtkud'
``````

``````>>> chars = string.ascii_uppercase + string.digits