Python has a random module that provides different random methods to generate random numbers, random selection, etc. Even the random() method is the most popular method to generate a random number there are alternative methods to generate random values.
As a dynamic and rich programming language Python provides different random methods. Even 3rd party Python libraries and modules like NumPy etc provide random methods. Below we list some popular and useful random methods provided by Python by default.
Seed The Randomness Before Generating Random Values
Randomness is a magic work where it should be seeded with a random values. As digital world most of the things can be predicted and do not provide complete randomness we should use the random.seed(1) method to create a need seed for random methods after importing the random module.
import random random.seed(1)
The most popular method in random methods is the random() method. It simply generates a random number between 0 and 1. As expected this number is a floating-point number. The random() method does not require any parameter.
import random random.seed(1) random.random() //0.6074379962852603 random.random() //0.767157629147962
The randint() method is used to generate random numbers for the specified range. The syntax of the randint() method is like below. The range should be an integer and generated random is also integer between range too.
- START is the lowest number that can be generated as a random number.
- STOP is the highest number that can be generated as a random number.
We can generate random integers for the specified range like below.
import random random.seed(1) random.randint(1,10) //3 random.randint(1,10) //10 random.randint(1,10) //2 random.randint(1,10) //5
The randrange() method is another method which can be used to generate random integers. The difference is that the step can be specified where only specific numbers are generated randomly. For example we want to generate random numbers between 2 and 10 but we want them to be odd. So we can sepecify the step as 2 and the generated random number is selected from 2,4,6,8,10.
import random random.seed(1) random.randrange(0,10,2) //8 random.randint(6,15,3) //9
The uniform() method is used to generate random floating point numbers. The uniform() method accepts two parameters and uses following syntax.
- START is the start of the random floating-point range.
- END is the end of the random floating-point range.
In the following example we will generate floating point random numbers between 5 and 10.
import random random.seed(1) random.uniform(5,10) //9.237168684686164 random.uniform(0,10) //7.6377461897661405
The random module also provides the ability to shuffle randomly the given list. This is implemented with the shuffle() method. The shuffle() method randomly shuffles all items from the provided list. The list is provided as a parameter to the shuffle() method.
import random random.seed(1) list = [1,2,3,4,5] random.shuffle(list) print(list) //[1, 3, 2, 5, 4] random.shuffle(list) //[2, 5, 4, 1, 3]