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
Template (v0) do Sistema Chatbot - atividade síncrona - INE5404

ine-5404-sistema-chatbot-template Template (v0) do Sistema Chatbot - atividade síncrona - INE5404 Veja abaixo um exemplo de funcionamento do sistema:

0 Dec 07, 2021
A ULauncher/Albert extension that supports currency, units and date time conversion, as well as a calculator that supports complex numbers and functions.

Ulauncher/Albert Calculate Anything Ulauncher/Albert Calculate Anything is an extension for Ulauncher and Albert to calculate things like currency, ti

tchar 67 Jan 01, 2023
Tracking stock volatility.

SP500-highlow-tracking Track stock volatility. Being a useful indicator of the stock price volatility, High-Low gap represents the price range of the

Thong Huynh 13 Sep 07, 2022
北大选课网2021年春季验证码识别

北大选课网验证码识别 2021 年春季学期 Powered by Elector Quartet (@Rabbit, @xmcp, @SpiritedAwayCN, @gzz) 数据集描述 最初的数据集为 5130 张人工标记的验证码,之后利用早期训练好的模型在选课网上进行自动验证 (自举),又收集

Rabbit 27 Sep 17, 2022
Adam with minor modifications which give significant improvement

BAdam Modification of Adam [1] optimizer with increased stability and better performance. Tricks used: Decoupled weight decay as in AdamW [2]. Such de

19 May 11, 2022
A visidata plugin for parsing f5 ltm/gtm/audit logs

F5 Log Visidata Plugin This plugin supports the default log format for: /var/log/ltm* /var/log/gtm* /var/log/apm* /var/log/audit* It extracts common l

James Deucker 1 Jan 06, 2022
Python samples for Google Cloud Platform products.

Google Cloud Platform Python Samples Python samples for Google Cloud Platform products. Setup Install pip and virtualenv if you do not already have th

Google Cloud Platform 6k Jan 03, 2023
A basic DIY-project made using Python and MySQL

Banking-Using-Python-MySQL This is a basic DIY-project made using Python and MySQL. Pre-Requisite needed:-- MySQL command Line:- creating a database

ABHISHEK 0 Jul 03, 2022
This repository collects nice scripts ("plugins") for the SimpleBot bot for DeltaChat.

Having fun with DeltaChat This repository collects nice scripts ("plugins") for the SimpleBot bot for DeltaChat. DeltaChat is a nice e-mail based mess

Valentin Brandner 3 Dec 25, 2021
A fancy and practical functional tools

Funcy A collection of fancy functional tools focused on practicality. Inspired by clojure, underscore and my own abstractions. Keep reading to get an

Alexander Schepanovski 2.9k Dec 29, 2022
BasicVSR++ function for VapourSynth

BasicVSR++ BasicVSR++: Improving Video Super-Resolution with Enhanced Propagation and Alignment Ported from https://github.com/open-mmlab/mmediting De

Holy Wu 34 Nov 28, 2022
HiQ - A Modern Observability System

🦉 A Modern Observability System HiQ is a declarative, non-intrusive, dynamic and transparent tracking system for both monolithic application and dist

Oracle Sample Code 40 Aug 21, 2022
Make your functions return something meaningful, typed, and safe!

Make your functions return something meaningful, typed, and safe! Features Brings functional programming to Python land Provides a bunch of primitives

dry-python 2.5k Jan 03, 2023
A browser login credentials thief for windows and Linux

Thief 🦹🏻 A browser login credentials thief for windows and Linux Python script to decrypt login credentials from browsers in windows or linux Decryp

Ash 1 Dec 13, 2021
Learning objective: Use React.js, Axios, and CSS to build a responsive YouTube clone app

Learning objective: Use React.js, Axios, and CSS to build a responsive YouTube clone app to search for YouTube videos, channels, playlists, and live events via wrapper around Google YouTube API.

Dillon 0 May 03, 2022
An example module hooking system, will be used in PySAMP.

An example module hooking system, will be used in PySAMP.

2 May 01, 2022
Python script which synchronizes the replica-directoty with the original-one.

directories_synchronizer Python script which synchronizes the replica-directoty with the original-one. Automatically detects all changes when script i

0 Feb 13, 2022
Your E-Canteen that is convenient and accessible wherever you are in the campus

Food Web E-Canteen System Your E-Canteen that is convenient and accessible wherever you are in the campus. Table of Contents About The Project Contrib

Pudding 5 Jan 07, 2023
JD扫码获取Cookie 本地版

JD扫码获取Cookie 本地版 请无视手机上的提示升级京东版本的提示! 下载链接 https://github.com/Zy143L/jd_cookie/releases 使用Python实现 代码很烂 没有做任何异常捕捉 但是能用 请不要将获取到的Cookie发送给任何陌生人 如果打开闪退 请使

Zy143L 420 Dec 11, 2022
Types for the Rasterio package

types-rasterio Types for the rasterio package A work in progress Install Not yet published to PyPI pip install types-rasterio These type definitions

Kyle Barron 7 Sep 10, 2021