In: Computer Science
Write a program that generates a random number in the range of 1 through 100, and asks the user to guess what the number is. When the number is generated by the computer, don’t display the number to the user, but only display if the number generated is odd or even.
If the user’s guess 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.” Keep asking the user till the correct number is guessed. If the user enters 0 for the guess, the game terminates.
When the user successfully guesses the number, the application should congratulate the user and then display how many tries it took the user to guess the number. Moreover, display all the odd or even numbers starting at 1, up to that number. (Display all odd numbers if the number itself was odd, or all even numbers if the number was even). For example, assume that 16 was the generated number. The final display should be:
You took x tries to guess the number.
16 is an even number.
All even numbers up to 16 are: 1, 2, 4, 6, 8, 10, 12, 14
To generate the random number, you need to import the random library (import random) and use the randint function ( random.randint(1, 100) )
Requirements
Python Program:
""" Python program that generates Guessing Game """
import random
# Generating a random number in 1 to 100
actual = random.randint(1, 100)
# Checking for even or odd
if actual%2 == 0:
print("\nNumber generated is an even number.\n")
even = True
else:
print("\nNumber generated is an odd number.\n")
even = False
# Variable to hold number of guesses
numGuesses = 0
# Playing game
while True:
# Prompting user
guess = int(input("\nYour Guess: "))
# Incrementing number of Guesses
numGuesses += 1
# Checking guess
if guess == actual:
break;
elif guess > actual:
# Printing message to user
print("Too high, try again.")
elif guess < actual:
# Printing message to user
print("Too low, try again.")
# Printing number of tries
print("\nYou took " + str(numGuesses )+ " tries to guess the
number.\n")
# List to hold values
vals = []
# Checking even or odd
if even:
print(str(actual) + " is an even number.")
print("All even numbers up to " + str(actual) + " are:
", end="")
# Iterating over each value
for i in range(1, actual):
# Checking only for even
numbers
if i%2==0:
vals.append(str(i))
else:
print(str(actual) + " is an odd number.")
print("All odd numbers up to " + str(actual) + " are:
", end="")
# Iterating over each value
for i in range(actual):
# Checking only for even
numbers
if i%2!=0:
vals.append(str(i))
# Printing result
print(','.join(vals))
_______________________________________________________________________________________
Code Screenshot:
_______________________________________________________________________________________
Sample Run: