pytudes/README.md
2022-12-10 12:28:49 -08:00

61 KiB
Raw Blame History

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.

Who is this for?

To continue the musical analogy, some people think of programming like Spotify: they want to know how to install the app, find a good playlist, and hit the “play” button; after that they dont want to think about it. There are plenty of other tutorials that will tell you how to do the equivalent of that for various programming tasks—this one wont help. But if you think of programming like playing the piano—a craft that can take years to perfect—then I hope this collection can help.

Index of Jupyter (IPython) Notebooks

For each notebook you can hover or click on the title, or click one of the letters in the left column to launch the notebook on Colab, Deepnote, Github, Mybinder, Sagemaker, or NBViewer.

Run Year Recent (2022)
CD GMNS 2022 AlphaCode
CD GMNS 2022 Advent of Code 2022
CD GMNS 2022 Winning Wordle
CD GMNS 2022 Goldbergs Character-level Language Model
CD GMNS 2022 Anigrams
Run Year Programming Examples
CD GMNS 2022 AlphaCode
CD GMNS 2018 Beals Conjecture Revisited
CD GMNS 2020 Bicycling Statistics
CD GMNS 2018 Cant Stop
CD GMNS 2019 Chaos with Triangles
CD GMNS 2017 Conways Game of Life
CD GMNS 2020 Generating and Solving Mazes
CD GMNS 2021 Mels Konane Board
CD GMNS Menu.ipynb Selecting Names from a Menu
CD GMNS 2020 Photo Focal Lengths
CD GMNS 2018 Pickleball Tournament
CD GMNS 2017 Project Euler Utilities
CD GMNS 2020 Tracking Trump: Electoral Votes
Run Year Advent of Code
CD GMNS 2022 Advent of Code 2022
CD GMNS 2021 Advent of Code 2021
CD GMNS 2020 Advent of Code 2020
CD GMNS 2018 Advent of Code 2018
CD GMNS 2017 Advent of Code 2017
CD GMNS 2016 Advent of Code 2016
CD GMNS 2021 Adent of COde Utilities
Run Year Logic and Number Puzzles
CD GMNS 2014 Cryptarithmetic
CD GMNS 2018 Eulers Sum of Powers Conjecture
CD GMNS 2020 Four 4s, Five 5s, and Countdowns
CD GMNS 2021 KenKen (Sudoku-like Puzzle)
CD GMNS 2019 Pairing Socks
CD GMNS 2018 Sicherman Dice
CD GMNS 2014 Sol Golombs Rectangle Puzzle
CD GMNS 2021 Star Battle (Sudoku-like Puzzle)
CD GMNS 2006 Sudoku
CD GMNS 2021 Sudoku: 100,000 puzzles/second in Java
CD GMNS 2020 Square Sum Puzzle
CD GMNS 2020 When is Cheryls Birthday?
CD GMNS 2015 When Cheryl Met Eve: A Birthday Story
CD GMNS 2015 xkcd 1313: Regex Golf
CD GMNS 2015 xkcd 1313: Regex Golf (Part 2: Infinite Problems)
Run Year Word Puzzles
CD GMNS 2020 Boggle / Inverse Boggle
CD GMNS 2020 Chemical Element Spelling
CD GMNS 2020 Equilength Numbers: FOUR = 4
CD GMNS 2017 Gesture Typing
CD GMNS 2017 Ghost: A Word game
CD GMNS 2018 How to Do Things with Words: NLP in Python
CD GMNS 2020 Jotto and Wordle: Word Guessing Games
CD GMNS 2015 Lets Code About Bike Locks
CD GMNS 2017 Scrabble: Refactoring a Crossword Game Program
CD GMNS 2020 Spelling Bee
CD GMNS 2017 Translating English into Propositional Logic
CD GMNS 2022 Winning Wordle
CD GMNS 2017 Worlds Longest Palindrome
CD GMNS 2020 Worlds Shortest Portmantout Word
CD GMNS 2018 xkcd 1970: Name Dominoes
Run Year Probability and Uncertainty
CD GMNS 2022 Goldbergs Character-level Language Model
CD GMNS 2018 A Concrete Introduction to Probability
CD GMNS 2016 Probability, Paradox, and the Reasonable Person Principle
CD GMNS 2020 Estimating Probabilities with Simulations
CD GMNS 2019 The Devil and the Coin Flip Game
CD GMNS 2020 Dice Baseball
CD GMNS 2018 Economics Simulation
CD GMNS 2012 Poker Hand Ranking
CD GMNS 2020 The Unfinished Game …. of Risk
CD GMNS 2019 WWW: Who Will Win (NBA Title)?
Run Year The Riddler (from 538)
CD GMNS 2022 Anigrams
CD GMNS 2017 Battle Royale
CD GMNS 2021 CrossProduct
CD GMNS 2020 Flipping Cards; A Guessing Game
CD GMNS 2019 Lottery
CD GMNS 2019 How Many Soldiers to Beat the Night King?
CD GMNS 2017 Misanthropic Neighbors
CD GMNS 2018 Properly Ordered Card Hands
CD GMNS 2021 Split the States
CD GMNS 2020 Tour de 538
CD GMNS 2020 Weighing Twelve Balls
CD GMNS 2020 War. What is it Good For?
Run Year Computer Science Algorithms and Concepts
CD GMNS 2017 BASIC Interpreter
CD GMNS 2017 Convex Hull Problem
CD GMNS 2020 How to Count Things
CD GMNS 2020 Stable Matching Problem
CD GMNS 2017 Symbolic Algebra, Simplification, and Differentiation
CD GMNS 2017 Snobol: Bad Grade, Good Experience
CD GMNS 2018 Traveling Salesperson Problem

Index of Python Files

File Description Documentation
beal.py Search for counterexamples to Beals 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.