Python Guide #9: User Input
Python lets you accept user input, in this quick guide I will show you how to accept user input from within Python program.
name = input("Enter your name: ")
print("Your name is", name)
This quick example shows you how to accept user input. Execute program and see how it works.
With the knowledge who have so far, lets build some simple program, that will incorporate what I showed you so far.
We will create simple game.
Writing hangman game in Python for beginners
In this tutorial, we will create simple hangman game. For now you will play it with yourself, which we will improve on later, so do not delete this file after we finish.
First you input a word, that you or other person has to guess, then letters are covered. You need to guess letters, letter by letter. If you run out of chances, game ends and you lose.
In this simple program you will see what the word is, as it will be written in command line. This is just to visualise how it works
Lets begin:
# Lets give player 5 chances,
# you can modify this later if you want
chances = 5
word_to_guess = input("Input word to guess: ")
game_finished = False
failed_letters = ""
# functions len() returns length of an object
current_state = "_" * len(word_to_guess)
def update_state(letter):
'''
This function takes a letter as parameter
and replaces underscore in current state
in places where this letter should be
'''
new_state = ""
for i in range(len(word_to_guess)):
if word_to_guess[i] == letter:
new_state += letter
else:
new_state += current_state[i]
return new_state
# as long as game is not finished
# we want the cycle to repeat
# ask for letter
# update state
# evaluate chances
while not game_finished:
print(current_state, "chances remaining", chances, "\nincorrect letters:\n", failed_letters)
letter = input("Please input letter: ")
# checking if letter is inside the word to guess
# if it is right, we update the word
# if not, we remove chance
if letter in word_to_guess:
current_state = update_state(letter)
elif letter in failed_letters:
print("You already used this letter!")
else:
failed_letters += letter
chances -= 1
# if current guessed word matches
# word we need to guess
# game is finished and we win
if current_state == word_to_guess:
print("Congratulations, you guessed the word:", word_to_guess)
game_finished = True
# if we have no chances left
# we lost, game is finished
# loop won't repeat
if chances == 0:
game_finished = True
print("Word has not been guessed:", word_to_guess)
This program may seem a bit lengthy, but everything is commented out. Also it consists of elements we have already been talking about. Analyze the program yourself. Experiment with it. Once you understand it, do not delete it, as it will be used in the next guide.