Github url

pytudes

by norvig

norvig /pytudes

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

13.8K Stars 1.7K Forks Last release: Not found MIT License 579 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

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 dnmy nb | 2018 | Advent of Code 2018 | | co dnmy nb | 2017 | Advent of Code 2017 | | co dnmy nb | 2016 | Advent of Code 2016 | | co dnmy nb | 2018 | Beal's Conjecture Revisited | | co dnmy nb | 2020 | Bike Speed Versus Grade | | co dnmy nb | 2018 | Can't Stop | | co dnmy nb | 2019 | Chaos with Triangles | | co dnmy nb | 2017 | Conway's Game of Life | | co dnmy nb | 2020 | Generating and Solving Mazes | | co dnmy nb | 2020 | Photo Focal Lengths | | co dnmy nb | 2018 | Pickleball Tournament | | co dnmy nb | 2017 | Project Euler Utilities | | co dnmy nb | 2020 | Tracking Trump: Electoral Votes |

|Run|Year|Logic and Number Puzzles| |---|----|---| | co dnmy nb | 2014 | Cryptarithmetic | | co dnmy nb | 2020 | Four 4s, Five 5s, Equilength Numbers, and Countdown to 2016 | | co dnmy nb | 2019 | Pairing Socks | | co dnmy nb | 2018 | Sicherman Dice | | co dnmy nb | 2014 | Sol Golomb's Rectangle Puzzle | | co dnmy nb | 2020 | When is Cheryl's Birthday? (new: Mad Cheryl) | | co dnmy nb | 2015 | When Cheryl Met Eve: A Birthday Story | | co dnmy nb | 2015 | xkcd 1313: Regex Golf | | co dnmy nb | 2015 | xkcd 1313: Regex Golf (Part 2: Infinite Problems) |

|Run|Year|The Riddler (from 538)| |---|----|---| | co dnmy nb | 2017 | Riddler: Battle Royale | | co dnmy nb | 2020 | Riddler: Flipping Cards; A Guessing Game | | co dnmy nb | 2019 | Riddler: Lottery | | co dnmy nb | 2019 | Riddler: How Many Soldiers to Beat the Night King? | | co dnmy nb | 2018 | Riddler: Properly Ordered Card Hands | | co dnmy nb | 2017 | Riddler: The Puzzle of the Misanthropic Neighbors | | co dnmy nb | 2020 | Riddler: Tour de 538 | | co dnmy nb | 2020 | Riddler: Weighing Twelve Balls |

|Run|Year|Word Puzzles| |---|----|---| | co dnmy nb | 2020 | Boggle / Inverse Boggle | | co dnmy nb | 2020 | Chemical Element Spelling | | co dnmy nb | 2017 | Gesture Typing | | co dnmy nb | 2017 | Ghost: A Word game | | co dnmy nb | 2018 | How to Do Things with Words: NLP in Python | | co dnmy nb | 2020 | Jotto: A Word Guessing Game | | co dnmy nb | 2015 | Let's Code About Bike Locks | | co dnmy nb | 2017 | Scrabble: Refactoring a Crossword Game Program | | co dnmy nb | 2020 | Spelling Bee | | co dnmy nb | 2017 | Translating English into Propositional Logic | | co dnmy nb | 2017 | World's Longest Palindrome | | co dnmy nb | 2020 | World's Shortest Portmantout Word | | co dnmy nb | 2018 | xkcd 1970: Name Dominoes |

|Run|Year|Probability, Uncertainty, and Counting| |---|----|---| | co dnmy nb | 2018 | A Concrete Introduction to Probability | | co dnmy nb | 2016 | Probability, Paradox, and the Reasonable Person Principle | | co dnmy nb | 2020 | Estimating Probabilities with Simulations | | co dnmy nb | 2019 | The Devil and the Coin Flip Game | | co dnmy nb | 2020 | Dice Baseball | | co dnmy nb | 2018 | Economics Simulation | | co dnmy nb | 2018 | [co](https://github.com/norvig/pytudes/blob/master/ipynb/Euler's%20Conjecture.ipynb "Solving a 200-year-old puzzle by finding integers that satisfy a5 + b5 + c5 + d5 = e5">Euler's Sum of Powers Conjecture | | <a href=") dnmy nb | 2020 | How to Count Things | | co dnmy nb | 2020 | The Unfinished Game .... of Risk | | co dnmy nb | 2019 | WWW: Who Will Win (NBA Title)? |

|Run|Year|Computer Science Algorithms and Concepts| |---|----|---| | co dnmy nb | 2017 | Bad Grade, Good Experience | | co dnmy nb | 2017 | BASIC Interpreter | | co dnmy nb | 2017 | The Convex Hull Problem | | co dnmy nb | 2020 | The Stable Matching Problem | | co dnmy nb | 2017 | Symbolic Algebra, Simplification, and Differentiation | | co dnmy 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|_An obsolete framework for running unit tests, similar to

doctest
```_ || |[ibol.py](https://github.com/norvig/pytudes/blob/master//blob/master/py/ibol.py)|_An Exercise in Species Barcoding_|[documentation](http://norvig.com/ibol.html)| |[lettercount.py](https://github.com/norvig/pytudes/blob/master//blob/master/py/lettercount.py)|_Convert Google Ngram Counts to Letter Counts_|[documentation](http://norvig.com/mayzner.html)| |[lis.py](https://github.com/norvig/pytudes/blob/master//blob/master/py/lis.py)|_Lisp Interpreter written in Python_|[documentation](http://norvig.com/lispy.html)| |[lispy.py](https://github.com/norvig/pytudes/blob/master//blob/master/py/lispy.py)|_Even Better Lisp Interpreter written in Python_|[documentation](http://norvig.com/lispy2.html)| |[lispytest.py](https://github.com/norvig/pytudes/blob/master//blob/master/py/lispytest.py)|_Tests for Lisp Interpreters_|| |[pal.py](https://github.com/norvig/pytudes/blob/master//blob/master/py/pal.py)|_Find long palindromes_|[documentation](http://norvig.com/palindrome.html)| |[pal2.py](https://github.com/norvig/pytudes/blob/master//blob/master/py/pal2.py)|_Find longer palindromes_|[documentation](http://norvig.com/palindrome.html)| |[pal3.py](https://github.com/norvig/pytudes/blob/master//blob/master/py/pal3.py)|_Find even longer palindromes_|[documentation](http://norvig.com/palindrome.html)| |[pytudes.py](https://github.com/norvig/pytudes/blob/master//blob/master/py/pytudes.py)|_Pre-process text to generate this README.md file._|| |[py2html.py](https://github.com/norvig/pytudes/blob/master//blob/master/py/py2html.py)|_Pretty-printer to format Python files as html_|| |[SET.py](https://github.com/norvig/pytudes/blob/master//blob/master/py/SET.py)|_Analyze the card game SET_|[documentation](http://norvig.com/SET.html)| |[spell.py](https://github.com/norvig/pytudes/blob/master//blob/master/py/spell.py)|_Spelling corrector_|[documentation](http://norvig.com/spell-correct.html)| |[sudoku.py](https://github.com/norvig/pytudes/blob/master//blob/master/py/sudoku.py)|_Program to solve sudoku puzzles_|[documentation](http://norvig.com/sudoku.html)| |[testaccum.py](https://github.com/norvig/pytudes/blob/master//blob/master/py/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 bookby Charles Wetherellthat was very influential to me when I was first learning to program. I still have my copy.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.