FUNCTIONS IN PYTHON[RANDOM FUNCTION]

vikrammahendra3 843 views 20 slides Sep 24, 2020
Slide 1
Slide 1 of 20
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20

About This Presentation

import random
random()
randrange()
randint()
uniform(), shuffle(), choice()


Slide Content

FUNCTIONS IN PYTHON COMPUTER SCIECNCE(083) CLASS: XII RANDOM FUCTION IN PYTHON PART-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()

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

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

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 lowes t number that is by default 0 and exclude the highest number

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:

--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.

--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

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

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

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

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 ()

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 ) Random negative integer between -60 to -6 -49 ----Output------- Random no:

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 )

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

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:

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

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 1 2 3 4 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

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 w hile(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- 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

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 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