Build a Number Guessing Game with Keyboard Input¶
Date published: 2018-02-25
Category: Python
Subcategory: Beginner Concepts
Tags: keyboard input, while loop
What is Input
?¶
In programs, you can build interactivity with others to accept input from them and respond to certain condtions.
Python provides a built-in function called input
that stops the program and waits for input. When the user pressed Return or Enter, the program is resumed and the input returns what the user typed as a string.
I can ask a user for their name. The \n
is a newline character that causes a line break. The user prompt will display below the input prompt.
name = input("What's your name?\n")
name
'Dan'
Guessing Game Example¶
Let's build a game that allows a user up to 10 guesses in order to guess a number between 0 and 100. If the user guesses too low, we'll respond with "you guessed too low". If the user guesses too high, we'll respond with "you guessed too high". Lastly, if the user guesses correct, we'll respond "you guessed correct!" and end the game.
We'll assign any value between 0 and 100 to a correct_number
variable to be our answer.
correct_number = 20
We'll assign a count_of_guesses
variable to be 0 since we're at 0 guesses in the game to start.
count_of_guesses = 0
We utilize a while
loop to evaluate the condition inside the loop as long as we've guessed less than 10 times.
We assign the variable user_guess
to the result of our input that prompts the user to guess. We convert the guess from a string value to an integer; once an integer, we can logically compare it to our correct_number
variable of 20.
We use conditional statements to evaluate how user_guess
compares to correct_number
based on the game specifications above.
The un-indented else
statement at the end only executes if a user exhausts all 10 guesses. If not, our program will evaluate that else
condition to False
and not execute the print statement in its body.
while count_of_guesses <= 10:
user_guess = int(input("Guess: \n"))
count_of_guesses += 1
if user_guess < correct_number:
print("you guessed too low")
elif user_guess > correct_number:
print("you guessed too high")
else:
print("you guessed correct!")
break
else:
print("Sorry you lost the game")
you guessed too low you guessed correct!