Python Random Number Generator

Write a Python program to generate a random number (float) between 0 and n. To work with the following functions, we have to import random module.

Remember, the outputs shown below may be different from what you get. Because these python number functions generate random numbers every time you call.

Python random number between 0 and 1

The random() function generates a number between 0 and 1, and the data type will be float. So the below python number generator example returns a random floating point numbers from 0 to 1.

import random

rnum = random.random()

print(rnum)
0.9625965525945374

Python random integer in a range

The randint() function takes two arguments. First argument is the start value, second argument is the stop value. Here, the start is 0 and the stop is n.

If you want to generate number between a start value and some other value that is not a stop, then use the below code.  For instance, the below code returns the number between 10 and 100.

import random as rnd

rnum = rnd.randint(10, 100)

print(rnum)
70

The randrange() function is really helpful when you need to pick from a range of integers. If you pass in a step value, it will only pick a value from the set of integers by skipping over that many numbers. In the last statement, we pass in an integer after the step val.

import random as rd

rnum1 = rd.randrange(10)
print(rnum1)

rnum2 = rd.randrange(5, 95)
print(rnum2)

rnum3 = rd.randrange(10, 200, 2)
print(rnum3)
2
61
186

If we use the above functions with the combination of for loop, it is beneficial to test or simulate with fake data. By default, the range function skips one number at each step. Thus, we can see that the range doesn’t require a step argument. If you want to skip other.

Because, this tells the for loop to generate an integer for each iteration. The below generates the numbers between 100 and 200.

We also added an extra print statement to print the numbers generated at each for loop iteration. By this python random number generator example, you can understand it better.

import random as rd

rndList = []

for i in range(1, 11):
    rnum = rd.randint(10, 100)
    rndList.append(rnum)
    print(rnum)

print(rndList)
16
23
72
51
63
78
39
47
80
46
[16, 23, 72, 51, 63, 78, 39, 47, 80, 46]

The following two examples, we haven’t used the import package line. In order to text the second and third example, add the import line from the above.

Within the second example, we used the Python randrange function along with for loop.

rndList = []

for i in range(0, 8):
    rnum = rd.randrange(5, 95)
    rndList.append(rnum)
    print(rnum)

print(rndList)
70
62
58
53
44
60
79
73
[70, 62, 58, 53, 44, 60, 79, 73]

In this third example, we used it within the for loop to print five floating point numbers between 0 and 1.

rndList = []

for i in range(1, 11):
    rnum = rd.randint(10, 100)
    rndList.append(rnum)
    print(i, " = ", rnum)

print(rndList)
1 =  46
2 =  28
3 =  95
4 =  53
5 =  55
6 =  68
7 =  70
8 =  94
9 =  65
10 =  95
[46, 28, 95, 53, 55, 68, 70, 94, 65, 95]

Python random number between 1 and 10

The Python random module includes a sample() that allows you to select one or more elements from a list or a tuple. You can use the choice function to select one element from a sequence.  To use this, pass in a sequence, along with a sample size (how many elements to sample).

It will return a section of elements from the sequence. For example, the below program returns eight numbers between 1 and 10.

import random as rnd

rndList = rnd.sample(range(1, 10), 8)

print(rndList)
[2, 4, 1, 5, 7, 8, 6, 3]

Here, we allow users to enter the start and stop values and generates the number between those values using different functions. Here, the code might be slightly different from the image because we removed the extra text in it to keep the code simple.

import random as rd

s = int(input("Please enter the Starting Value = "))
e = int(input("Please enter the Ending Value   = "))

rnum1 = rd.randint(s, e)
print("using randint   = ", rnum1)

rnum2 = rd.randrange(s, e)
print("using randrange = ", rnum2)

rndList = rd.sample(range(s, e), 7)
print("List using sample    = ", rndList)

rndList1 = []
rndList2 = []

for i in range(0, 7):
    rnum3 = rd.randint(s, e)
    rndList1.append(rnum3)
    rnum4 = rd.randrange(s, e)
    rndList2.append(rnum4)

print("List using randint   = ", rndList1)
print("List using randrange = ", rndList2)
Python Random Number Generator 1