How does randint function work 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 : 

(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

import random

r1 = random.randint(0, 10)

print("Random number between 0 and 10 is % s" % (r1))

r2 = random.randint(-10, -1)

print("Random number between -10 and -1 is % d" % (r2))

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

Python3

import random

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. 

Python3

import random

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. 

Python3

from random import randint

def generator():

    return randint(1, 10)

def rand_guess():

    random_number = generator()

    guess_left = 3

    flag = 0

    while guess_left > 0:

        guess = int(input("Pick your number to "

                      "enter the lucky draw\n"))

        if guess == random_number:

            flag = 1

            break

        else:

            print("Wrong Guess!!")

        guess_left -= 1

    if flag is 1:

        return True

    else:

        return False

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.

How does Randint generate random numbers?

The randint() method to generates a whole number (integer). You can use randint(0,50) to generate a random number between 0 and 50. To generate random integers between 0 and 9, you can use the function randrange(min,max) . Change the parameters of randint() to generate a number between 1 and 10.

How do I use the Randint module in Python?

Example 1:.
import random as rnd..
# First, we will generate the random number between any positive number range..
random_1 = rnd.randint(55, 75).
print ("The any random number between 55 and 75 is % s" % (random_1)).
# Then, we will generate the random number between two given negative number range..

Is Randint actually random?

We call randint a pseudo-‐random number generator (PRNG) since it generates numbers that appear random but are not truly random. Consider a pseudo-‐random number generator prng1 that takes an argument specifying the length of a random number sequence and returns a list with that many “random” numbers.

What is difference between random () and Randint () function?

difference between random () and randint() The random command will generate a rondom value present in a given list/dictionary. And randint command will generate a random integer value from the given list/dictionary.