randint() Function in Python (original) (raw)
Last Updated : 09 Aug, 2024
**randint() is an inbuilt function of the _random module in Python3. The random module gives access to various useful functions one of them being able to generate random numbers, which is _randint(). In this article, we will learn about randint in Python.
Python randint() Method Syntax
**Syntax: randint(start, end)
**Parameters :
****(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.
How randint() in Python work?
In this example, we are using the randint() method in Python to find a random number in a given range.
Python `
Python3 program explaining work
of randint() function
imports random module
import random
Generates a random number between
a given positive range
r1 = random.randint(0, 10) print("Random number between 0 and 10 is % s" % (r1))
Generates a random number between
two given negative range
r2 = random.randint(-10, -1) print("Random number between -10 and -1 is % d" % (r2))
Generates a random number between
a positive and a negative range
r3 = random.randint(-5, 5) print("Random number between -5 and 5 is % d" % (r3))
`
Output
Random number between 0 and 10 is 2 Random number between -10 and -1 is -7 Random number between -5 and 5 is -3
The randint() Method Example
Multiple Randint Python Method Calls
In this example, we are making multiple random.randint() method calls in Python.
Python `
import random beg,end=1,1000 for i in range(5): print(random.randint(beg, end))
`
Program to Demonstrate the ValueError
In this example, we are seeing that if we passes the floating point values as parameters in the randint() function then a ValueError occurs.
Python `
imports random module
import random
'''If we pass floating point values as parameters 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()
Program to Demonstrate the TypeError
In this example, we can see that if we pass string or character literals as parameters in the randint() function then a TypeError occurs.
Python `
imports random
import random
'''If we pass string or character literals as parameters 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.
Python `
importing randint function
from random module
from random import randint
Function which generates a new
random number everytime it executes
def 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 guesses
# 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 code
if 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.