4abf98438200b7f15f4019b280658a7ee45616a5
Order imports, format with ruff, make the account key constants Final so mypy --strict accepts them, and type the test helpers. Configure ruff and mypy in pyproject.toml and pin the dev tool versions. All modules, classes and functions already carry Doxygen comments; doxygen Doxyfile builds without warnings. Task: MIL-004#2 Closes #18
Higher Lower
A console game from Udemy's 100 Days of Code: The Complete Python Pro Bootcamp (day 14). Two Instagram accounts are shown. Guess which one has more followers. Every right guess adds a point and the winner stays for the next round. A wrong guess ends the game.
Compare A: Cristiano Ronaldo, a Footballer, from Portugal.
_ __
| | / /____
| | / / ___/
| |/ (__ )
|___/____(_)
Against B: Ariana Grande, a Musician and actress, from United States.
Who has more followers? Type 'A' or 'B':
- Python 3.13 or newer, no runtime dependencies.
- The function names follow the assignment:
format_data,check_answer. - Each account is shown once per game; if you get through all 50, you win.
- Follower counts are in millions and come from the assignment's data set.
Requirements
Set up
Create a local virtual environment in .venv, activate it, and upgrade pip.
Windows (PowerShell):
python -m venv .venv
.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
Windows (Git Bash), Linux and macOS:
python -m venv .venv
source .venv/Scripts/activate # Linux/macOS: source .venv/bin/activate
python -m pip install --upgrade pip
The game itself needs nothing more. To run the tests and the code checks, install the development tools:
python -m pip install -e ".[dev]"
Run the game
python -m higher_lower
Type A or B and press Enter. Press Ctrl+C to quit.
Run the tests
python -m pytest
Check the code style and types:
python -m ruff check src tests
python -m ruff format --check src tests
python -m mypy src tests
Build the source documentation
The source uses Doxygen comments. The HTML output goes to docs/doxygen/html.
doxygen Doxyfile
Project layout
| Path | Content |
|---|---|
src/higher_lower/ |
The game: game_logic.py (pure functions), game.py (the loop), game_data.py, art.py, constants.py |
tests/ |
pytest tests |
docs/ |
Planning and review documents (business case, plan, milestones, use case) |
pyproject.toml |
Project configuration |
Doxyfile |
Doxygen configuration |
License
GNU Affero General Public License v3.0. See LICENSE.
Languages
Python
100%