Skip to content

Implementation of the projects found in "The Big Book of Small Python Projects" (https://inventwithpython.com/bigbookpython/ by Al Sweigart (No Starch Press, 2021)

Notifications You must be signed in to change notification settings

joshuagladwin/The-Big-Book-of-Small-Python-Projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

The Big Book of Small Python Projects

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 List

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

About

Implementation of the projects found in "The Big Book of Small Python Projects" (https://inventwithpython.com/bigbookpython/ by Al Sweigart (No Starch Press, 2021)

Resources

Stars

Watchers

Forks

Languages