Skip to main content

Command Palette

Search for a command to run...

Hang Man In Python

Published
4 min read
Hang Man In Python
M

Hi everyone! I'm Mojtaba Maleki, an AI Researcher and Software Engineer at The IT Solutions Hungary. Born on February 11, 2002, I hold a BSc in Computer Science from the University of Debrecen. I'm passionate about creating smart, efficient systems, especially in the fields of Machine Learning, Natural Language Processing, and Full-Stack Development. Over the years, I've worked on diverse projects, from intelligent document processing to LLM-based assistants and scalable cloud applications. I've also authored four books on Computer Science, earned industry-recognized certifications from Google, Meta, and IBM, and contributed to research projects focused on medical imaging and AI-driven automation. Outside of work, I enjoy learning new things, mentoring peers, and yes, I'm still a great cook. So whether you need help debugging a model or seasoning a stew, I’ve got you covered!

Hang Man In Python

Hey there! 🤗 In this tutorial, I will walk you through building the classic word-guessing game, "Hangman", using Python. Let's get started with the code!

First, we import the random module to randomly select a word from a list of words. Here's the code:

import random

# define a list of words to choose from
word_list = ["python", "programming", "computer", "algorithm", "software", "developer"]

# select a random word from the list
secret_word = random.choice(word_list)

We create a list of words to choose from and assign one of them to the variable secret_word using the random.choice() function.

Next, we initialize two more variables: a list to store the letters guessed by the user, and a variable to store the number of guesses remaining. Here's the code:

# create a list to store the letters guessed by the user
guessed_letters = []

# create a variable to store the number of guesses remaining
num_guesses = 6

We create an empty list called guessed_letters to store the letters guessed by the user. The num_guesses variable is set to 6, which means the user will have 6 chances to guess the word.

Now, we start a loop to prompt the user to guess letters. Here's the code:

# start a loop to prompt the user to guess letters
while num_guesses > 0:
    # print the current state of the word
    for letter in secret_word:
        if letter in guessed_letters:
            print(letter, end=" ")
        else:
            print("_", end=" ")
    print()

    # prompt the user to enter a guess
    guess = input("Enter a letter: ")

The loop will continue until the user runs out of guesses or correctly guesses the word. Inside the loop, we use a for loop to print the current state of the word. We check if each letter in the secret_word is in the guessed_letters list, and if so, we print the letter. If not, we print an underscore to represent a letter that hasn't been guessed yet. We then prompt the user to enter a guess using the input() function.

We need to check if the guess is valid, i.e., if it is a single letter. Here's the code:

    # check if the guess is valid
    if len(guess) != 1 or not guess.isalpha():
        print("Invalid guess. Please enter a single letter.")
        continue

We use an if statement to check if the length of the guess is not 1 or if the guess is not an alphabetical letter. If either condition is true, we print an error message and use the continue statement to go back to the start of the loop and prompt the user to enter a new guess.

Next, we check if the guess is correct. Here's the code:

    # check if the guess is correct
    if guess in secret_word:
        print("Correct!")
        guessed_letters.append(guess)
    else:
        print("Incorrect.")
        num_guesses -= 1

We use another if statement to check if the guess is in the secret_word. If it is, we print a message telling the user that they guessed correctly and add the letter to the guessed_letters list. If the guess is incorrect, we print a message telling the user that they guessed incorrectly and subtract 1 from the num_guesses variable.

Finally, we check if the user has guessed all the letters in the word. Here's the code:

    # check if the user has guessed all the letters
    if set(guessed_letters) == set(secret_word):
        print("Congratulations, you guessed the word!")
        break

We use a set to check if the letters in the guessed_letters list are the same as the letters in the secret_word. If they are the same, we print a message telling the user that they guessed the word and use the break statement to exit the loop.

If the user runs out of guesses, we print the solution. Here's the code:

# if the user runs out of guesses, print the solution
if num_guesses == 0:
    print("You ran out of guesses. The word was:", secret_word)

We use an if statement to check if the num_guesses variable is equal to 0. If it is, we print a message telling the user that they ran out of guesses and print the secret_word.

That's it! 🎉 We've successfully built the "Hangman" game using Python. I hope this tutorial was helpful and easy to follow. Have fun playing "Hangman" with your friends and family!👍

More from this blog

Learn From My Devlog, Tips and Tricks for Becoming a Better Developer

36 posts

Back-end Developer at The IT Solutions. I build scalable AI tools with Django & friends. Tech enthusiast, lifelong learner, and coffee-fueled coder ☕ based in Debrecen, Hungary.