Python – Number Guessing Game

Python – Number Guessing Game

In this post, we will see how to make a number guessing game in python.
So, let’s talk about the game, the user guesses a number in the fixed range then the program tells it is a correct guess or not. If not then the user can guess again.
Now, we have to do the following Tasks in this game:

  • Asks User to enter a range i.e. the value of low and high.
  • Automatically randomly select a number in the given range.
  • Asks user to guess a number in the given range.
  • Checks if the number entered by the user is correct guess or not.
  • Provides a hint to the user whether the number entered by him is lower or higher than the actual number.
  • keeps asking the user for a number until he guesses the correct number or accepts his defeat.

Example:

Enter lower limit: 10
Enter higher limit: 20
Guess any number in the given range 10 to 20
16
You Lost
Lesser value guess
Do you want to guess again: y/n
y
Guess any number in the given range 10 to 20
18
You Lost
Lesser value guess
Do you want to guess again: y/n
y
Guess any number in the given range 10 to 20
19
You Win

Let’s see the implementation :

# import random library
import random

# define guess function
# for guessing a number
def guess():
    
    # str function convert integer
    # value into string value
    print("Guess any number in the given range",
          lower, "to", higher)
    
    # input() takes input in
    # the form of string and
    # int function convert
    # string value into integer
    guess_user = int(input())

    # keep looping until guess_user
    # not in given range and asking
    # for new input
    while guess_user not in range(lower, higher + 1):
      
        print("Invalid guess \n Please guess again: ")
        guess_user = int(input())
        
    # return the value of 
    # guess_user from where
    # it is callinhg
    return guess_user

# main code
if __name__ == "__main__" :
    
    # taking integer input from user
    lower = int( input("Enter lower limit: "))
    higher = int( input("Enter higher limit: "))

    # random.randint() means we
    # are using randint() function 
    # of random library.
    # randint(lower,higher) gives
    # random value in between lower
    # and higher value including
    # thesen two
    guess_computer = random.randint(lower, higher)

    # calling guess function
    guess_user1 = guess()

    # keep looping until user won or
    # accepted his defeat
    while True:

        # if this condition is true then
        # break out of the loop
        if guess_user1 == guess_computer :
            print("You Win ")
            break
        
        # if condition is false then this
        # block of code is executed
        else:
            print("You Lost ")
            
            if guess_user1 > guess_computer :
                print("Greater value guess ")
                
            else:
                print("Lesser value guess ")
                
            choice = input("Do you want to guess again: y/n \n ")

            # if this condition is true 
            # then break out of while loop
            if (choice == 'n' or
                choice == 'N'):
              
                print("So sad.. \n You accepted your Defeat..")
                break
            
            # other wise again guess function
            # is called for user guessing
            else:
                guess_user1 = guess()
               

Output:

Enter lower limit: 10
Enter higher limit: 20
Guess any number in the given range 10 to 20
16
You Lost 
Lesser value guess 
Do you want to guess again: y/n 
 y
Guess any number in the given range 10 to 20
18
You Lost 
Lesser value guess 
Do you want to guess again: y/n 
 y
Guess any number in the given range 10 to 20
19
You Win 

Leave a Reply

Your email address will not be published.

📢 Need further clarification or have any questions? Let's connect!

Connect 1:1 With Me: Schedule Call


If you have any doubts or would like to discuss anything related to this blog, feel free to reach out to me. I'm here to help! You can schedule a call by clicking on the above given link.
I'm looking forward to hearing from you and assisting you with any inquiries you may have. Your understanding and engagement are important to me!

This will close in 20 seconds