Master For and While Loops in Python to Create a Hangman Game

Create your own Hangman Game in Python

You will learn how to loop over a Python list. Further, you will learn the power of a While loop. Finally, you will create a Hangman Game.

Step 1: Loop over a list or sequence

Looping over a list can be done as follows (see more about lists here).

my_list = ['First', 'Second', 'Third']
for item in my_list:

This can also be done over a string, which is a sequence.

s = "Rune"
for c in s:
    print("Inside loop")
print("Outside the loop")

Where we notice the syntax of how the indentation works. What is inside and outside the loop?

Step 2: While loops and how they differ

Notice that for-loops in Python loop over a predetermined length. In the above cases, the length of the list or the length of the string.

If you want a loop that is dependent on something inside the loop.

What do I mean? Let’s take an example.

value = 10
while value > 0:
    value = int(input("Value? "))

As you see – this loop is dependent on input in the loop. If you type zero or a negative value, it will stop.

Step 3: Description of the Hangman Game

A description of the Hangman Game (see wiki for further details)

  • The game is as follows.
  • Computer has a list of words.
  • Computer chooses a random word from the list.
  • The player gets 10 wrong guesses (10 turns).
  • The game follows this loop
    • Computer prints the word character by character replacing with underscore those not guessed yet (initially no characters have been guessed).
    • Player guesses a character.
    • If a character is not in words, a turn is withdrawn
    • If no one turns left, the computer wins.
    • If Player has guessed all characters, Player wins

Step 4: Implementing the Hangman Game

Let’s try to implement the Hangman Game

import random
words = ['father', 'enterprise', 'science', 'programming', 'resistance', 'fiction', 'condition', 'reverse', 'computer', 'python']
word = random.choice(words)
turns = 10
guesses = ''
while turns > 0:
    print(f"Turns left: {turns}")
    guessed_all = True
    for c in word:
        if c in guesses:
            print(c, end=' ')
            print('_', end=' ')
            guessed_all = False
    if guessed_all:
        print("You won")
    guess = input("Guess a character: ")
    if guess in word:
        guesses += guess
        turns -= 1
    print("You lost")

Step 5: Want more?

I am happy you asked. Now you created your own Hangman Game in Python.

If this is something you like and you want to get started with Python, then this is part of an 8 hours FREE video course with full explanations, projects on each level, and guided solutions.

The course is structured with the following resources to improve your learning experience.

  • 17 video lessons teaching you everything you need to know to get started with Python.
  • 34 Jupyter Notebooks with lesson code and projects.
  • 2 FREE eBooks to support your Python learning.

See the full FREE course page here.

Learn Python


  • 70 pages to get you started on your journey to master Python.
  • How to install your setup with Anaconda.
  • Written description and introduction to all concepts.
  • Jupyter Notebooks prepared for 17 projects.

Python 101: A CRASH COURSE

  1. How to get started with this 8 hours Python 101: A CRASH COURSE.
  2. Best practices for learning Python.
  3. How to download the material to follow along and create projects.
  4. A chapter for each lesson with a descriptioncode snippets for easy reference, and links to a lesson video.

Expert Data Science Blueprint

Expert Data Science Blueprint

  • Master the Data Science Workflow for actionable data insights.
  • How to download the material to follow along and create projects.
  • A chapter to each lesson with a Description, Learning Objective, and link to the lesson video.

Machine Learning

Machine Learning – The Simple Path to Mastery

  • How to get started with Machine Learning.
  • How to download the material to follow along and make the projects.
  • One chapter for each lesson with a Description, Learning Objectives, and link to the lesson video.

Leave a Comment