/pytudes

Python programs, usually short, of considerable difficulty, to perfect particular skills.

Primary LanguageJupyter NotebookMIT LicenseMIT

Peter Norvig
MIT License
2015-2020

pytudes

"An étude (a French word meaning study) is an instrumental musical composition, usually short, of considerable difficulty, and designed to provide practice material for perfecting a particular musical skill." — Wikipedia

This project contains pytudes—Python programs, usually short, for perfecting particular programming skills. Some programs are in Jupyter (.ipynb) notebooks, some in .py files. For each notebook you can:

  • Click on co to run the file on Colab
  • Click on dn to run the notebook on DeepNote
  • Click on my to run the notebook on MyBinder
  • Click on nb to view the notebook on NBViewer
  • Click on the title to view the notebook on github.
  • Hover over the title to view a description.

Index of Jupyter (IPython) Notebooks

Run Year Programming Examples
co dn my nb 2018 Advent of Code 2018
co dn my nb 2017 Advent of Code 2017
co dn my nb 2016 Advent of Code 2016
co dn my nb 2018 Beal's Conjecture Revisited
co dn my nb 2020 Bike Speed Versus Grade
co dn my nb 2018 Can't Stop
co dn my nb 2019 Chaos with Triangles
co dn my nb 2017 Conway's Game of Life
co dn my nb 2020 Dice Baseball
co dn my nb 2020 Generating and Solving Mazes
co dn my nb 2020 Photo Focal Lengths
co dn my nb 2018 Pickleball Tournament
co dn my nb 2017 Project Euler Utilities
co dn my nb 2018 Properly Ordered Card Hands
co dn my nb 2020 Tracking Trump: Electoral Votes
co dn my nb 2019 WWW: Who Will Win (NBA Title)?
Run Year Logic and Number Puzzles
co dn my nb 2014 Cryptarithmetic
co dn my nb 2020 Four 4s, Five 5s, Equilength Numbers, and Countdown to 2016
co dn my nb 2020 Flipping Cards: A Guessing Game
co dn my nb 2019 How Many Soldiers to Beat the Night King?
co dn my nb 2015 Let's Code About Bike Locks
co dn my nb 2019 Pairing Socks
co dn my nb 2017 The Puzzle of the Misanthropic Neighbors
co dn my nb 2017 Riddler: Battle Royale
co dn my nb 2019 Riddler Lottery
co dn my nb 2020 Riddler: Tour de 538
co dn my nb 2018 Sicherman Dice
co dn my nb 2014 Sol Golomb's Rectangle Puzzle
co dn my nb 2020 When is Cheryl's Birthday? (new: Mad Cheryl)
co dn my nb 2015 When Cheryl Met Eve: A Birthday Story
co dn my nb 2015 xkcd 1313: Regex Golf
co dn my nb 2015 xkcd 1313: Regex Golf (Part 2: Infinite Problems)
Run Year Word Puzzles
co dn my nb 2020 Boggle / Inverse Boggle
co dn my nb 2017 Crossword Game : Refactoring a Scrabble Program
co dn my nb 2020 Chemical Element Spelling
co dn my nb 2017 Gesture Typing
co dn my nb 2017 Ghost: A Word game
co dn my nb 2018 How to Do Things with Words: NLP in Python
co dn my nb 2020 Spelling Bee
co dn my nb 2017 Translating English into Propositional Logic
co dn my nb 2017 World's Longest Palindrome
co dn my nb 2020 World's Shortest Portmantout Word
co dn my nb 2018 xkcd 1970: Name Dominoes
Run Year Math Concepts: Probability, Uncertainty, Counting, etc.
co dn my nb 2018 A Concrete Introduction to Probability
co dn my nb 2016 Probability, Paradox, and the Reasonable Person Principle
co dn my nb 2020 Estimating Probabilities with Simulations
co dn my nb 2019 The Devil and the Coin Flip Game
co dn my nb 2018 Economics Simulation
co dn my nb 2018 Euler's Sum of Powers Conjecture
co dn my nb 2020 How to Count Things
co dn my nb 2020 Weighing Twelve Balls
co dn my nb 2017 Symbolic Algebra, Simplification, and Differentiation
Run Year Computer Science Algorithms and Concepts
co dn my nb 2017 Bad Grade, Good Experience
co dn my nb 2017 BASIC Interpreter
co dn my nb 2017 The Convex Hull Problem
co dn my nb 2020 The Stable Matching Problem
co dn my nb 2018 The Traveling Salesperson Problem

Index of Python Files

File Description Documentation
beal.py Search for counterexamples to Beal's Conjecture documentation
docex.py A framework for running unit tests, similar to doctest
ibol.py An Exercise in Species Barcoding documentation
lettercount.py Convert Google Ngram Counts to Letter Counts documentation
lis.py Lisp Interpreter written in Python documentation
lispy.py Even Better Lisp Interpreter written in Python documentation
lispytest.py Tests for Lisp Interpreters
pal.py Find long palindromes documentation
pal2.py Find longer palindromes documentation
pal3.py Find even longer palindromes documentation
pytudes.py Pre-process text to generate this README.md file.
py2html.py Pretty-printer to format Python files as html
SET.py Analyze the card game SET documentation
spell.py Spelling corrector documentation
sudoku.py Program to solve sudoku puzzles documentation
testaccum.py Tests for my failed Python accumulation display proposal documentation
yaptu.py Yet Another Python Templating Utility

Etudes for Programmers

I got the idea for the "etudes" part of the name from this 1978 book by Charles Wetherell that was very influential to me when I was first learning to program. I still have my copy.