In this tutorial, you will see how we can generate random number in Python.

Random number means we can’t predict that which number will be returned or printed. Let’s see some different ways in python to generate random number.

## Ways to Generate Random Number in Python

### 1. using random.randint()

1 2 |
from random import randint print(randint(1,100)) |

We can not predict the output here. The output will be different every time we execute this program. But we can predict that it will be a number from 1 to 100.

Let’s say we want a random number but it should be multiple of 5.

1 2 |
from random import randint print(randint(1,20)*5) |

It will print a random number from 0 to 100, but it will be a multiple of 5. In above program random.randint(1,20) will generate a number from 1 to 20, after that we’re multiplying that generated number with 5. So that the minimum number that can be printed is 1*5 = 5 and maximum can be 20*5 = 100.** **

### 2. using random.randrange()

1 2 |
from random import randrange print(randrange(1,10)) |

The output will be same as randint() method. But the only difference is randint(1,100) generates a number from 1 to 100 , but randrange(1, 100) will generate from 1 to 99. On other hand we can pass single argument in randrange() method where it is necessary to pass two arguments in randint() method.

1 2 |
from random import randrange print(randrange(100)) |

It will print any number from 0 to 99.

### 3. using random.uniform()

1 2 |
from random import uniform print(uniform(1,10)) |

Output will be a random floating point value between 1 and 10, i.e., 6.48754287679. So if you want a random number that should be a floating type value then uniform() method could be best choice.

But still you can get the integer number by parsing the generated value by uniform method into int as mentioned in program below.

1 2 |
from random import uniform print(int(uniform(1,10))) |

Output will be a random integer value.

### 4. using random.choice()

If we want to choose a random number from a set of given numbers like 23, 43, 34, 12, 35, 12 then choice() method will be the best option here.

1 2 3 |
from random import choice numbers = [23,43,34,12,35,12] print(choice(numbers)) |

Output will be a number from the given list of numbers.

### 5. using secrets.randbelow()

The secrets module is new in Python 3.6. This is better than the random module for cryptography or security issues. Below program randomly print an integer in the inclusive range 0 to 9 is given below.

1 2 |
from secrets import randbelow print(randbelow(10)) |

### 6. using secrets.choice()

Like random.choice(), there is another method available in secrets module which can be used to get a random number from a given list.

1 2 3 |
from secrets import choice numbers = [12,323,44,34,54] print(choice(numbers)) |

Output will be any one number from given list numbers.

Comment below if you’ve any question related to python random number generator.

SaiGood explanation. Easily understandable.

Bro can u also send the python basics.

Because I am the beginner.

Neeraj MishraYou can learn basics here https://www.thecrazyprogrammer.com/learn-python-programming

AyushVery useful article. never thought there can be such ways to get random numbers. i had always used randint().

Bro can you provide article on how to convert text to speech in python? please