Implementation of the projects found in "The Big Book of Small Python Projects" by Al Sweigart (No Starch Press, 2021)
Where possible, I've tried to think of ways to change and add to each project, to add my own touch to them. I've also completed some of the suggested extensions where they appear, though these are not explicitly walked-through in the book.
Project | Description | Tags |
---|---|---|
#1 Bagels | A deductive logic game where you must guess a number based on clues. | short, game, puzzle |
#2 Birthday Paradox | Explore the surprising probabilities of the "Birthday Paradox". | short, math, simulation |
#3 Bitmap Message | Displays a text message according to the provided bitmap image. | tiny, beginner, artistic |
#4 Blackjack | The classic card game also known as 21. | large, game, card game |
#5 Bouncing DVD Logo | A bouncing DVD logo animation. | short, artistic, bext |
#6 Caesar Cipher | The Caesar cipher is a shift cipher that uses addition and subtraction to encrypt and decrypt letters. | short, beginner, cryptography, math |
#7 Caesar Hacker | This program hacks messages encrypted with the Caesar cipher by doing a brute force attack against every possible key. | tiny, beginner, cryptography, math |
#8 Calendar Maker | Create monthly calendars, saved to a text file and fit for printing. | short |
#9 Carrot in a Box | A silly bluffing game between two human players. | large, beginner, game, two-player |
#10 Cho-Han | The traditional Japanese dice game of even-odd. | short, beginner, game |
#11 Clickbait Headline Generator | A clickbait headline generator for your soulless content farm website. | large, beginner, humor, word |
#12 Collatz Sequence | Generates numbers for the Collatz sequence, given a starting number. | tiny, beginner, math |
#13 Conway's Game of Life | The classic cellular automata simulation. | short, artistic, simulation |
#14 Countdown | Show a countdown timer animation using a seven-segment display. | tiny, artistic |
#15 Deep Cave | An animation of a deep cave that goes forever into the earth | tiny, beginner, scrolling, artistic |
#16 Diamonds | Draws diamonds of various sizes. | tiny, beginner, artistic |
#17 Dice Math | A flash card addition game where you sum the total on random dice rolls. | large, artistic, game, math |
#18 Dice Roller | Simulates dice rolls using the Dungeons & Dragons dice roll notation. | short, simulation |
#19 Digital Clock | Displays a digital clock of the current time with a seven-segment display. | tiny, artistic |
#20 Digital Stream | A screensaver in the style of The Matrix movie's visuals. | tiny, artistic, beginner, scrolling |
#21 DNA Visualisation | A simple animation of a DNA double-helix. | short, artistic, scrolling, science |
#22 Ducklings | A screensaver of many many ducklings. | large, artistic, object-oriented, scrolling |
#23 Etching Drawer | An art program that draws a continuous line around the screen using the WASD keys. | large, artistic |
#24 Factor Finder | Finds all the factors of a number. | tiny, beginner, math |
#25 Fast Draw | Test your reflexes to see if you're the fastest draw in the west. | tiny, beginner, game |
#26 Fibonacci | Calculates numbers of the Fibonacci sequence. | short, math |
#27 Fish Tank | A peaceful animation of a fish tank. | extra-large, artistic, bext |
#28 Flooder | A colorful game where you try to fill the board with a single color. | large, bext, game |
#29 Forest Fire Sim | A simulation of wildfires spreading in a forest. | short, bext, simulation |
#30 Four in a Row | A tile-dropping game to get four in a row, similar to Connect Four. | large, game, board game, two-player |
#31 Guess the Number | Try to guess the secret number based on hints. | tiny, beginner, game |
#32 Guillible | How to keep a gullible person busy for hours. (This is a joke program.) | tiny, beginner, humor |
#33 Hacking Minigame | The hacking minigame from "Fallout 3". | large, artistic, game, puzzle |
#34 Hangman | Guess the letters to a secret word before the hangman is drawn. | large, game, word, puzzle |
#35 Hex Grid | Displays a simple tessellation of a hexagon grid. | tiny, beginner, artistic |
#36 Hourglass | An animation of an hourglass with falling sand. | large, artistic, bext, simulation |
#37 Hungry Robots | Escape the hungry robots by making them crash into each other. | large, game |
#38 J'Accuse! | A mystery game of intrigue and a missing cat. | extra-large, game, humor, puzzle |
#39 Langton's Ant | A cellular automata animation. | large, artistic, bext, simulation |
#40 Leetspeak | Translates English messages into l33t5p34]<. | tiny, beginner, word |
#41 Lucky Stars | A "press your luck" game where you roll dice to gather as many stars as possible. | large, game, multiplayer |
#42 Magic Fortune Ball | Ask a yes/no question about your future. | tiny, beginner, humor |
#43 Mancala | The ancient seed-sowing game. | large, board game, game, two-player |
#44 Maze Runner 2D | Move around a maze and try to escape. | large, game, maze |
#45 Maze Runner 3D | Move around a maze and try to escape... in 3D! | extra-large, artistic, game, maze |
#46 Million Dice Roll Statistics Simulator | A simulation of one million dice rolls. | tiny, beginner, math, simulation |
#47 Mondrian Art Generator | Randomly generates art in the style of Piet Mondrian. | large, artistic, bext |
#48 Monty Hall Problem | A simulation of the Monty Hall game show problem. | large, game, math, simulation |
#49 Multiplication Table | Print a multiplication table. | tiny, beginner, math |
#50 Ninety-Nine Bottles | Print the full lyrics to one of the longest songs ever! | tiny, beginner, scrolling |
#51 niNety-nniinE BoOttels of Mlik On teh waLl | Print the full lyrics to one of the longest songs ever! The song gets sillier and sillier with each verse. | short, scrolling, word |
#52 Numeral System Counters | Shows equivalent numbers in decimal, hexadecimal, and binary. | tiny, math |
#53 Periodic Tables | Displays atomic information for all the elements. | short, science |
#54 Pig Latin | Translates English messages into Igpay Atinlay. | short, word |
#55 Powerball Lottery | A simulation of the lottery so you can experience the thrill of losing the lottery without wasting your money. | short, humor, simulation |
#56 Prime Numbers | Calculates prime numbers, which are numbers that are only evenly divisible by one and themselves. | tiny, math, scrolling |
#57 Progress Bar | A sample progress bar animation that can be used in other programs. | tiny, module |
#58 Rainbow | Shows a simple rainbow animation. | tiny, artistic, bext, beginner, scrolling |
#59 Rock Paper Scissors | The classic hand game of luck. | short, game |
#60 Rock Paper Scissors (Always Win version) | The classic hand game of luck, except you always win. | tiny, game, humor |
#61 ROT13 Cipher | The simplest shift cipher for encrypting and decrypting text. | tiny, cryptography |
#62 Rotating Cube | A rotating cube animation. | large, artistic, math |
#63 Royal Game of Ur | A 5,000 year old board game from Mesopotamia. | large, board game, game, two-player |
#64 Seven-Segment Display Module | A seven-segment number display module, used by the Countdown and Digital Clock programs. | short, module |
#65 Shining Carpet | Displays a tessellation of the carpet pattern from The Shining. | tiny, beginner, artistic |
#66 Simple Substitution Cipher | A simple substitution cipher has a one-to-one translation for each symbol in the plaintext and each symbol in the ciphertext. | short, cryptography, math |
#67 Sine Message | Create a sine-wavy message. | tiny, artistic |
#68 Sliding Tile Puzzle | Slide the numbered tiles into the correct order. | large, game, puzzle |
#69 Snail Racing | Fast-paced snail racing action! | short, artistic, beginner, game, multiplayer |
#70 Soroban - The Japanese Abacus | A simulation of a Japanese Abacus calculator tool. | large, artistic, math, simulation |
#71 Sound Mimic | A pattern-matching game with sounds. | short, beginner, game |
#72 sPoNgEcAsE | Translates English messages into sPOnGEtExT. | tiny, beginner, word |
#73 Sudoku Puzzle | The classic 9x9 number placement puzzle. | large, game, object-oriented, puzzle |
#74 Text-to-Speech | An example program using the text-to-speech features of the pyttsx3 module. | tiny, beginner |
#75 Three-Card Monte | Find the Queen of Hearts after cards have been swapped around. | large, card game, game |
#76 Tic-Tac-Toe | A classic board game. | short, board game, game, two-player |
#77 Tower of Hanoi | A stack-moving puzzle game. | short, game, puzzle |
#78 Trick Question | A quiz of several trick questions. | large, humor |
#79 2048 | A sliding tile game to combine exponentially-increasing numbers. | large, game, puzzle |
#80 Vigenère Cipher | The Vigenère cipher is a polyalphabetic substitution cipher that was powerful enough to remain unbroken for centuries. | short, cryptography, math |
#81 Water Bucket Puzzle | A water pouring puzzle. | large, game, math, puzzle |