# Python notes (21): random number module

2022-01-30 16:49:59

Little knowledge , Great challenge ！ This article is participating in “ A programmer must have a little knowledge ” Creative activities .

Hello everyone , I am a A bowl week , One doesn't want to be drunk ( Internal volume ) The front end of the . If you are lucky enough to get your favor , I'm very lucky ~

This module implements pseudo-random number generator of various distributions . For integers , There is a unified choice from the scope . For the sequence , There is a uniform selection of random elements 、 A function used to generate a random arrangement of lists 、 And functions for random sampling without replacement .

## Generate random number

### `random.random()` Method

Returns a randomly generated real number , It's in [0,1) Within the scope of .

Grammatical structure

``````import random  #  Import  random  modular

random.random()
Copy code ``````

### `random.randint` Method

Grammar format

``````random.randint(a,b)
Copy code ``````

Function returns a number N ,N by a To b Number between （a <= N <= b）, contain a and b

### `random.uniform` Method

Grammar format

``````random.uniform(a,b)
Copy code ``````

Function returns a random floating-point number N , When `a <= b` when `a <= N <= b` , When `b < a` when `b <= N <= a` .

### `random.randrange` Method

Grammatical structure

``````random.randrange(start, stop[, step])
Copy code ``````
• start: Count from start Start . The default is 0 Start . for example randrange（5） Equivalent to range（0, 5）;
• stop: Count to stop end , But does not include stop. for example ：randrange（0, 5） yes [0, 1, 2, 3, 4] No, 5
• step： step , The default is 1. for example ：range（0, 5） Equivalent to randrange(0, 5, 1)

Returns a number in a random range

Equivalent to `choice(range(start, stop, step))`

Sample code

``````import random

random_value = random.random()
print(random_value)

randint_value = random.randint(1, 3)  #  Returns a random integer
print(randint_value)

uniform_value = random.uniform(1, 3)  #  Returns a random floating point number
print(uniform_value)

randrange_value = random.randrange(1, 100, 2)  # 1 To 100 In steps of 2（ We can only get 100 Think of an odd number ）
print(randrange_value)
Copy code ``````

The result of each run is different .

## A sequence of functions for

### `random.choice(seq)`

Returns a random element from a non empty sequence , If the sequence is empty , Throw an exception

Sample code

``````import random

value = random.choice(range(1, 100, 2))
#  This is equal to random.randrange(1, 100, 2)
print(value)
Copy code ``````

It seems that this method is necessary to shuffle cards

Generate a small case of verification code

``````import random
#  A small case of generating verification number
all_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
captcha = ''
for _ in range(4):
a = random.choice(all_chars)
captcha += a  #  Connection string
print(captcha)
Copy code ``````

### `random.shuffle()` Method

`shuffle(list)` Method randomly sorts all elements of the sequence

Sample code

``````import random
list1 = ["beautiful" , "cute", "beautiful", 'prefect', "beautiful", " Sweet ", 'lovely']
random.shuffle(list1)

print(list1)
Copy code ``````

### `random.sample()` Method

`random.sample(sequence, k)`, Randomly get a fragment of a specified length from a specified sequence .sample Function does not modify the original sequence . The slice length cannot exceed the original length , Otherwise, an exception will be thrown

Sample code

``````import random
list1 = ["beautiful", "cute", "beautiful", 'prefect', "beautiful", " Sweet ", 'lovely']
list2 = random.sample(list1, len(list1))
print(" Original list ：", list1)
print(" New list ：", list2)
Copy code ``````

This method can sort the original sequence without destroying the original sequence

copyright notice
author[A bowl week],Please bring the original link to reprint, thank you.
https://en.pythonmana.com/2022/01/202201301649573725.html