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
Group P-11's submission for the University of Waterloo's 2021 Engineering Competition (Programming section).

P-11-WEC2021 Group P-11's submission for the University of Waterloo's 2021 Engineering Competition (Programming section). Part I Compute typing time f

TRISTAN PARRY 1 May 14, 2022
The only purpose of a byte-sized application is to help you create .desktop entry files for downloaded applications.

Turtle 🐢 The only purpose of a byte-sized application is to help you create .desktop entry files for downloaded applications. As of usual with elemen

TenderOwl 14 Dec 29, 2022
Beatsaber for Python

beatsaber Beatsaber for Python It was automatically generated with mkpylib. If you're reading this message, it m

Shawn Presser 3 Jul 30, 2021
Pulse sequence builder and compiler for q1asm

q1pulse Pulse sequence builder and compiler for q1asm. q1pulse is a simple library to compile pulse sequence to q1asm, the assembly language of Qblox

Sander de Snoo 3 Dec 14, 2022
VHDL to Discrete Logic on PCB Flow

PCBFlow Highly experimental set of scripts to transform a digital circuit described in a hardware description language (VHDL or Verilog) into a discre

Tim 77 Nov 04, 2022
Neptune client library - integrate your Python scripts with Neptune

Lightweight experiment tracking tool for AI/ML individuals and teams. Fits any workflow. Neptune is a lightweight experiment logging/tracking tool tha

neptune.ai 353 Jan 04, 2023
Supercharge your NFTs with new behaviours and superpowers!

WrapX Supercharge your NFTs with new behaviours and superpowers! WrapX is a collection of Wrappers (currently one - WrapXSet) to decorate your NTFs ad

Emiliano Bonassi 9 Jun 13, 2022
通过简单的卷积神经网络直接预测出验证码图片中滑块的位置

使用说明 1. 在本地测试 运行python3 prdict_one.py即可,默认需要预测的图片路径位于testImg文件夹下的test1.png 运行python3 predict_folder.py预测testImg下的所有图片 2. 部署到服务器 运行python3 run_a_server

12 Mar 08, 2022
Beancount Importers for DKB (Deutsche Kredit Bank) CSV Exports

Beancount DKB Importer beancount-dkb provides an Importer for converting CSV exports of DKB (Deutsche Kreditbank) account summaries to the Beancount f

Siddhant Goel 24 Aug 06, 2022
Let's make a lot of random function from Scracth...

Pseudo-Random On a whim I asked myself the question about how randomness is integrated into an algorithm? So I started the adventure by trying to code

Yacine 2 Jan 19, 2022
Python library for creating PEG parsers

PyParsing -- A Python Parsing Module Introduction The pyparsing module is an alternative approach to creating and executing simple grammars, vs. the t

Pyparsing 1.7k Jan 03, 2023
Online HackerRank problem solving challenges

LinkedListHackerRank Online HackerRank problem solving challenges This challenge is part of a tutorial track by MyCodeSchool You are given the pointer

Sefineh Tesfa 1 Nov 21, 2021
Run PD patches in NRT using Python

The files in this repository demonstrate how to use Pure Data (Pd) patches designed to run in Non-Real-Time mode to batch-process (synthesize, analyze, etc) sounds in series using Python.

Jose Henrique Padovani 3 Feb 08, 2022
A Classroom Engagement Platform

Project Introduction This is project introduction Setup Setting up Postgres This is the most tricky part when setting up the application. You will nee

Santosh Kumar Patro 1 Nov 18, 2021
Add your recently blog and douban states in your GitHub Profile

Add your recently blog and douban states in your GitHub Profile

Bingjie Yan 4 Dec 12, 2022
PyPIContents is an application that generates a Module Index from the Python Package Index (PyPI) and also from various versions of the Python Standard Library.

PyPIContents is an application that generates a Module Index from the Python Package Index (PyPI) and also from various versions of the Python Standar

Collage Labs 10 Nov 19, 2022
Make pack up python files easier.

python-easy-pack make pack up python files easier. 目前只提供了中文环境 如何使用? 将index.py复制到你的项目文件夹,或者把.py文件拷贝到这个文件夹。 打开你的cmd或者powershell 切换到程序所在目录,输入python index

2 Dec 15, 2021
Python library for parsing Godot scene files

Godot Parser This is a python library for parsing Godot scene (.tscn) and resource (.tres) files. It's intended to make it easier to automate certain

Steven Arcangeli 30 Jan 04, 2023
TimeWizard - A script that generates every single Time Wizard EDOPRO lflist possible

EDOPRO F&L list generator This project is just a script that generates every sin

Diamond Dude 2 Sep 28, 2022
《practical python programming》的中文翻译

欢迎光临 大约 25 年前,当我第一次学习 Python 时,发现 Python 竟然可以被高效地应用到各种混乱的工作项目上,我立即被震惊了。15 年前,我自己也将这种乐趣教授给别人。教学的结果就是本课程——一门实用的学习 Python的课程。

编程人 125 Dec 17, 2022