This repository contains all 20 Python programs from the book Python Programming Projects for Beginners by kaizenkode.
Each program is in its own folder with the complete code and a short README explaining how to run it. Programs follow the Show-Off versions described in the book — extended with error handling, extra features, and clean formatting beyond the basic examples.
- Python 3.8 or newer — download at python.org
- Two external libraries used in Chapters 19 and 20:
pip install requests matplotlib # Windows pip3 install requests matplotlib # macOS / Linux
- No other installation required. All other programs use Python's standard library only.
| Folder | Chapter | Project | Key Concepts |
|---|---|---|---|
ch03-fortune-teller/ |
3 | Fortune Teller | input(), lists, random.choice() |
ch04-number-guessing-game/ |
4 | Number Guessing Game | while loops, if/elif/else, random.randint() |
ch05-password-generator/ |
5 | Password Generator | string module, for loops, string building |
ch06-dice-rolling-simulator/ |
6 | Dice Rolling Simulator | Functions, def, return |
ch07-mad-libs-story-generator/ |
7 | Mad Libs Story Generator | f-strings, triple-quoted strings |
ch08-rock-paper-scissors/ |
8 | Rock Paper Scissors | Score tracking, multi-condition logic |
ch09-quiz-game/ |
9 | Quiz Game | List of dictionaries, .items(), len() |
ch10-hangman/ |
10 | Hangman | Display lists, join(), continue |
ch11-tic-tac-toe/ |
11 | Tic-Tac-Toe | 2D lists, win detection, predicate functions |
ch12-todo-list-manager/ |
12 | To-Do List Manager | File I/O, try/except, data persistence |
ch13-contact-book/ |
13 | Contact Book | Nested dictionaries, file parsing |
ch14-simple-chatbot/ |
14 | Simple Chatbot | Substring matching, response dictionaries |
ch15-file-organizer/ |
15 | File Organizer | os, shutil, automation |
ch16-random-story-generator/ |
16 | Random Story Generator | Combinatorial generation, word banks |
ch17-password-strength-checker/ |
17 | Password Strength Checker | Character methods, boolean flags, scoring |
ch18-basic-encryption-tool/ |
18 | Basic Encryption Tool | ord(), chr(), Caesar cipher, modulo |
ch19-url-status-checker/ |
19 | URL Status Checker | requests, HTTP status codes, exceptions |
ch20-data-visualization/ |
20 | Data Visualization Tool | matplotlib, bar charts, input validation |
ch21-capstone-project/ |
21 | Capstone: Workout Generator | Independent design, random.sample() |
- Clone or download this repository
- Navigate to any chapter folder:
cd ch04-number-guessing-game - Run the program:
python number_guessing_game.py # Windows python3 number_guessing_game.py # macOS / Linux
Each folder contains its own README.md with specific run instructions, example output, and the concepts the program demonstrates.
Each chapter folder follows the same structure:
ch04-number-guessing-game/
number_guessing_game.py ← the complete program
README.md ← description, run instructions, example output
Programs that create or read files (Chapters 12, 13, 15) may also include sample data files.
If you are working through the book and building your own versions of these programs, here is a README template for each one:
# [Project Name]
[One sentence describing what the program does.]
## How to Run
python [filename.py]
## Example Output
[Paste a short terminal session here]
## Concepts Used
- [Concept 1]
- [Concept 2]
- [Concept 3]
## What I Would Add Next
- [Improvement idea]This is the same format recommended in Bonus Chapter 2 of the book, and it is the foundation of a beginner programming portfolio.
Once you have worked through the book and have programs of your own, Bonus Chapter 2 explains exactly how to:
- Select your best 3–6 projects for a portfolio
- Write a README for each one
- Organize your GitHub repositories professionally
- Talk about your programs in interviews or applications
The short version: fork this repository, replace the programs with your own versions, and start adding your own upgrades from the Show-Off sections. Your portfolio is the same code you already wrote — presented intentionally.
Python Programming Projects for Beginners teaches you to write real Python programs through 20 hands-on projects. Each chapter follows the same five-step process: understand the problem, break it into steps, write pseudocode, implement the code, and test and debug. No prior programming experience required.
👩💻 Author: kaizenkode — kaizenkode.dev
The code in this repository is provided for educational use. You are free to use, modify, and share any program from this repository for personal or educational purposes. Please credit the original book if you share these programs publicly.
If this repository or the book helped you learn Python, a ⭐ on GitHub helps other beginners find it. Thank you.