randint() Function in Python
randint() is an inbuilt function of the random module in Python3. The random module gives access to various useful functions and one of them being able to generate random numbers, which is randint().
Syntax :
randint(start, end)
Parameters :
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course
(start, end) : Both of them must be integer type values.
Returns :
A random integer in range [start, end] including the end points.
Errors and Exceptions :
ValueError : Returns a ValueError when floating
point values are passed as parameters.
TypeError : Returns a TypeError when anything other than
numeric values are passed as parameters.
Code #1 :
# Python3 program explaining work# of randint() function # imports random moduleimport random # Generates a random number between# a given positive ranger1 = random.randint(0, 10)print("Random number between 0 and 10 is % s" % (r1)) # Generates a random number between # two given negative ranger2 = random.randint(-10, -1)print("Random number between -10 and -1 is % d" % (r2)) # Generates a random number between # a positive and a negative ranger3 = random.randint(-5, 5)print("Random number between -5 and 5 is % d" % (r3)) |
Output :
Random number between 0 and 10 is 5 Random number between -10 and -1 is -7 Random number between -5 and 5 is 2
Code #2 : Program demonstrating the ValueError.
# imports random moduleimport random '''If we pass floating point values asparameters in the randint() function''' r1 = random.randint(1.23, 9.34)print(r1) |
Output :
Traceback (most recent call last):
File "/home/f813370b9ea61dd5d55d7dadc8ed5171.py", line 6, in
r1=random.randint(1.23, 9.34)
File "/usr/lib/python3.5/random.py", line 218, in randint
return self.randrange(a, b+1)
File "/usr/lib/python3.5/random.py", line 182, in randrange
raise ValueError("non-integer arg 1 for randrange()")
ValueError: non-integer arg 1 for randrange()
Code #3 : Program demonstrating the TypeError.
# imports randomimport random '''If we pass string or character literals asparameters in the randint() function''' r2 = random.randint('a', 'z')print(r2) |
Output :
Traceback (most recent call last):
File "/home/fb805b21fea0e29c6a65f62b99998953.py", line 5, in
r2=random.randint('a', 'z')
File "/usr/lib/python3.5/random.py", line 218, in randint
return self.randrange(a, b+1)
TypeError: Can't convert 'int' object to str implicitly
Applications :
The randint() function can be used to simulate a lucky draw situation.
Let’s say User has participated in a lucky draw competition. The user gets three chances to guess the number between 1 and 10. If guess is correct user wins, else loses the competition.
# importing randint function# from random modulefrom random import randint # Function which generates a new # random number everytime it executesdef generator(): return randint(1, 10) # Function takes user input and returns# true or false depending whether the# user wins the lucky draw!def rand_guess(): # calls generator() which returns a # random integer between 1 and 10 random_number = generator() # defining the number of # guesses the user gets guess_left = 3 # Setting a flag variable to check # the win-condition for user flag = 0 # looping the number of times # the user gets chances while guess_left > 0: # Taking a input from the user guess = int(input("Pick your number to " "enter the lucky draw\n")) # checking whether user's guess # matches the generated win-condition if guess == random_number: # setting flag as 1 if user guessses # correctly and then loop is broken flag = 1 break else: # If user's choice doesn't match # win-condition then it is printed print("Wrong Guess!!") # Decrementing number of # guesses left by 1 guess_left -= 1 # If win-condition is satisfied then, # the function rand_guess returns True if flag is 1: return True # Else the function returns False else: return False # Driver codeif __name__ == '__main__': if rand_guess() is True: print("Congrats!! You Win.") else : print("Sorry, You Lost!") |
Output :
Pick your number to enter the lucky draw 8 Wrong Guess!! Pick your number to enter the lucky draw 9 Wrong Guess!! Pick your number to enter the lucky draw 0 Congrats!! You Win.


