## DEV Community

Posted on • Originally published at bharadwaj.hashnode.dev on

# Hang Man in Python

Hang Man is like an interesting, fun-filled time pass game. Where a random word is taken by computer and we need to guess the word by alphabets. We have 6 lives to guess the word. If all the lives are completed then we lose the game. If we somehow manage to guess the words before the completion of our lives then we win. Though it is really difficult to guess the word, still we can give it a try as it is very very interesting. You can check the official documentation of it here https://www.wikiwand.com/en/Hangman\_(game)

The flow chart for the game is as follows:

As you can see above, Computer generates a random word and then generate as many blanks as letters in the word. Then it's our turn to guess the letter. For each guess, if it is in the blank then it replaces the blank with a letter else you will lose the life. This process continues until all blanks are filled or if you run out of lives.

Now, let's dive into code parts by parts.

1. Computer wants to guess the word.
``````chosen_word = random.choice(word_list)
word_length = len(chosen_word)

``````
1. Creation of blanks
``````display = []
for _ in range(word_length):
display += "_"

``````
1. Guessing the letter
``````guess = input("Guess a letter: ").lower()

``````

Checking the guessed letter

``````for position in range(word_length):
letter = chosen_word[position]

if letter == guess:
display[position] = letter

if guess not in chosen_word:
print(f'You guesses {guess}, thats not in the list. You lost a life')
lives -= 1
if lives == 0:
end_of_game = True
print("You lose.")

print(f"{' '.join(display)}")

if "_" not in display:
end_of_game = True
print("You win.")

from hangman_art import stages
print(stages[lives])

``````

That's it. If all these four steps are successfully completed then it's the end of the game.

To get the ASCII and a number of words then I will attach my project link below. The entire code snippet lies in main.py, ASCII lies in hangman_art.py and the words lies in hangman_words.py. The main advantage of replit is we can simply fork others code and try it for ourselves. So, just fork my code and test it by yourselves.