Tirsvad 15d5f7134d
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 5s
Step 2
Replacing blanks with guesses
2026-10-04 12:37:41 +08:00
2026-10-04 12:37:41 +08:00
2026-10-04 12:37:41 +08:00
2026-10-04 12:31:58 +08:00
2026-10-04 12:31:58 +08:00
2026-10-04 12:31:58 +08:00
2026-10-04 12:31:58 +08:00
2026-10-04 12:37:41 +08:00

🚀 Hangman

A beginner-friendly Python program that lets you play Hangman in the terminal against a randomly chosen word.

📚 Table of Contents

🧭 Overview

Day 7 of Udemy's 100 Days of Code™: The Complete Python Pro Bootcamp. The game is built in five steps that follow the course:

  1. Picking a random word and checking answers
  2. Replacing blanks with guesses (this step)
  3. Checking if the player has won
  4. Keeping track of the player's lives
  5. Improving the user experience

Step 1: the program picks a random word, asks for one letter and tells you whether the letter is in the word.

Step 2: the word is shown as blanks (_ _ _ _ _). After your guess every matching blank is replaced by the letter.

📋 Requirements

  • Python 3.13 or newer
  • No runtime dependencies (the standard library is enough)
  • pytest (only for running the tests)
  • Doxygen (optional, to build the API documentation)

🛠️ Setup

Create and activate a local virtual environment named .venv, then install the project in editable mode together with the test extra.

Windows (PowerShell):

python -m venv .venv
.\.venv\Scripts\Activate.ps1

Windows (cmd):

python -m venv .venv
.venv\Scripts\activate.bat

macOS / Linux / Git Bash:

python3 -m venv .venv
source .venv/bin/activate        # Git Bash on Windows: source .venv/Scripts/activate

Then install:

python -m pip install --upgrade pip
python -m pip install -e ".[test]"

Run deactivate to leave the environment.

The .env file (access tokens for repository tooling) is ignored by git and is not needed to run the game.

To build the API documentation with Doxygen (output in docs/api):

doxygen Doxyfile

▶️ Run

python -m hangman

or, after installing:

hangman

🧪 Tests

python -m pytest

📄 License

GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later). See LICENSE.

S
Description
A beginner-friendly Hangman game for the terminal in Python (Udemy 100 Days of Code, day 7).
Readme AGPL-3.0
76 KiB
Languages
Python 100%