diff --git a/README.md b/README.md index c812538..0e1e778 100644 --- a/README.md +++ b/README.md @@ -9,61 +9,61 @@ Some are in Jupyter (IPython) notebooks, some in `.py` files. You can view the f # Index of Jupyter (IPython) Notebooks + |Programming Examples| |---| -|[Advent of Code 2017](https://github.com/norvig/pytudes/blob/master/ipynb/Advent%202017.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Advent%202017.ipynb)**
*Puzzle site with a coding puzzle each day for Advent 2017.*| -|[Advent of Code 2016](https://github.com/norvig/pytudes/blob/master/ipynb/Advent%20of%20Code.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//dvent%20of%20Code.ipynb)**
*Puzzle site with a coding puzzle each day for Advent 2016*.| -|[Project Euler Utilities](https://github.com/norvig/pytudes/blob/master/ipynb/Project%20Euler%20Utils.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Project%20Euler%20Utils.ipynb)**
*My utility functions for the Project Euler problems, including `Primes` and `Factors`.*| -|[Translating English Sentences into Propositional Logic Statements](https://github.com/norvig/pytudes/blob/master/ipynb/PropositionalLogic.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//PropositionalLogic.ipynb)**
*Automatically converting informal English sentences into formal Propositional Logic.*| -|[Beal's Conjecture Revisited](https://github.com/norvig/pytudes/blob/master/ipynb/Beal.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Beal.ipynb)**
*A search for counterexamples to Beal's Conjecture*| -|[WWW: Who Will Win (NBA Title)?](https://github.com/norvig/pytudes/blob/master/ipynb/WWW.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//WWW.ipynb)**
*Computing the probability of winning the NBA title, for my home town Warriors, or any other team.*| -|[Pickleball Tournament](https://github.com/norvig/pytudes/blob/master/ipynb/Pickleball.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Pickleball.ipynb)**
*Scheduling a doubles tournament fairly and efficiently.*| -|[Conway's Game of Life](https://github.com/norvig/pytudes/blob/master/ipynb/Life.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Life.ipynb)**
*The cellular automata zero-player game.*| -|[A Chaos Game with Triangles](https://github.com/norvig/pytudes/blob/master/ipynb/Sierpinski.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Sierpinski.ipynb)**
*A surprising appearance of the Sierpinski triangle in a random walk between vertexes.*| -|[Generating Mazes](https://github.com/norvig/pytudes/blob/master/ipynb/Maze.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Maze.ipynb)**
*Make a maze by generating a random tree superimposed on a grid.*| -|[Can't Stop](https://github.com/norvig/pytudes/blob/master/ipynb/Cant-Stop.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Cant-Stop.ipynb)**
*Optimal play in a dice board game.*| -|[Bike Speed Versus Grade](https://github.com/norvig/pytudes/blob/master/ipynb/Bike%20Speed%20versus%20Grade.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Bike%20Speed%20versus%20Grade.ipynb)**
*How fast can I bike as the route gets steeper?*| -|[Properly Ordered Card Hands](https://github.com/norvig/pytudes/blob/master/ipynb/Orderable%20Cards.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Orderable%20Cards.ipynb)**
*Can you get your hand of cards into a nice order with just one move?*| +|[Advent of Code 2017](https:/github.com/norvig/pytudes/blob/master/ipynb/Advent%202017.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Advent%202017.ipynb)**
*Puzzle site with a coding puzzle each day for Advent 2017.*| +|[Advent of Code 2016](https:/github.com/norvig/pytudes/blob/master/ipynb/Advent%20of%20Code.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/dvent%20of%20Code.ipynb)**
*Puzzle site with a coding puzzle each day for Advent 2016*.| +|[Project Euler Utilities](https:/github.com/norvig/pytudes/blob/master/ipynb/Project%20Euler%20Utils.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Project%20Euler%20Utils.ipynb)**
*My utility functions for the Project Euler problems, including `Primes` and `Factors`.*| +|[Translating English Sentences into Propositional Logic Statements](https:/github.com/norvig/pytudes/blob/master/ipynb/PropositionalLogic.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/PropositionalLogic.ipynb)**
*Automatically converting informal English sentences into formal Propositional Logic.*| +|[Beal's Conjecture Revisited](https:/github.com/norvig/pytudes/blob/master/ipynb/Beal.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Beal.ipynb)**
*A search for counterexamples to Beal's Conjecture*| +|[WWW: Who Will Win (NBA Title)?](https:/github.com/norvig/pytudes/blob/master/ipynb/WWW.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/WWW.ipynb)**
*Computing the probability of winning the NBA title, for my home town Warriors, or any other team.*| +|[Pickleball Tournament](https:/github.com/norvig/pytudes/blob/master/ipynb/Pickleball.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Pickleball.ipynb)**
*Scheduling a doubles tournament fairly and efficiently.*| +|[Conway's Game of Life](https:/github.com/norvig/pytudes/blob/master/ipynb/Life.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Life.ipynb)**
*The cellular automata zero-player game.*| +|[A Chaos Game with Triangles](https:/github.com/norvig/pytudes/blob/master/ipynb/Sierpinski.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Sierpinski.ipynb)**
*A surprising appearance of the Sierpinski triangle in a random walk between vertexes.*| +|[Generating Mazes](https:/github.com/norvig/pytudes/blob/master/ipynb/Maze.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Maze.ipynb)**
*Make a maze by generating a random tree superimposed on a grid.*| +|[Can't Stop](https:/github.com/norvig/pytudes/blob/master/ipynb/Cant-Stop.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Cant-Stop.ipynb)**
*Optimal play in a dice board game.*| +|[Bike Speed Versus Grade](https:/github.com/norvig/pytudes/blob/master/ipynb/Bike%20Speed%20versus%20Grade.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Bike%20Speed%20versus%20Grade.ipynb)**
*How fast can I bike as the route gets steeper?*| +|[Properly Ordered Card Hands](https:/github.com/norvig/pytudes/blob/master/ipynb/Orderable%20Cards.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Orderable%20Cards.ipynb)**
*Can you get your hand of cards into a nice order with just one move?*| |Logic and Number Puzzles| |---| -|[When is Cheryl's Birthday?](https://github.com/norvig/pytudes/blob/master/ipynb/Cheryl.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Cheryl.ipynb)**
*Solving the "Cheryl's Birthday" logic puzzle.*| -|[When Cheryl Met Eve: A Birthday Story](https://github.com/norvig/pytudes/blob/master/ipynb/Cheryl-and-Eve.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Cheryl-and-Eve.ipynb)**
*Inventing new puzzles in the Style of Cheryl's Birthday.*| -|[The Devil and the Coin Flip Game](https://github.com/norvig/pytudes/blob/master/ipynb/Coin%20Flip.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Coin%20Flip.ipynb)**
*How to beat the Devil at his own game.*| -|[The Puzzle of the Misanthropic Neighbors](https://github.com/norvig/pytudes/blob/master/ipynb/Mean%20Misanthrope%20Density.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Mean%20Misanthrope%20Density.ipynb)**
*How crowded will this neighborhood be, if nobody wants to live next door to anyone else?*| -|[Four 4s, Five 5s, and Countdown to 2016](https://github.com/norvig/pytudes/blob/master/ipynb/Countdown.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Countdown.ipynb)**
*Solving the equation 10 _ 9 _ 8 _ 7 _ 6 _ 5 _ 4 _ 3 _ 2 _ 1 = 2016. From an Alex Bellos puzzle.*| -|[Sicherman Dice](https://github.com/norvig/pytudes/blob/master/ipynb/Sicherman%20Dice.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Sicherman%20Dice.ipynb)**
*Find a pair of dice that is like a regular pair of dice, only different.*| -|[Sol Golomb's Rectangle Puzzle](https://github.com/norvig/pytudes/blob/master/ipynb/Golomb-Puzzle.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Golomb-Puzzle.ipynb)**
*A Puzzle involving placing rectangles of different sizes inside a square. Bonus: cryptarithmetic.*| -|[The Riddler: Battle Royale](https://github.com/norvig/pytudes/blob/master/ipynb/Riddler%20Battle%20Royale.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Riddler%20Battle%20Royale.ipynb)**
*A puzzle involving allocating your troops and going up against an opponent.*| +|[When is Cheryl's Birthday?](https:/github.com/norvig/pytudes/blob/master/ipynb/Cheryl.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Cheryl.ipynb)**
*Solving the "Cheryl's Birthday" logic puzzle.*| +|[When Cheryl Met Eve: A Birthday Story](https:/github.com/norvig/pytudes/blob/master/ipynb/Cheryl-and-Eve.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Cheryl-and-Eve.ipynb)**
*Inventing new puzzles in the Style of Cheryl's Birthday.*| +|[The Devil and the Coin Flip Game](https:/github.com/norvig/pytudes/blob/master/ipynb/Coin%20Flip.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Coin%20Flip.ipynb)**
*How to beat the Devil at his own game.*| +|[The Puzzle of the Misanthropic Neighbors](https:/github.com/norvig/pytudes/blob/master/ipynb/Mean%20Misanthrope%20Density.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Mean%20Misanthrope%20Density.ipynb)**
*How crowded will this neighborhood be, if nobody wants to live next door to anyone else?*| +|[Four 4s, Five 5s, and Countdown to 2016](https:/github.com/norvig/pytudes/blob/master/ipynb/Countdown.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Countdown.ipynb)**
*Solving the equation 10 _ 9 _ 8 _ 7 _ 6 _ 5 _ 4 _ 3 _ 2 _ 1 = 2016. From an Alex Bellos puzzle.*| +|[Sicherman Dice](https:/github.com/norvig/pytudes/blob/master/ipynb/Sicherman%20Dice.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Sicherman%20Dice.ipynb)**
*Find a pair of dice that is like a regular pair of dice, only different.*| +|[Sol Golomb's Rectangle Puzzle](https:/github.com/norvig/pytudes/blob/master/ipynb/Golomb-Puzzle.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Golomb-Puzzle.ipynb)**
*A Puzzle involving placing rectangles of different sizes inside a square. Bonus: cryptarithmetic.*| +|[The Riddler: Battle Royale](https:/github.com/norvig/pytudes/blob/master/ipynb/Riddler%20Battle%20Royale.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Riddler%20Battle%20Royale.ipynb)**
*A puzzle involving allocating your troops and going up against an opponent.*| |Word Games| |---| -|[xkcd 1970: Name Dominoes](https://github.com/norvig/pytudes/blob/master/ipynb/xkcd-Name-Dominoes.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//xkcd-Name-Dominoes.ipynb)**
*Lay out dominoes legally; the dominoes have people names, not numbers.*| -|[Ghost](https://github.com/norvig/pytudes/blob/master/ipynb/Ghost.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Ghost.ipynb)**
*The word game Ghost (add letters, try to avoid making a word).*| -|[World's Longest Palindrome](https://github.com/norvig/pytudes/blob/master/ipynb/pal3.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//pal3.ipynb)**
*Searching for a long Panama-style palindrome, this time letter-by-letter.*| -|[Refactoring a Crossword Game Program](https://github.com/norvig/pytudes/blob/master/ipynb/Scrabble.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Scrabble.ipynb)**
*Refactoring the Scrabble / Word with Friends game from Udacity 212.*| -|[xkcd 1313: Regex Golf](https://github.com/norvig/pytudes/blob/master/ipynb/xkcd1313.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//xkcd1313.ipynb)**
*Find the smallest regular expression; inspired by Randall Monroe.*| -|[xkcd 1313: Regex Golf (Part 2: Infinite Problems)](https://github.com/norvig/pytudes/blob/master/ipynb/xkcd1313-part2.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//xkcd1313-part2.ipynb)**
*Regex Golf: better, faster, funner. With Stefan Pochmann.*| -|[Let's Code About Bike Locks](https://github.com/norvig/pytudes/blob/master/ipynb/Fred%20Buns.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Fred%20Buns.ipynb)**
*A tale of a bicycle combination lock that uses letters instead of digits. Inspired by Bike Snob NYC.*| -|[Gesture Typing](https://github.com/norvig/pytudes/blob/master/ipynb/Gesture%20Typing.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Gesture%20Typing.ipynb)**
*What word has the longest path on a gesture-typing smartphone keyboard?*| -|[How to Do Things with Words, or Statistical Natural Language Processing in Python](https://github.com/norvig/pytudes/blob/master/ipynb/How%20to%20Do%20Things%20with%20Words.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//How%20to%20Do%20Things%20with%20Words.ipynb)**
*Spelling Correction, Secret Codes, Word Segmentation, and more: grab your bag of words.*| +|[xkcd 1970: Name Dominoes](https:/github.com/norvig/pytudes/blob/master/ipynb/xkcd-Name-Dominoes.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/xkcd-Name-Dominoes.ipynb)**
*Lay out dominoes legally; the dominoes have people names, not numbers.*| +|[Ghost](https:/github.com/norvig/pytudes/blob/master/ipynb/Ghost.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Ghost.ipynb)**
*The word game Ghost (add letters, try to avoid making a word).*| +|[World's Longest Palindrome](https:/github.com/norvig/pytudes/blob/master/ipynb/pal3.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/pal3.ipynb)**
*Searching for a long Panama-style palindrome, this time letter-by-letter.*| +|[Refactoring a Crossword Game Program](https:/github.com/norvig/pytudes/blob/master/ipynb/Scrabble.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Scrabble.ipynb)**
*Refactoring the Scrabble / Word with Friends game from Udacity 212.*| +|[xkcd 1313: Regex Golf](https:/github.com/norvig/pytudes/blob/master/ipynb/xkcd1313.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/xkcd1313.ipynb)**
*Find the smallest regular expression; inspired by Randall Monroe.*| +|[xkcd 1313: Regex Golf (Part 2: Infinite Problems)](https:/github.com/norvig/pytudes/blob/master/ipynb/xkcd1313-part2.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/xkcd1313-part2.ipynb)**
*Regex Golf: better, faster, funner. With Stefan Pochmann.*| +|[Let's Code About Bike Locks](https:/github.com/norvig/pytudes/blob/master/ipynb/Fred%20Buns.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Fred%20Buns.ipynb)**
*A tale of a bicycle combination lock that uses letters instead of digits. Inspired by Bike Snob NYC.*| +|[Gesture Typing](https:/github.com/norvig/pytudes/blob/master/ipynb/Gesture%20Typing.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Gesture%20Typing.ipynb)**
*What word has the longest path on a gesture-typing smartphone keyboard?*| +|[How to Do Things with Words, or Statistical Natural Language Processing in Python](https:/github.com/norvig/pytudes/blob/master/ipynb/How%20to%20Do%20Things%20with%20Words.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/How%20to%20Do%20Things%20with%20Words.ipynb)**
*Spelling Correction, Secret Codes, Word Segmentation, and more: grab your bag of words.*| |Math Concepts| |---| -|[A Concrete Introduction to Probability](https://github.com/norvig/pytudes/blob/master/ipynb/Probability.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Probability.ipynb)**
*Code and examples of the basic principles of Probability Theory.*| -|[Probability, Paradox, and the Reasonable Person Principle](https://github.com/norvig/pytudes/blob/master/ipynb/ProbabilityParadox.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//ProbabilityParadox.ipynb)**
*Some classic paradoxes in Probability Theory, and how to think about disagreements.*| -|[Symbolic Algebra, Simplification, and Differentiation](https://github.com/norvig/pytudes/blob/master/ipynb/Differentiation.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Differentiation.ipynb)**
*A computer algebra system that manipulates expressions, including symbolic differentiation.*| -|[Economics Simulation](https://github.com/norvig/pytudes/blob/master/ipynb/Economics.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Economics.ipynb)**
*A simulation of a simple economic game.*| -|[How to Count Things](https://github.com/norvig/pytudes/blob/master/ipynb/How%20To%20Count%20Things.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//How%20To%20Count%20Things.ipynb)**
*Combinatorial math: how to count how many things there are, when there are a lot of them.*| -|[Euler's Sum of Powers Conjecture](https://github.com/norvig/pytudes/blob/master/ipynb/Euler's%20Conjecture.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/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.*| +|[A Concrete Introduction to Probability](https:/github.com/norvig/pytudes/blob/master/ipynb/Probability.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Probability.ipynb)**
*Code and examples of the basic principles of Probability Theory.*| +|[Probability, Paradox, and the Reasonable Person Principle](https:/github.com/norvig/pytudes/blob/master/ipynb/ProbabilityParadox.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/ProbabilityParadox.ipynb)**
*Some classic paradoxes in Probability Theory, and how to think about disagreements.*| +|[Symbolic Algebra, Simplification, and Differentiation](https:/github.com/norvig/pytudes/blob/master/ipynb/Differentiation.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Differentiation.ipynb)**
*A computer algebra system that manipulates expressions, including symbolic differentiation.*| +|[Economics Simulation](https:/github.com/norvig/pytudes/blob/master/ipynb/Economics.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Economics.ipynb)**
*A simulation of a simple economic game.*| +|[How to Count Things](https:/github.com/norvig/pytudes/blob/master/ipynb/How%20To%20Count%20Things.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/How%20To%20Count%20Things.ipynb)**
*Combinatorial math: how to count how many things there are, when there are a lot of them.*| +|[Euler's Sum of Powers Conjecture](https:/github.com/norvig/pytudes/blob/master/ipynb/Euler's%20Conjecture.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/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.*| |Computer Science Algorithms and Concepts| |---| -|[BASIC Interpreter](https://github.com/norvig/pytudes/blob/master/ipynb/BASIC.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//BASIC.ipynb)**
*How to write an interpreter for the BASIC programming language.*| -|[Bad Grade, Good Experience](https://github.com/norvig/pytudes/blob/master/ipynb/Snobol.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Snobol.ipynb)**
*As a student, did you ever get a bad grade on a programming assignment? (Snobol, Concordance)*| -|[The Convex Hull Problem](https://github.com/norvig/pytudes/blob/master/ipynb/Convex%20Hull.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//Convex%20Hull.ipynb)**
*A classic Computer Science Algorithm.*| -|[The Traveling Salesperson Problem](https://github.com/norvig/pytudes/blob/master/ipynb/TSP.ipynb)    **[NB]( http://nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb//TSP.ipynb)**
*Another of the classics.*| - +|[BASIC Interpreter](https:/github.com/norvig/pytudes/blob/master/ipynb/BASIC.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/BASIC.ipynb)**
*How to write an interpreter for the BASIC programming language.*| +|[Bad Grade, Good Experience](https:/github.com/norvig/pytudes/blob/master/ipynb/Snobol.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Snobol.ipynb)**
*As a student, did you ever get a bad grade on a programming assignment? (Snobol, Concordance)*| +|[The Convex Hull Problem](https:/github.com/norvig/pytudes/blob/master/ipynb/Convex%20Hull.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/Convex%20Hull.ipynb)**
*A classic Computer Science Algorithm.*| +|[The Traveling Salesperson Problem](https:/github.com/norvig/pytudes/blob/master/ipynb/TSP.ipynb)    **[NB]( http:/nbviewer.jupyter.org/github/norvig/pytudes/blob/master/ipynb/TSP.ipynb)**
*Another of the classics.*| # Index of Python Files