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

Overview
Peter Norvig
MIT License
2015-2020

pytudes

"An étude (a French word meaning study) is an instrumental musical composition, usually short, of considerable difficulty, and designed to provide practice material for perfecting a particular musical skill." — Wikipedia

This project contains pytudes—Python programs, usually short, for perfecting particular programming skills.

Who is this for?

To continue the musical analogy, some people think of programming like Spotify: they want to know how to install the app, find a good playlist, and hit the "play" button; after that they 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 to perfect—then I hope this collection can help.

Index of Jupyter (IPython) Notebooks

For each notebook you can:

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

Index of Python Files

File Description Documentation
beal.py Search for counterexamples to Beal's Conjecture documentation
docex.py An obsolete framework for running unit tests, similar to doctest
ibol.py An Exercise in Species Barcoding documentation
lettercount.py Convert Google Ngram Counts to Letter Counts documentation
lis.py Lisp Interpreter written in Python documentation
lispy.py Even Better Lisp Interpreter written in Python documentation
lispytest.py Tests for Lisp Interpreters
pal.py Find long palindromes documentation
pal2.py Find longer palindromes documentation
pal3.py Find even longer palindromes documentation
pytudes.py Pre-process text to generate this README.md file.
py2html.py Pretty-printer to format Python files as html
SET.py Analyze the card game SET documentation
spell.py Spelling corrector documentation
sudoku.py Program to solve sudoku puzzles documentation
testaccum.py Tests for my failed Python accumulation display proposal documentation
yaptu.py Yet Another Python Templating Utility

Etudes for Programmers

I got the idea for the "etudes" part of the name from this 1978 book by Charles Wetherell that was very influential to me when I was first learning to program. I still have my copy.

Owner
Peter Norvig
Author, Programmer, Teacher, Research Director at Google
Peter Norvig
Dicionario-git-github - Dictionary created to help train new users of Git and GitHub applications

Dicionário 📕 Dicionário criado com o objetivo de auxiliar no treinamento de nov

Felippe Rafael 1 Feb 07, 2022
XHacks 2021 Startup Track Winner: Be Heard. Educate, Enact, Empower. No voice left behind. (backend)

Be Heard: X Hacks 2021 Submission Educate, Enact, Empower. No voice left behind. Inspiration To say 2020 was an eventful year would be an understateme

3 Jul 14, 2022
OpenTable Reservation Maker For Python

OpenTable-Reservation-Maker The code that corresponds with this blog post on writing a script to make reservations for me on opentable Getting started

JonLuca De Caro 36 Nov 10, 2022
Painel de consulta

⚙ FullP 1.1 Instalação 💻 git clone https://github.com/gav1x/FullP.git cd FullP pip3 install -r requirements.txt python3 main.py Um pequeno

gav1x 26 Oct 11, 2022
Python library for ODE integration via Taylor's method and LLVM

heyoka.py Modern Taylor's method via just-in-time compilation Explore the docs » Report bug · Request feature · Discuss The heyókȟa [...] is a kind of

Francesco Biscani 45 Dec 21, 2022
Subscribe, listen and (in the future) download your favorite podcasts, quickly and easily.

Minimal Podcasts Player https://github.com/son-link/minimal-podcasts-player Subscribe, listen and (in the future) download your favorite podcasts, qui

Alfonso Saavedra 14 Nov 11, 2022
A test repository to build a python package and publish the package to Artifact Registry using GCB

A test repository to build a python package and publish the package to Artifact Registry using GCB. Then have the package be a dependency in a GCF function.

1 Feb 09, 2022
Tracing and Observability with OpenFaaS

Tracing and Observability with OpenFaaS Today we will walk through how to add OpenTracing or OpenTelemetry with Grafana's Tempo. For this walk-through

Lucas Roesler 8 Nov 17, 2022
AdventOfCode 2021 solutions from the Devcord server

adventofcode-21 Ein Sammel-Repository für Advent of Code 2021-Lösungen der deutschen DevCord-Community. A repository collecting Advent of Code 2021 so

Devcord 12 Aug 26, 2022
The git for the Python Story Utility Package library.

PSUP, The Python Story Utility Package Module. PSUP helps making stories or games with options, diverging paths, different endings and so on. You can

Enoki 6 Nov 27, 2022
A fluid medium for storing, relating, and surfacing thoughts.

Conceptarium A fluid medium for storing, relating, and surfacing thoughts. Read more... Instructions The conceptarium takes up about 1GB RAM when runn

115 Dec 19, 2022
A tool for generating skill map/tree like diagram

skillmap A tool for generating skill map/tree like diagram. What is a skill map/tree? Skill tree is a term used in video games, and it can be used for

Yue 98 Jan 07, 2023
El Niño - Southern Oscillation analysis compared to minimum flow rates of rivers in northeast Brazil

ENSO (El Niño - Southern Oscillation) analysis in northeast Brazil É comprovada a influência dos fenômenos El Niño e La Niña nas secas no nordesde bra

Weyder Freire 1 Jan 13, 2022
Aoc 2021 kedro playground with python

AOC 2021 Overview This is your new Kedro project, which was generated using Kedro 0.17.5. Take a look at the Kedro documentation to get started. Rules

1 Dec 20, 2021
Zeus - Advanced Punishments with Embeds.

Zeus Advanced Punishments with Embeds. Make sure to put the Discord Bot Token in the " TOKEN = '' " Language Python Features Ban Kick Mute Unmute Warn

2 Jan 05, 2022
Материалы для курса VK Углубленный Python, весна 2022

VK Углубленный Python, весна 2022 Материалы для курса VK Углубленный Python, весна 2022 Лекции и материалы (слайды, домашки, код с занятий) Введение,

10 Nov 02, 2022
Addon for Blender 2.8+ that automatically creates NLA tracks for all animations. Useful for GLTF export.

PushDownAll An addon for Blender 2.8+ that runs Push Down on all animations, creating NLA tracks for each. This is useful if you have an object with m

Cory Petkovsek 16 Oct 06, 2022
The ROS publisher/subscriber example packaged as a snap

publisher-subscriber The ROS publisher/subscriber example packaged as a snap, based on ROS Noetic and Ubuntu Core 20. Strictly confined. This example

3 Dec 03, 2021
Apache Airflow - A platform to programmatically author, schedule, and monitor workflows

Apache Airflow Apache Airflow (or simply Airflow) is a platform to programmatically author, schedule, and monitor workflows. When workflows are define

The Apache Software Foundation 28.6k Dec 28, 2022
FantasyBballHelper - Espn Fantasy Basketball Helper

ESPN FANTASY BASKETBALL HELPER The simple goal of this project is to allow fanta

1 Jan 18, 2022