[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-10200":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":16,"starSnapshotCount":16,"syncStatus":34,"lastSyncTime":35,"discoverSource":36},10200,"pytudes","norvig\u002Fpytudes","norvig","Python programs, usually short, of considerable difficulty, to perfect particular skills.","",null,"Jupyter Notebook",24337,2488,776,24,0,3,19,1,45,"MIT License",false,"main",true,[26,27,28,29,30],"demonstrate-skills","practice","programming","python","python-3","2026-06-12 02:02:18","\n\u003Cdiv align=\"right\" style=\"text-align:right\">\u003Ci>Peter Norvig\n\u003Cbr>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002FLICENSE\">MIT License\u003C\u002Fa>\u003Cbr>2015-2026\u003C\u002Fi>\u003C\u002Fdiv>\n\n# pytudes\n\n\"An ***étude*** (a French word meaning *study*) is an instrumental musical composition, usually short, of considerable difficulty, \nand designed to provide practice material for perfecting a particular musical skill.\" — [*Wikipedia*](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002F%C3%89tude)\n\nThis project contains ***pytudes***—Python programs, usually short, for perfecting particular programming skills.\n\n# Who is this for?\n\nTo continue the musical analogy, some people think of programming like [Spotify](http:\u002F\u002Fspotify.com): they want to know how to install the app, find a good playlist, and hit the \"play\" button; after that they don't 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 won't help. But if you think of programming like playing the piano—a craft that can take [years](https:\u002F\u002Fnorvig.com\u002F21-days.html) to perfect—then I hope this collection can help.\n\n# Index of Jupyter (IPython) Notebooks\n\nFor each notebook you can hover on the title to see a description, or click the title to view on github, or click one of the letters in the left column to launch the notebook on \n[**C**olab](https:\u002F\u002Fcolab.research.google.com),\n[**D**eepnote](https:\u002F\u002Fdeepnote.com),\n[**M**ybinder](https:\u002F\u002Fmybinder.org),\n[**S**agemaker](https:\u002F\u002Fstudiolab.sagemaker.aws\u002F), or\n[**N**BViewer](https:\u002F\u002Fnbviewer.jupyter.org\u002F).\n\n\n\n|Run|Year|New|\n|---|---|---|\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fclvr.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2Fclvr.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2Fclvr.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fclvr.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fclvr.ipynb) | 2026 | \u003Ca href=\"ipynb\u002Fclvr.ipynb\" title=\"Guess famous phrases from letter shapes. Beginner level.\">Did you solve it? R y clvr ngh t rd ths sntnc?\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FEuler3.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FEuler3.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FEuler3.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FEuler3.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FEuler3.ipynb) | 2026 | \u003Ca href=\"ipynb\u002FEuler3.ipynb\" title=\"Find the largest prime factor of a number\">Project Euler #3: Largest prime factor\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FTruncatablePrimes.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FTruncatablePrimes.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FTruncatablePrimes.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FTruncatablePrimes.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FTruncatablePrimes.ipynb) | 2026 | \u003Ca href=\"ipynb\u002FTruncatablePrimes.ipynb\" title=\"Prime numbers where you can remove digits and still get primes.\">Truncatable Primes\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2025.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2025.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FAdvent-2025.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2025.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2025.ipynb) | 2025 | \u003Ca href=\"ipynb\u002FAdvent-2025.ipynb\" title=\"Puzzle site with a coding puzzle for 12 days of Christmas, December 2025\">Advent of Code 2025\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2025-AI.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2025-AI.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FAdvent-2025-AI.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2025-AI.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2025-AI.ipynb) | 2025 | \u003Ca href=\"ipynb\u002FAdvent-2025-AI.ipynb\" title=\"Using large language coding models to solve AoC puzzles\">Advent of Code 2025: AI LLM Edition\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2024.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2024.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FAdvent-2024.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2024.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2024.ipynb) | 2024 | \u003Ca href=\"ipynb\u002FAdvent-2024.ipynb\" title=\"Puzzle site with a coding puzzle each day of Advent, December 2024\">Advent of Code 2024\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FPaint.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FPaint.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FPaint.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FPaint.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FPaint.ipynb) | 2024 | \u003Ca href=\"ipynb\u002FPaint.ipynb\" title=\"What is the average cluster size of a random grid of colored squares?\">Counting Cluster Sizes in Paint by Numbers\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCherylMind.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FCherylMind.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FCherylMind.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCherylMind.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCherylMind.ipynb) | 2024 | \u003Ca href=\"ipynb\u002FCherylMind.ipynb\" title=\"Do LLMs have enough theory of mind to solve the Cheryl's Birthday puzzle?\">LLMs, Theory of Mind, and Cheryl's Birthday\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FNumberBracelets.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FNumberBracelets.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FNumberBracelets.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FNumberBracelets.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FNumberBracelets.ipynb) | 2024 | \u003Ca href=\"ipynb\u002FNumberBracelets.ipynb\" title=\"A game involving numbered beads on a circular bracelet.\">Number Bracelets Game\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FOvertime.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FOvertime.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FOvertime.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FOvertime.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FOvertime.ipynb) | 2024 | \u003Ca href=\"ipynb\u002FOvertime.ipynb\" title=\"In American Football, which team has the advantage in overtime?\">Overtime in American Football\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FStubborn.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FStubborn.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FStubborn.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FStubborn.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FStubborn.ipynb) | 2024 | \u003Ca href=\"ipynb\u002FStubborn.ipynb\" title=\"Any number ending in 5 has a square that also ends in 5. What other endings are like this?\">Stubborn number endings\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FTriplets.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FTriplets.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FTriplets.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FTriplets.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FTriplets.ipynb) | 2024 | \u003Ca href=\"ipynb\u002FTriplets.ipynb\" title=\"LLMs do better at producing a program to solve this puzzle than they do at solving it directly\">The Languages of English, Math, and Programming\u003C\u002Fa> |\n\n\n|Run|Year|Programming Examples|\n|---|---|---|\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAlphaCode.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAlphaCode.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FAlphaCode.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAlphaCode.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAlphaCode.ipynb) | 2022 | \u003Ca href=\"ipynb\u002FAlphaCode.ipynb\" title=\"Analysis of AlphaCode's automated solution to a coding problem\">AlphaCode Automated Programming\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FBabylonian%20digits.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FBabylonian%20digits.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FBabylonian%20digits.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FBabylonian%20digits.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FBabylonian%20digits.ipynb) | 2022 | \u003Ca href=\"ipynb\u002FBabylonian%20digits.ipynb\" title=\"Translating between Babylonian and traditional number systems.\">The Babylonian Number System\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FBeal.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FBeal.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FBeal.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FBeal.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FBeal.ipynb) | 2018 | \u003Ca href=\"ipynb\u002FBeal.ipynb\" title=\"A search for counterexamples to Beal's Conjecture\">Beal's Conjecture Revisited\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FBike-Stats.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FBike-Stats.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FBike-Stats.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FBike-Stats.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FBike-Stats.ipynb) | 2020 | \u003Ca href=\"ipynb\u002FBike-Stats.ipynb\" title=\"Visualizing statistics about bike routes\">Bicycling Statistics\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCant-Stop.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FCant-Stop.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FCant-Stop.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCant-Stop.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCant-Stop.ipynb) | 2018 | \u003Ca href=\"ipynb\u002FCant-Stop.ipynb\" title=\"Optimal play in a dice board game\">Can't Stop\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FSierpinski.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FSierpinski.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FSierpinski.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FSierpinski.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FSierpinski.ipynb) | 2019 | \u003Ca href=\"ipynb\u002FSierpinski.ipynb\" title=\"A surprising appearance of the Sierpinski triangle in a random walk\">Chaos with Triangles\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FLife.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FLife.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FLife.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FLife.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FLife.ipynb) | 2017 | \u003Ca href=\"ipynb\u002FLife.ipynb\" title=\"The cellular automata zero-player game\">Conway's Game of Life\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FMaze.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FMaze.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FMaze.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FMaze.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FMaze.ipynb) | 2020 | \u003Ca href=\"ipynb\u002FMaze.ipynb\" title=\"Make a maze by generating a random tree superimposed on a grid and solve it\">Generating and Solving Mazes\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FTriplets.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FTriplets.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FTriplets.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FTriplets.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FTriplets.ipynb) | 2024 | \u003Ca href=\"ipynb\u002FTriplets.ipynb\" title=\"LLMs do better at producing a program to solve this puzzle than they do at solving it directly\">The Languages of English, Math, and Programming\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FKonane.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FKonane.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FKonane.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FKonane.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FKonane.ipynb) | 2021 | \u003Ca href=\"ipynb\u002FKonane.ipynb\" title=\"Solving the game of Konane (Hawaiian checkers).\">Mel's Konane Board\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FPhotoFocalLengths.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FPhotoFocalLengths.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FPhotoFocalLengths.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FPhotoFocalLengths.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FPhotoFocalLengths.ipynb) | 2020 | \u003Ca href=\"ipynb\u002FPhotoFocalLengths.ipynb\" title=\"Generate charts of what focal lengths were used on a photo trip\">Photo Focal Lengths\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FPickleball.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FPickleball.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FPickleball.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FPickleball.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FPickleball.ipynb) | 2018 | \u003Ca href=\"ipynb\u002FPickleball.ipynb\" title=\"Scheduling a doubles tournament fairly and efficiently\">Pickleball Tournament\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FProject%20Euler%20Utils.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FProject%20Euler%20Utils.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FProject%20Euler%20Utils.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FProject%20Euler%20Utils.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FProject%20Euler%20Utils.ipynb) | 2017 | \u003Ca href=\"ipynb\u002FProject%20Euler%20Utils.ipynb\" title=\"My utility functions for the Project Euler problems, including `Primes` and `Factors`\">Project Euler Utilities\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FMenu.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FMenu.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FMenu.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FMenu.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FMenu.ipynb) | 2022 | \u003Ca href=\"ipynb\u002FMenu.ipynb\" title=\"Efficiently Selecting Names from a Menu, by typing characters and arrows\">Selecting Names from a Menu\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FElectoral%20Votes.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FElectoral%20Votes.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FElectoral%20Votes.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FElectoral%20Votes.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FElectoral%20Votes.ipynb) | 2020 | \u003Ca href=\"ipynb\u002FElectoral%20Votes.ipynb\" title=\"How many electoral votes would Trump get if he wins the state where he has positive net approval?\">Tracking Polls: Electoral Votes\u003C\u002Fa> |\n\n\n|Run|Year|Advent of Code|\n|---|---|---|\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2025-AI.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2025-AI.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FAdvent-2025-AI.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2025-AI.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2025-AI.ipynb) | 2025 | \u003Ca href=\"ipynb\u002FAdvent-2025-AI.ipynb\" title=\"Using large language coding models to solve AoC puzzles\">Advent of Code 2025: AI LLM Edition\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2025.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2025.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FAdvent-2025.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2025.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2025.ipynb) | 2025 | \u003Ca href=\"ipynb\u002FAdvent-2025.ipynb\" title=\"Puzzle site with a coding puzzle for 12 days of Christmas, December 2025\">Advent of Code 2025\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2024.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2024.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FAdvent-2024.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2024.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2024.ipynb) | 2024 | \u003Ca href=\"ipynb\u002FAdvent-2024.ipynb\" title=\"Puzzle site with a coding puzzle each day of Advent, December 2024\">Advent of Code 2024\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2023.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2023.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FAdvent-2023.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2023.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2023.ipynb) | 2023 | \u003Ca href=\"ipynb\u002FAdvent-2023.ipynb\" title=\"Puzzle site with a coding puzzle each day of Advent, December 2023\">Advent of Code 2023\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2022.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2022.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FAdvent-2022.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2022.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2022.ipynb) | 2022 | \u003Ca href=\"ipynb\u002FAdvent-2022.ipynb\" title=\"Puzzle site with a coding puzzle each day of Advent, December 2022\">Advent of Code 2022\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2021.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2021.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FAdvent-2021.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2021.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2021.ipynb) | 2021 | \u003Ca href=\"ipynb\u002FAdvent-2021.ipynb\" title=\"Puzzle site with a coding puzzle each day of Advent, December 2021\">Advent of Code 2021\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2020.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2020.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FAdvent-2020.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2020.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2020.ipynb) | 2020 | \u003Ca href=\"ipynb\u002FAdvent-2020.ipynb\" title=\"Puzzle site with a coding puzzle each day of Advent, December 2020\">Advent of Code 2020\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2018.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2018.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FAdvent-2018.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2018.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2018.ipynb) | 2018 | \u003Ca href=\"ipynb\u002FAdvent-2018.ipynb\" title=\"Puzzle site with a coding puzzle each day of Advent, December 2018\">Advent of Code 2018\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2017.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2017.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FAdvent-2017.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2017.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2017.ipynb) | 2017 | \u003Ca href=\"ipynb\u002FAdvent-2017.ipynb\" title=\"Puzzle site with a coding puzzle each day of Advent, December 2017\">Advent of Code 2017\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2016.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdvent-2016.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FAdvent-2016.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2016.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdvent-2016.ipynb) | 2016 | \u003Ca href=\"ipynb\u002FAdvent-2016.ipynb\" title=\"Puzzle site with a coding puzzle each day of Advent, December 2016\">Advent of Code 2016\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdventUtils.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAdventUtils.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FAdventUtils.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdventUtils.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAdventUtils.ipynb) | 2022 | \u003Ca href=\"ipynb\u002FAdventUtils.ipynb\" title=\"Utility functions for Advent of Code puzzles\">Advent of Code Utilities\u003C\u002Fa> |\n\n\n|Run|Year|Probability and Uncertainty|\n|---|---|---|\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FGoldberg.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FGoldberg.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FGoldberg.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FGoldberg.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FGoldberg.ipynb) | 2019 | \u003Ca href=\"ipynb\u002FGoldberg.ipynb\" title=\"A re-implementation in Python 3 of Yoav Goldberg's unreasonably effective character-level n-gram language model.\">Effectiveness of Language Models\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FProbability.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FProbability.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FProbability.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FProbability.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FProbability.ipynb) | 2018 | \u003Ca href=\"ipynb\u002FProbability.ipynb\" title=\"Code and examples of the basic principles of Probability Theory\">A Concrete Introduction to Probability\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FProbabilityParadox.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FProbabilityParadox.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FProbabilityParadox.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FProbabilityParadox.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FProbabilityParadox.ipynb) | 2016 | \u003Ca href=\"ipynb\u002FProbabilityParadox.ipynb\" title=\"Some classic paradoxes in Probability Theory, and how to think about disagreements\">Probability, Paradox, and the Reasonable Person Principle\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FProbabilitySimulation.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FProbabilitySimulation.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FProbabilitySimulation.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FProbabilitySimulation.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FProbabilitySimulation.ipynb) | 2020 | \u003Ca href=\"ipynb\u002FProbabilitySimulation.ipynb\" title=\"When the sample space is too complex, simulations can estimate probabilities\">Estimating Probabilities with Simulations\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FDiamonds.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FDiamonds.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FDiamonds.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FDiamonds.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FDiamonds.ipynb) | 2023 | \u003Ca href=\"ipynb\u002FDiamonds.ipynb\" title=\"Finding an optimal strategy for buying bags with unknown numbers of diamonds.\">The Diamond Game: A Probability Puzzle\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCoin%20Flip.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FCoin%20Flip.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FCoin%20Flip.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCoin%20Flip.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCoin%20Flip.ipynb) | 2019 | \u003Ca href=\"ipynb\u002FCoin%20Flip.ipynb\" title=\"How to beat the Devil at his own game\">The Devil and the Coin Flip Game\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FDice%20Baseball.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FDice%20Baseball.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FDice%20Baseball.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FDice%20Baseball.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FDice%20Baseball.ipynb) | 2020 | \u003Ca href=\"ipynb\u002FDice%20Baseball.ipynb\" title=\"Simulating baseball games\">Dice Baseball\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FEconomics.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FEconomics.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FEconomics.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FEconomics.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FEconomics.ipynb) | 2018 | \u003Ca href=\"ipynb\u002FEconomics.ipynb\" title=\"A simulation of a simple economic game\">Economics Simulation\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FOvertime.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FOvertime.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FOvertime.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FOvertime.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FOvertime.ipynb) | 2024 | \u003Ca href=\"ipynb\u002FOvertime.ipynb\" title=\"In American Football, which team has the advantage in overtime?\">Overtime in American Football\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fpoker.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2Fpoker.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2Fpoker.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fpoker.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fpoker.ipynb) | 2012 | \u003Ca href=\"ipynb\u002Fpoker.ipynb\" title=\"How do we decide which poker hand wins? Several variants of poker are considered\">Poker Hand Ranking\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Frisk.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2Frisk.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2Frisk.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Frisk.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Frisk.ipynb) | 2020 | \u003Ca href=\"ipynb\u002Frisk.ipynb\" title=\"Determining who is likely to win an interminably long game of Risk\">The Unfinished Game .... of Risk\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FWWW.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FWWW.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FWWW.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FWWW.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FWWW.ipynb) | 2019 | \u003Ca href=\"ipynb\u002FWWW.ipynb\" title=\"Computing the probability of winning the NBA title, for my home town Warriors, or any other team\">WWW: Who Will Win (NBA Title)?\u003C\u002Fa> |\n\n\n|Run|Year|Logic and Number\u002FCounting Puzzles|\n|---|---|---|\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FPaint.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FPaint.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FPaint.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FPaint.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FPaint.ipynb) | 2024 | \u003Ca href=\"ipynb\u002FPaint.ipynb\" title=\"What is the average cluster size of a random grid of colored squares?\">Counting Cluster Sizes in Paint by Numbers\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCryptarithmetic.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FCryptarithmetic.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FCryptarithmetic.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCryptarithmetic.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCryptarithmetic.ipynb) | 2014 | \u003Ca href=\"ipynb\u002FCryptarithmetic.ipynb\" title=\"Substitute digits for letters and make NUM + BER = PLAY\">Cryptarithmetic\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FEuler's%20Conjecture.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FEuler's%20Conjecture.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FEuler's%20Conjecture.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FEuler's%20Conjecture.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FEuler's%20Conjecture.ipynb) | 2018 | \u003Ca href=\"ipynb\u002FEuler's%20Conjecture.ipynb\" title=\"Solving a 200-year-old puzzle by finding integers that satisfy a\u003Csup>5\u003C\u002Fsup> + b\u003Csup>5\u003C\u002Fsup> + c\u003Csup>5\u003C\u002Fsup> + d\u003Csup>5\u003C\u002Fsup> = e\u003Csup>5\u003C\u002Fsup>\">Euler's Sum of Powers Conjecture\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCountdown.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FCountdown.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FCountdown.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCountdown.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCountdown.ipynb) | 2020 | \u003Ca href=\"ipynb\u002FCountdown.ipynb\" title=\"Solving the equation 10 _ 9 _ 8 _ 7 _ 6 _ 5 _ 4 _ 3 _ 2 _ 1 = 2016. Originally from an Alex Bellos puzzle\">Four 4s, Five 5s, and Countdowns\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FHow%20To%20Count%20Things.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FHow%20To%20Count%20Things.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FHow%20To%20Count%20Things.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FHow%20To%20Count%20Things.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FHow%20To%20Count%20Things.ipynb) | 2020 | \u003Ca href=\"ipynb\u002FHow%20To%20Count%20Things.ipynb\" title=\"Combinatorial math: how to count how many things there are, when there are a lot of them\">How to Count Things\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FKenKen.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FKenKen.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FKenKen.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FKenKen.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FKenKen.ipynb) | 2021 | \u003Ca href=\"ipynb\u002FKenKen.ipynb\" title=\"A Sudoku-like puzzle, but with arithmetic.\">KenKen (Sudoku-like Puzzle)\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FNumberBracelets.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FNumberBracelets.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FNumberBracelets.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FNumberBracelets.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FNumberBracelets.ipynb) | 2024 | \u003Ca href=\"ipynb\u002FNumberBracelets.ipynb\" title=\"A game involving numbered beads on a circular bracelet.\">Number Bracelets Game\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FEuler3.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FEuler3.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FEuler3.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FEuler3.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FEuler3.ipynb) | 2026 | \u003Ca href=\"ipynb\u002FEuler3.ipynb\" title=\"Find the largest prime factor of a number\">Project Euler #3: Largest prime factor\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FSocks.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FSocks.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FSocks.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FSocks.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FSocks.ipynb) | 2019 | \u003Ca href=\"ipynb\u002FSocks.ipynb\" title=\"What is the probability that you will be able to pair up socks as you randomly pull them out of the dryer?\">Pairing Socks\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FSicherman%20Dice.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FSicherman%20Dice.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FSicherman%20Dice.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FSicherman%20Dice.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FSicherman%20Dice.ipynb) | 2018 | \u003Ca href=\"ipynb\u002FSicherman%20Dice.ipynb\" title=\"Find a pair of dice that is like a regular pair of dice, only different\">Sicherman Dice\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FGolomb-Puzzle.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FGolomb-Puzzle.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FGolomb-Puzzle.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FGolomb-Puzzle.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FGolomb-Puzzle.ipynb) | 2014 | \u003Ca href=\"ipynb\u002FGolomb-Puzzle.ipynb\" title=\"A Puzzle involving placing rectangles of different sizes inside a square\">Sol Golomb's Rectangle Puzzle\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FStubborn.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FStubborn.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FStubborn.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FStubborn.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FStubborn.ipynb) | 2024 | \u003Ca href=\"ipynb\u002FStubborn.ipynb\" title=\"Any number ending in 5 has a square that also ends in 5. What other endings are like this?\">Stubborn number endings\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FStarBattle.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FStarBattle.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FStarBattle.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FStarBattle.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FStarBattle.ipynb) | 2021 | \u003Ca href=\"ipynb\u002FStarBattle.ipynb\" title=\"Fill-in-the-grid puzzle similar to Sudoku\">Star Battle (Sudoku-like Puzzle)\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FSudoku.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FSudoku.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FSudoku.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FSudoku.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FSudoku.ipynb) | 2006 | \u003Ca href=\"ipynb\u002FSudoku.ipynb\" title=\"Classic fill-in-the-grid puzzle\">Sudoku\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FSudokuJava.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FSudokuJava.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FSudokuJava.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FSudokuJava.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FSudokuJava.ipynb) | 2021 | \u003Ca href=\"ipynb\u002FSudokuJava.ipynb\" title=\"A version of the Sudoku solver using parallel threads and other optimizations\">Sudoku: 200,000 puzzles\u002Fsecond in Java\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FSquareSum.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FSquareSum.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FSquareSum.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FSquareSum.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FSquareSum.ipynb) | 2020 | \u003Ca href=\"ipynb\u002FSquareSum.ipynb\" title=\"Place the numbers from 1 to n in a chain (or a circle) such that adjacent pairs sum to a perfect square\">Square Sum Puzzle\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCheryl.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FCheryl.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FCheryl.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCheryl.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCheryl.ipynb) | 2020 | \u003Ca href=\"ipynb\u002FCheryl.ipynb\" title=\"Solving the *Cheryl's Birthday* logic puzzle\">When is Cheryl's Birthday?\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCheryl-and-Eve.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FCheryl-and-Eve.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FCheryl-and-Eve.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCheryl-and-Eve.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCheryl-and-Eve.ipynb) | 2015 | \u003Ca href=\"ipynb\u002FCheryl-and-Eve.ipynb\" title=\"Inventing new puzzles in the Style of Cheryl's Birthday\">When Cheryl Met Eve: A Birthday Story\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCherylMind.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FCherylMind.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FCherylMind.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCherylMind.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCherylMind.ipynb) | 2024 | \u003Ca href=\"ipynb\u002FCherylMind.ipynb\" title=\"Do LLMs have enough theory of mind to solve the Cheryl's Birthday puzzle?\">LLMs, Theory of Mind, and Cheryl's Birthday\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fxkcd1313.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2Fxkcd1313.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2Fxkcd1313.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fxkcd1313.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fxkcd1313.ipynb) | 2015 | \u003Ca href=\"ipynb\u002Fxkcd1313.ipynb\" title=\"Find the smallest regular expression; inspired by Randall Munroe\">xkcd 1313: Regex Golf\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fxkcd1313-part2.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2Fxkcd1313-part2.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2Fxkcd1313-part2.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fxkcd1313-part2.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fxkcd1313-part2.ipynb) | 2015 | \u003Ca href=\"ipynb\u002Fxkcd1313-part2.ipynb\" title=\"Regex Golf: better, faster, funner (with Stefan Pochmann)\">xkcd 1313: Regex Golf (Part 2: Infinite Problems)\u003C\u002Fa> |\n\n\n|Run|Year|Word Puzzles|\n|---|---|---|\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FBoggle.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FBoggle.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FBoggle.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FBoggle.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FBoggle.ipynb) | 2020 | \u003Ca href=\"ipynb\u002FBoggle.ipynb\" title=\"Find all the words on a Boggle board; then find a board with a lot of words\">Boggle \u002F Inverse Boggle\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FElementSpelling.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FElementSpelling.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FElementSpelling.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FElementSpelling.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FElementSpelling.ipynb) | 2020 | \u003Ca href=\"ipynb\u002FElementSpelling.ipynb\" title=\"Spelling words using the chemical element symbols, like CoIn\">Chemical Element Spelling\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fclvr.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2Fclvr.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2Fclvr.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fclvr.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fclvr.ipynb) | 2026 | \u003Ca href=\"ipynb\u002Fclvr.ipynb\" title=\"Guess famous phrases from letter shapes. Beginner level.\">Did you solve it? R y clvr ngh t rd ths sntnc?\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fequilength-numbers.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2Fequilength-numbers.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2Fequilength-numbers.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fequilength-numbers.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fequilength-numbers.ipynb) | 2020 | \u003Ca href=\"ipynb\u002Fequilength-numbers.ipynb\" title=\"What number names have the same letter count as the number they name (such as FOUR)?\">Equilength Numbers: FOUR = 4\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FGesture%20Typing.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FGesture%20Typing.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FGesture%20Typing.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FGesture%20Typing.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FGesture%20Typing.ipynb) | 2017 | \u003Ca href=\"ipynb\u002FGesture%20Typing.ipynb\" title=\"What word has the longest path on a gesture-typing smartphone keyboard?\">Gesture Typing\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FGhost.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FGhost.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FGhost.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FGhost.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FGhost.ipynb) | 2017 | \u003Ca href=\"ipynb\u002FGhost.ipynb\" title=\"The word game Ghost (add letters, try to avoid making a word)\">Ghost: A Word game\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FHow%20to%20Do%20Things%20with%20Words.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FHow%20to%20Do%20Things%20with%20Words.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FHow%20to%20Do%20Things%20with%20Words.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FHow%20to%20Do%20Things%20with%20Words.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FHow%20to%20Do%20Things%20with%20Words.ipynb) | 2018 | \u003Ca href=\"ipynb\u002FHow%20to%20Do%20Things%20with%20Words.ipynb\" title=\"Spelling Correction, Secret Codes, Word Segmentation, and more\">How to Do Things with Words: NLP in Python\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FFred%20Buns.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FFred%20Buns.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FFred%20Buns.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FFred%20Buns.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FFred%20Buns.ipynb) | 2015 | \u003Ca href=\"ipynb\u002FFred%20Buns.ipynb\" title=\"A tale of a bicycle combination lock that uses letters instead of digits. Inspired by Bike Snob NYC\">Let's Code About Bike Locks\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FOneLetterOff.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FOneLetterOff.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FOneLetterOff.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FOneLetterOff.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FOneLetterOff.ipynb) | 2023 | \u003Ca href=\"ipynb\u002FOneLetterOff.ipynb\" title=\"Word game; use of a large language model to generate clues.\">One Letter Off\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FScrabble.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FScrabble.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FScrabble.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FScrabble.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FScrabble.ipynb) | 2017 | \u003Ca href=\"ipynb\u002FScrabble.ipynb\" title=\"Refactoring the Scrabble \u002F Word with Friends game from Udacity 212\">Scrabble: Refactoring a Crossword Game Program\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FSpellingBee.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FSpellingBee.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FSpellingBee.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FSpellingBee.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FSpellingBee.ipynb) | 2020 | \u003Ca href=\"ipynb\u002FSpellingBee.ipynb\" title=\"Find the highest-scoring board for the NY Times Spelling Bee puzzle\">Spelling Bee\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FPropositionalLogic.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FPropositionalLogic.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FPropositionalLogic.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FPropositionalLogic.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FPropositionalLogic.ipynb) | 2017 | \u003Ca href=\"ipynb\u002FPropositionalLogic.ipynb\" title=\"Automatically convert informal English sentences into formal Propositional Logic\">Translating English into Propositional Logic\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FJotto.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FJotto.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FJotto.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FJotto.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FJotto.ipynb) | 2020 | \u003Ca href=\"ipynb\u002FJotto.ipynb\" title=\"The word guessing games Wordle, Evil Wordle, Antiwordle, and Jotto\">Wordle, Evil Wordle, Antiwordle, and Jotto\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FWordle.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FWordle.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FWordle.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FWordle.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FWordle.ipynb) | 2022 | \u003Ca href=\"ipynb\u002FWordle.ipynb\" title=\"A simple human-usable strategy to always win at Wordle. And an analysis of 2-guess wins\">Winning Wordle\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fpal3.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2Fpal3.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2Fpal3.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fpal3.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fpal3.ipynb) | 2017 | \u003Ca href=\"ipynb\u002Fpal3.ipynb\" title=\"Searching for a long Panama-style palindrome, this time letter-by-letter\">World's Longest Palindrome\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FPortmantout.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FPortmantout.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FPortmantout.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FPortmantout.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FPortmantout.ipynb) | 2020 | \u003Ca href=\"ipynb\u002FPortmantout.ipynb\" title=\"Find a word that squishes together a bunch of words\">World's Shortest Portmantout Word\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fxkcd-Name-Dominoes.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2Fxkcd-Name-Dominoes.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2Fxkcd-Name-Dominoes.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fxkcd-Name-Dominoes.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fxkcd-Name-Dominoes.ipynb) | 2018 | \u003Ca href=\"ipynb\u002Fxkcd-Name-Dominoes.ipynb\" title=\"Lay out dominoes legally; the dominoes have people names, not numbers\">xkcd 1970: Name Dominoes\u003C\u002Fa> |\n\n\n|Run|Year|The Riddler (from 538)|\n|---|---|---|\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAnigrams.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FAnigrams.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FAnigrams.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAnigrams.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FAnigrams.ipynb) | 2022 | \u003Ca href=\"ipynb\u002FAnigrams.ipynb\" title=\"Finding the longest chain of anagrams that each add one letter\">Anigrams: Word Chains\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FRiddler%20Battle%20Royale.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FRiddler%20Battle%20Royale.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FRiddler%20Battle%20Royale.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FRiddler%20Battle%20Royale.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FRiddler%20Battle%20Royale.ipynb) | 2017 | \u003Ca href=\"ipynb\u002FRiddler%20Battle%20Royale.ipynb\" title=\"A puzzle involving allocating your troops and going up against an opponent\">Battle Royale\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FClimbingWall.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FClimbingWall.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FClimbingWall.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FClimbingWall.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FClimbingWall.ipynb) | 2021 | \u003Ca href=\"ipynb\u002FClimbingWall.ipynb\" title=\"How many holds have to be placed to make a path in each climbing event\">Climbing Wall\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCrossProduct.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FCrossProduct.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FCrossProduct.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCrossProduct.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FCrossProduct.ipynb) | 2021 | \u003Ca href=\"ipynb\u002FCrossProduct.ipynb\" title=\"A puzzle where digits fill a table, subject to constraints on their products\">CrossProduct\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fflipping.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2Fflipping.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2Fflipping.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fflipping.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002Fflipping.ipynb) | 2020 | \u003Ca href=\"ipynb\u002Fflipping.ipynb\" title=\"Can you go through a deck of cards, guessing higher or lower correctly for each card?\">Flipping Cards; A Guessing Game\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FRiddlerLottery.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com%2Fnorvig%2Fpytudes%2Fblob%2Fmain%2Fipynb%2FRiddlerLottery.ipynb) [M](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fnorvig\u002Fpytudes\u002Fmain?filepath=ipynb%2FRiddlerLottery.ipynb) [N](https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FRiddlerLottery.ipynb) [S](https:\u002F\u002Fstudiolab.sagemaker.aws\u002Fimport\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FRiddlerLottery.ipynb) | 2019 | \u003Ca href=\"ipynb\u002FRiddlerLottery.ipynb\" title=\"Can you find what lottery number tickets these five friends picked?\">Lottery\u003C\u002Fa> |\n| [C](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fnorvig\u002Fpytudes\u002Fblob\u002Fmain\u002Fipynb\u002FNightKing.ipynb) [D](https:\u002F\u002Fbeta.deepnote.org\u002Flaunch?template=python_3.6&url=https%3A%2F%2Fgithub.com","pytudes 是一个旨在通过编写具有挑战性的 Python 程序来磨练特定编程技能的项目。该项目以 Jupyter Notebook 形式提供了一系列短小精悍的代码示例，涵盖了从基础到进阶的各种编程技巧和技术，如字符串处理、数学算法等。每个 notebook 都可以通过多种平台（例如 Google Colab, Deepnote）在线运行，方便学习者实践和探索。适合那些将编程视为一种需要长期练习才能掌握的手艺，并希望通过解决实际问题来提升自己技术水平的开发者使用。",2,"2026-06-11 03:27:10","top_topic"]