Write a program that generates a random integer number in the range of 1 through 100 inclusively, and then asks the user to guess what the number is (User should be informed at the beginning that the number is between 1 to 100). If the user’s guess (input) is higher than the random number, the program should display "Too high, try again." If the user’s guess is lower than the random number, the program should display "Too low, try again." If the user guesses the number, the program should congratulate the user with a message as well as to display the number of guesses to get the right number. Next asking the user if he/she wants to play one more time. If yes, then generate a new random number so the game can start over

Respuesta :

Answer:

Here is the Python program:

import random  #to generate random numbers

low = 1  #lowest range of a guess

high = 100  #highest range of a guess

attempts=0   # no of attempts

def guess_number(low, high, attempts):  #function for guessing a number

   print("Guess a number between 1 and 100")      

#prompts user to enter an integer between 1 to 100 as a guess

   number = random.randint(low, high)  

#return randoms digits from low to high

   for _ in range(attempts):  #loop to make guesses

       guess = input("Enter a number: ")   #prompts user to enter a guess

       num = int(guess)  #reads the input guess

       if num == number:  # if num is equal to the guess number

           print('Congratulations! You guessed the right number!')    

           command= input("Do you want to play another game? ")

#asks user if he wants to play another game

           if command=='Y':  #if user enters Y  

               guess_number(low,high,attempts)  #starts game again

           elif command=='N':  #if user types N

               exit() #exits the program

       elif num < number:   #if user entered a no less than random no

           print('Too low, Try Higher')  # program prompts user to enter higher no

       elif num > number: #if user entered a no greater than random no

           print('Too high, Try Lower') # program prompts user to enter lower no

       else:  #if user enters anything else

           print("You must enter a valid integer.")  

#if user guessed wrong number till the given attempts

   print("You failed to guess the number correctly in {attempts} attempts.".format(attempts=attempts))  

   exit() # program exits

Explanation:

The program has a function guess_number which takes three parameters, high and low are the range set for the user to enter the number in this range and attempts is the number of tries given to the user to guess the number.

random.randint() generates integers in a given range, here the range is specified i.e from 1 to 100. So it generates random number from this range.

For loop keeps asking the user to make attempts in guessing a number and the number of tries the user is given is specified in the attempts variable.

If the number entered by the user is equal to the random number then this message is displayed: Congratulations! You guessed the right number! Then the user is asked if he wants to play one more time and if he types Y the game starts again but if he types N then the exit() function exits the game.

If the number entered as guess is higher than the random number then this message is displayed Too high, Try Lower and if the number entered as guess is lower than the random number then this message is displayed Too low, Try Higher.

If the user fails to guess the number in given attempts then the following message is displayed and program ends. You failed to guess the number correctly in {attempts} attempts.

You can call this function in main by passing value to this function to see the output on the screen.

guess_number(1, 100, 5)

The output is shown in screenshot attached.

Ver imagen mahamnasir
Ver imagen mahamnasir