random.seed( ) in Python

random() function is used to generate random numbers in Python. Not actually random, rather this is used to generate pseudo-random numbers. That implies that these randomly generated numbers can be determined.

random() function generates numbers for some values. This value is also called seed value.

How Seed Function Works ?
Seed function is used to save the state of random function, so that it can generate some random numbers on multiple execution of the code on the same machine or on different machines (for a specific seed value). Seed value is the previous value number generated by the generator. For the first time when there is no previous value, it uses current system time.



Using random.seed() function –

Here we will see how we can generate same random number every time with same seed value.

Code #1:

filter_none

edit
close

play_arrow

link
brightness_4
code

# random module is imported
import random 
for i in range(5):
  
    # Any number can be used in place of '0'.
    random.seed(0)
  
    # Generated random number will be between 1 to 1000.
    print(random.randint(1, 1000))  
     

chevron_right


Output:

865
865
865
865
865

 
Code #2:

filter_none

edit
close

play_arrow

link
brightness_4
code

# importing random module
import random
  
random.seed(3)
  
# print a random number between 1 and 1000.
print(random.randint(1, 1000))
  
# if you want to get the same random number again then,
random.seed(3
print(random.randint(1, 1000))
  
# If seed function is not used
  
# Gives totally unpredictable response.
print(random.randint(1, 1000))

chevron_right


Output:

244
244
607

On executing the above code, the above two print statements will generate a response 244 but the third print statement gives an unpredictable response.

Uses of random.seed() –

  1. This is used in generation of pseudo-random encryption key. Encryption keys are important part of computer security. These are the kind of secret keys which used to protect data from unauthorized access over internet.
  2. It makes optimization of codes easy where random numbers are used for testing. The output of the code sometime depends on input. So the use of random numbers for testing algorithm can be complex. Also seed function is used to generate same random numbers again and again and simplifies algorithm testing process.


My Personal Notes arrow_drop_up

Love to write, Competitive programming is fun, Python is way

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.