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 c to run
the notebook on Colab - Click on d to
run the notebook on DeepNote - Click on m to run the notebook
on MyBinder - Click on n 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 |
|---|---|---|
| c d m n | 2020 | Advent of Code 2020 |
| c d m n | 2018 | Advent of Code 2018 |
| c d m n | 2017 | Advent of Code 2017 |
| c d m n | 2016 | Advent of Code 2016 |
| c d m n | 2018 | Beal’s Conjecture Revisited |
| c d m n | 2020 | Bicycling Statistics |
| c d m n | 2018 | Can’t Stop |
| c d m n | 2019 | Chaos with Triangles |
| c d m n | 2017 | Conway’s Game of Life |
| c d m n | 2020 | Generating and Solving Mazes |
| c d m n | 2020 | Photo Focal Lengths |
| c d m n | 2018 | Pickleball Tournament |
| c d m n | 2017 | Project Euler Utilities |
| c d m n | 2020 | Tracking Trump: Electoral Votes |
| Run | Year | Logic and Number Puzzles |
|---|---|---|
| c d m n | 2014 | Cryptarithmetic |
| c d m n | 2018 | Euler’s Sum of Powers Conjecture |
| c d m n | 2020 | Four 4s, Five 5s, and Countdowns |
| c d m n | 2019 | Pairing Socks |
| c d m n | 2018 | Sicherman Dice |
| c d m n | 2014 | Sol Golomb’s Rectangle Puzzle |
| c d m n | 2020 | Square Sum Puzzle |
| c d m n | 2020 | When is Cheryl’s Birthday? (new: Mad Cheryl) |
| c d m n | 2015 | When Cheryl Met Eve: A Birthday Story |
| c d m n | 2015 | xkcd 1313: Regex Golf |
| c d m n | 2015 | xkcd 1313: Regex Golf (Part 2: Infinite Problems) |
| Run | Year | The Riddler (from 538) |
|---|---|---|
| c d m n | 2017 | Battle Royale |
| c d m n | 2021 | CrossProduct |
| c d m n | 2020 | Flipping Cards; A Guessing Game |
| c d m n | 2019 | Lottery |
| c d m n | 2019 | How Many Soldiers to Beat the Night King? |
| c d m n | 2017 | Misanthropic Neighbors |
| c d m n | 2018 | Properly Ordered Card Hands |
| c d m n | 2020 | Tour de 538 |
| c d m n | 2020 | Weighing Twelve Balls |
| c d m n | 2020 | War. What is it Good For? |
| Run | Year | Word Puzzles |
|---|---|---|
| c d m n | 2020 | Boggle / Inverse Boggle |
| c d m n | 2020 | Chemical Element Spelling |
| c d m n | 2020 | Equilength Numbers: FOUR = 4 |
| c d m n | 2017 | Gesture Typing |
| c d m n | 2017 | Ghost: A Word game |
| c d m n | 2018 | How to Do Things with Words: NLP in Python |
| c d m n | 2020 | Jotto: A Word Guessing Game |
| c d m n | 2015 | Let’s Code About Bike Locks |
| c d m n | 2017 | Scrabble: Refactoring a Crossword Game Program |
| c d m n | 2020 | Spelling Bee |
| c d m n | 2017 | Translating English into Propositional Logic |
| c d m n | 2017 | World’s Longest Palindrome |
| c d m n | 2020 | World’s Shortest Portmantout Word |
| c d m n | 2018 | xkcd 1970: Name Dominoes |
| Run | Year | Probability and Uncertainty |
|---|---|---|
| c d m n | 2018 | A Concrete Introduction to Probability |
| c d m n | 2016 | Probability, Paradox, and the Reasonable Person Principle |
| c d m n | 2020 | Estimating Probabilities with Simulations |
| c d m n | 2019 | The Devil and the Coin Flip Game |
| c d m n | 2020 | Dice Baseball |
| c d m n | 2018 | Economics Simulation |
| c d m n | 2012 | Poker Hand Ranking |
| c d m n | 2020 | The Unfinished Game …. of Risk |
| c d m n | 2019 | WWW: Who Will Win (NBA Title)? |
| Run | Year | Computer Science Algorithms and Concepts |
|---|---|---|
| c d m n | 2017 | Bad Grade, Good Experience |
| c d m n | 2017 | BASIC Interpreter |
| c d m n | 2017 | Convex Hull Problem |
| c d m n | 2020 | How to Count Things |
| c d m n | 2020 | Stable Matching Problem |
| c d m n | 2017 | Symbolic Algebra, Simplification, and Differentiation |
| c d m n | 2018 | Traveling Salesperson Problem |
Index of Python Files
| File | Description | Documentation |
|---|---|---|
| beal.py | Search for counterexamples to Beal’s Conjecture | documentation |
| docex.py | An obsolete 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.
