2. RANDOM MODULE
To use random functions import random.py module inside your python program
import random
Python has a built-in module that you can use to make random numbers.
random() randrange() randint()
uniform() shuffle() choice()
3. random()
This function generates a random float number between 0.0 and 1.0.It
include 0, but excluding 1).
Example: The random numbers generate by random like:
0.564388123456754
Every time we execute the random() it will generate different floating
number.
import random
print("Printing random number: ”,random.random())
----OUTPUT----
Printing random number: 0.07252177092679812
4. random()
This function generates a random float number between 0.0 and 1.0.It
include 0, but excluding 1).So now you know that it generates number
between 0.0 to 1.0 ( excluding 1).
But if you want the number generate by this random() function between 0
to 5. It means 0 is the lowest number and 4 point something is the highest
number.It is due to 0.0 *5 is 0.0 and 1.0 * 5 is 5.0(excluding 5) means 4.0
import random
k=random.random()* 5
print(“Random num:”,k)
--output---
Random num:0.6715376992415667
--output---
Random num:2.339768894331859
--output---
Random num:1.6150877389220542
It generate number from 0.0 to 4.000
5. random()
Now you know that it generate number from 0 to less than 5 if we execute
above line but in floating value.If we need the result in integer format than,
we need to use int() to convert floating value to integer.
k=random.random()* 5
import random
k=random.random()* 5
print(“Random num:”,int(k))
--output---
Random num: 1
--output---
Random num: 2
--output---
Random num: 4
--output---
Random num: 0
It include lowest number
that is by default 0 and
exclude the highest number
6. random()
Now if we want to generate numbers not from 0 but from 7 to 15 then?
k=random.random()* 15 + 7
After +(Plus) sign the value
is the lowest means 7 is the
lowest value
Before +(Plus) sign the value is
Highest means random()* 15 is
the highest value
So number should generate from 7 included and up to 14 (15 excluded)
But it will give some different output, that not match with the result
we need:
7. --output---
Random num: 12
k=random.random()* 15 + 7
import random
print(“Random num:”,int(k))
--output---
Random num: 7
--output---
Random num: 11
--output---
Random num: 21
--output---
Random num: 15
--output---
Random num: 21
--output---
Random num: 19
So why numbers not generated up to 15 it is due
to the method that you need to learn.So if we
solve the line random()*15 + 7 means numbers
highest number is 14 means from 0 to 14 but
when we add 7, we get number from 7 to 21.
8. --output---
Random num: 12
k=random.random()* 9 + 7
import random
print(“Random num:”,int(k))
--output---
Random num: 15
--output---
Random num: 7
--output---
Random num: 14
Question is how we will get the result, we need that is :
From 7 to 15
Lowest number is 7 and how we get highest number
will be =HIGH – LOW + 1 =15-7=8+1=9
So now lowest no. is 7 and high
no. is 9+7-1=15,random no.
from 7 to 15
9. k=random.random()* 111 + 75
import random
print(“Random num:”,int(k))
Question : To generate the number from 75 to 185
Lowest number is 75 and how we get highest number will be =HIGH – LOW
=185-75 + 1=110+1=111
Question : To generate the number from 99 to 999
Lowest number is 75 and how we get highest number
will be =HIGH – LOW + 1=999-99 + 1=901
k=random.random()* 901 + 99
--output---
Random num: 90
print(“Random num:”,int(k))
--output---
Random num: 158
10. randrange() It returns a random number between the given range
Syntax random.randrange(start, stop, step)
Parameter Values
Parameter Description
start
stop
step
Optional. An integer specifying at which position to start.
Default 0
Required. An integer specifying at which position to end.
Optional. An integer specifying the incrementation.
Default 1
11. Question : To generate the random number between 0 and 39 using random.range()
import random
# Random number between 0 and 39
num1 = random.randrange(40)
print("Random integer: ", num1)
----Output------
Random integer: 7
import random
# Random number between 20 and 39
num2 = random.randrange(20, 40)
print("Random integer: ", num2)
Question : To generate the random number between 20 and 39 using random.range()
----Output------
Random integer: 34
12. import random
# Random number between 25 and 249 divisible by 5
num3 = random.randrange(25, 250, 5)
print("Random integer: ",num3)
----Output-------
Random integer: 170
Question : To generate the random number between 25 and 249 divisible by 5
using random.range()
import random
num3 = random.randrange(2, 40, 2)
print("Random integer: ", num3)
----Output-------
Random integer: 26
Question : To generate the random number between 2 and 40 divisible by 2
using random.range()
13. What if you want to generate a random number of length n? For example, you want
to generate a random number of length 3 means (100,999)
import random
num1 = random.randrange(100, 1000)
print("First random number of length 3 is", num1)
----Output-------
Random integer: 160
Generate a random negative integer
Let’s see how to generate a random negative integer between -15 to -5.
import random
k = random.randrange(-15, -5)
print("Random no:“,k)
----Output-------
Random no:
14. Generate a random integer number multiple of n
In this example, we will generate a random number between 3 to 66, which is a
multiple of 3 like 3, 6, 39, 66.
Generate random positive or negative integer from -10 to 10
import random
num = random.randrange(-10, 10)
print(num)
import random
num = random.randrange(3,66,3)
print(num)
15. random.randint()
Syntax:
random.randint(start, stop)
This function returns a random integer within a range. This function takes two
parameters. Both are mandatory. It will generate a random number from the
inclusive range.
import random
print("Random integer from 0 to 9")
k = random.randint(0, 9)
print("Random no: ", k)
----Output-------
Random no:5
16. Random integer from 10 to 100 using random.randint()
num2 = random.randint(10, 100)
print("Random integer: ", num2)
Random integer: 98 Random integer: 15
Random integer 0,1 using random.randint()
num2 = random.randint(0, 1)
print("Random integer: ", num2)
Random integer: 1 Random integer: 0
17. Program to create random numbers list of 10 numbers from
10 to 100
import random
no = []
for i in range(0, 10):
no.append(random.randint(10, 100))
print("Print list of 10 random numbers")
print(no)
Print list of 10 random numbers
[36, 80, 57, 98, 55, 20, 38, 64, 87, 39]
i=0
i=1
i=2
i=3
i=4
i=5
i=6
i=7
i=8
i=9
no.append(random.randint(10,100))
no.append(random.randint(10,100))
no.append(random.randint(10,100))
no.append(random.randint(10,100))
no.append(random.randint(10,100))
no.append(random.randint(10,100))
no.append(random.randint(10,100))
no.append(random.randint(10,100))
no.append(random.randint(10,100))
no.append(random.randint(10,100))
[ ]
36 ,80,57,98,55,20,38,64,87,39
18. What possible outputs(s) of the following code? Also specify the maximum and minimum
values that can be assigned to variable NUM
import random
NAV=[“LEFT”,”FRONT”,RIGHT”,”BACK”];
NUM=random.randint(1,3)
NAVG=“”
for C in range(NUM,1,-1):
NAVG=NAVG+NAV[C]
print (NAVG)
(i) BACKRIGHT (ii) BACKRIGHTBACK
(iv) BACK
(iii) LEFTFRONTRIGHT
0 1 2 3 4
0 L E F T
1 F R O N T
2 R I G H T
3 B A C K
NUM
3
2
1
CONDITIONS:
IF randint() generate 1 then range(1,1,-1)
means 0, it does not run
IF randint() generate 2 then range(2,1,-1)
means 2 only, “RIGHT”
IF randint() generate 3 then range(3,1,-1)
means 3,2 only, “RIGHT” ,”BACK”
1
3
19. What possible outputs(s) of the following code? Also specify the maximum and minimum
values that can be assigned to variable NUM
import random
P=“MY PROGRAM”
x=0
while(P[x] != ‘R’):
a=random.randint(0,3)+5
print(P[a], “-”,end=“”)
x=x+1
(i) R-P-O-R- (ii) P-O-R-Y-
(iv) A-G-R-M-
(iii) O-R-A-G-
0 1 2 3 4 5 6 7 8 9
M Y P R O G R A M
MIN: 5 MAX: 8
a random no. starts from 5 to 8 means 5,6,7,8
20. What possible outputs(s) are expected to be displayed on screen at the time of execution
of the program from the following code? Also specify the maximum values that can be
assigned to each of the variables FROM and TO.
import random
AR=[20,30,40,50,60,70];
FROM=random.randint(1,3)
TO=random.randint(2,4)
for K in range(FROM,TO+1):
print (AR[K],end=”#“)
(i) 10#40#70#
(ii) 30#40#50#
(iii) 50#60#70#
(iv) 40#50#70#
FROM random no. 1, 2, 3
TO random no. 2, 3, 4
0 1 2 3 4 5
20 30 40 50 60 70
Now loop starts from FROM(1,2,3)
And Ends at TO+1 means if TO is (2,3,4)
Inside range second value run less than given
number(2 means 1, 3 means 2 and 4 means
3)that why we put TO+1(2,3,4)
If FROM random generate no 1 means AR[1]=
30 or 2 means AR[2]=40 or AR[3]=50
If TO random generate no 2 means AR[2]= 40 or
3 means AR[3]=50 or AR[4]=60