Skip to content

Latest commit

 

History

History
387 lines (358 loc) · 138 KB

File metadata and controls

387 lines (358 loc) · 138 KB

Concept and Practice Exercises


Implemented Practice Exercises

Practice Exercises with Difficulty, Solutions, and Mentor Notes
Exercise Difficulty Solutions Prereqs Practices Mentor
Notes
Hello World 🔹 examplemost⭐ NONE basics
Acronym 🔹🔹🔹 examplemost⭐ config.json config.json acronym
Affine Cipher 🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
All Your Base 🔹🔹🔹🔹 examplemost⭐ config.json config.json
Allergies 🔹🔹🔹 examplemost⭐ config.json config.json allergies
Alphametics 🔹🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
Anagram 🔹 examplemost⭐ config.json config.json
Armstrong Numbers 🔹 examplemost⭐ config.json config.json
Atbash Cipher 🔹 examplemost⭐ config.json config.json
Bank Account 🔹🔹🔹🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
Beer Song 🔹 examplemost⭐ config.json NONE
Binary Search Tree 🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
Binary Search 🔹 examplemost⭐ config.json config.json binary-search
Bob 🔹 examplemost⭐ config.json config.json bob
Book Store 🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
Bowling 🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
Change 🔹🔹🔹🔹 examplemost⭐ config.json config.json
Circular Buffer 🔹🔹🔹 examplemost⭐ config.json config.json
Clock 🔹🔹🔹🔹 examplemost⭐ config.json config.json clock
Collatz Conjecture 🔹 examplemost⭐ config.json config.json
Complex Numbers 🔹🔹🔹🔹 examplemost⭐ config.json config.json
Connect 🔹🔹🔹 examplemost⭐ config.json config.json
Crypto Square 🔹🔹 examplemost⭐ config.json config.json
Custom Set 🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
Darts 🔹🔹 examplemost⭐ config.json config.json
Diamond 🔹 examplemost⭐ config.json config.json
Difference Of Squares 🔹 examplemost⭐ config.json NONE
Diffie Hellman 🔹🔹🔹 examplemost⭐ config.json NONE
Dnd Character 🔹🔹🔹 examplemost⭐ config.json NONE
Dominoes 🔹🔹🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
Dot Dsl 🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
Etl 🔹 examplemost⭐ config.json config.json
Flatten Array 🔹 examplemost⭐ config.json config.json
Food Chain 🔹🔹🔹🔹 examplemost⭐ config.json config.json
Forth 🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
Gigasecond 🔹 examplemost⭐ NONE
Go Counting 🔹🔹🔹🔹 examplemost⭐ config.json config.json
Grade School 🔹🔹🔹 examplemost⭐ config.json config.json grade-school
Grains 🔹 examplemost⭐ config.json config.json
Grep 🔹🔹🔹🔹 examplemost⭐ config.json config.json
Hamming 🔹🔹 examplemost⭐ config.json config.json hamming
Hangman 🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
High Scores 🔹 examplemost⭐ config.json config.json high-scores
House 🔹 examplemost⭐ config.json NONE
Isbn Verifier 🔹 examplemost⭐ config.json NONE
Isogram 🔹🔹🔹 examplemost⭐ config.json config.json isogram
Kindergarten Garden 🔹🔹🔹 examplemost⭐ config.json config.json kindergarten-garden
Knapsack 🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
Largest Series Product 🔹🔹🔹🔹 examplemost⭐ config.json config.json
Leap 🔹 examplemost⭐ config.json config.json leap
Ledger 🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
Linked List 🔹🔹🔹🔹 examplemost⭐ config.json config.json
List Ops 🔹 examplemost⭐ config.json NONE
Luhn 🔹🔹🔹🔹 examplemost⭐ config.json config.json luhn
Markdown 🔹🔹🔹🔹 examplemost⭐ config.json markdown
Matching Brackets 🔹 examplemost⭐ config.json NONE matching-brackets
Matrix 🔹🔹 examplemost⭐ config.json config.json matrix
Meetup 🔹🔹🔹🔹 examplemost⭐ config.json config.json
Minesweeper 🔹🔹 examplemost⭐ config.json config.json
Nth Prime 🔹 examplemost⭐ config.json NONE
Ocr Numbers 🔹🔹🔹 examplemost⭐ config.json NONE
Paasio 🔹🔹🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
Palindrome Products 🔹🔹 examplemost⭐ config.json config.json
Pangram 🔹 examplemost⭐ config.json config.json
Perfect Numbers 🔹 examplemost⭐ config.json NONE
Phone Number 🔹 examplemost⭐ config.json config.json
Pig Latin 🔹 examplemost⭐ config.json config.json
Poker 🔹🔹🔹 examplemost⭐ config.json config.json
Pov 🔹🔹🔹🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
Prime Factors 🔹 examplemost⭐ config.json config.json
Protein Translation 🔹🔹🔹 examplemost⭐ config.json config.json
Pythagorean Triplet 🔹 examplemost⭐ config.json config.json
Queen Attack 🔹 examplemost⭐ config.json NONE
Rail Fence Cipher 🔹🔹🔹 examplemost⭐ config.json config.json
Raindrops 🔹🔹 examplemost⭐ config.json config.json raindrops
Rational Numbers 🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
React 🔹🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
Rectangles 🔹🔹🔹 examplemost⭐ config.json config.json
Resistor Color Duo 🔹 examplemost⭐ config.json NONE
Resistor Color 🔹 examplemost⭐ config.json config.json
Rest Api 🔹🔹🔹🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
Reverse String 🔹 examplemost⭐ config.json NONE reverse-string
Rna Transcription 🔹 examplemost⭐ config.json config.json
Robot Name 🔹🔹 examplemost⭐ config.json NONE
Robot Simulator 🔹🔹 examplemost⭐ config.json config.json
Roman Numerals 🔹🔹 examplemost⭐ config.json NONE
Rotational Cipher 🔹🔹 examplemost⭐ config.json config.json
Run Length Encoding 🔹🔹 examplemost⭐ config.json config.json
Saddle Points 🔹🔹🔹 examplemost⭐ config.json config.json
Satellite 🔹🔹🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
Say 🔹 examplemost⭐ config.json config.json
Scale Generator 🔹🔹🔹🔹 examplemost⭐ config.json config.json
Scrabble Score 🔹🔹🔹 examplemost⭐ config.json config.json scrabble-score
Secret Handshake 🔹🔹 examplemost⭐ config.json config.json
Series 🔹 examplemost⭐ config.json config.json
Sgf Parsing 🔹🔹🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
Sieve 🔹🔹 examplemost⭐ config.json config.json
Simple Cipher 🔹🔹🔹 examplemost⭐ config.json NONE
Simple Linked List 🔹🔹🔹 examplemost⭐ config.json config.json
Space Age 🔹🔹 examplemost⭐ config.json config.json
Spiral Matrix 🔹🔹 examplemost⭐ config.json config.json
Sublist 🔹 examplemost⭐ config.json config.json
Sum Of Multiples 🔹 examplemost⭐ config.json config.json sum-of-multiples
Tournament 🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
Transpose 🔹🔹 examplemost⭐ config.json config.json
Tree Building 🔹🔹🔹 examplemost⭐ config.json config.json
Triangle 🔹 examplemost⭐ config.json config.json
Twelve Days 🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json twelve-days
Two Bucket 🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
Two Fer 🔹 examplemost⭐ config.json config.json two-fer
Variable Length Quantity 🔹🔹🔹 examplemost⭐ config.json config.json
Word Count 🔹🔹🔹 examplemost⭐ config.json config.json word-count
Word Search 🔹🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
Wordy 🔹 examplemost⭐ config.json config.json
Yacht 🔹 examplemost⭐ config.json config.json
Zebra Puzzle 🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json
Zipper 🔹🔹🔹🔹🔹🔹 examplemost⭐ config.json config.json


Concepts Without Planned Exercises

No Exercises Planned
Status Concept About&Intro Exercise Design Doc or Issue
~~ *general--Composition ~~ NA NA
~~ *general--Data Structures] ~~ NA NA
~~ *general--Encapsulation ~~ NA NA
~~ *general--Interfaces] ~~ NA NA
~~ *general--Lookup efficiency] ~~ NA NA
~~ *general--Mutability in Python] ~~ NA NA
~~ *general--Mutation ~~ NA NA
~~ *general--Polymorphism ~~ NA NA
~~ *general--Recursive data structures ~~ NA NA
~~ *general--Scope ~~ NA NA
~~ *general--Standard Library ~~ NA NA
~~ *general--State ~~ NA NA
~~ *no stand-alone--del ~~ Multiple Multiple
~~ *no stand-alone--Duck Typing ~~ Multiple Multiple
~~ *no stand-alone--Dynamic Typing ~~ Multiple Multiple
~~ *no stand-alone--Expressions ~~ Multiple Multiple
~~ *no stand-alone--Immutability in Python ~~ Multiple Multiple
~~ *no stand-alone--Operator precedence ~~ Multiple Multiple
~~ *no stand-alone--Operators] ~~ Multiple Multiple
~~ *no stand-alone--Order of Evaluation ~~ Multiple Multiple
~~ *no stand-alone--type ~~ Multiple Multiple
~~ *no stand-alone--type conversion ~~ Multiple Multiple


Implemented & Planned Concept Exercises

= live on exercism.org        = drafted but not live

= planned or in progress    = future


Status Concept About&Intro Exercise Design Doc or Issue Stub
Docstring Level
basics Guidos Gorgeous Lasagna .metafolder Full
bools Ghost Gobble Arcade Game .metafolder Full
numbers Currency Exchange .metafolder Full
complex-numbers ~ #2208 TBD
conditionals Meltdown Mitigation .metafolder Full
comparisons Black Jack .metafolder Full
strings Litte Sister's Vocab .metafolder Full
string-methods Litte Sister's Essay .metafolder Full
string-formatting Pretty Leaflet .metafolder Full
lists Card Games .metafolder Full
list-methods Chaitanas Colossal Coaster .metafolder Full
loops Making the Grade .metafolder Full
tuples Tisbury Treasure Hunt .metafolder Full
sequences ~ #2290 TBD
dicts Inventory Management .metafolder Full
dict-methods ~ #2348
sets Cater Waiter .metafolder Full
list-comprehensions ~ #2295
other-comprehensions ~ #2294
classes Ellen's Alien Game .metafolder Minimal
generators Plane Tickets PR#2729/#2293 Minimal
generator-expressions ~ #2292
iterators ~ #2367 TBD
functions ~ #2353
unpacking-and-multiple-assignment ~ #2360
raising-and-handling-errors ~ TBD
itertools ~ #2368
with-statement ~ #2369
enums Log Levels .metafolder Minimal
none Restaurant Rozalynn .metafolder Minimal
decorators ~ #2356
rich-comparisons ~ #2287
function-arguments ~ #2354
class-customization ~ #2350
class-inheritance ~ #2351
user-defined-errors ~ TBD
context-manager-customization ~ #2370
higher-order-functions ~ #2355
functional-tools ~ #2359
functools ~ #2366
anonymous-functions ~ #2357
descriptors ~ #2365
aliasing ~ TBD
binary data ~ TBD
bitflags ~ TBD
bitwise-operators ~ TBD
bytes ~ TBD
class-composition ~ #2352
class-interfaces ~ TBD
collections ~ TBD
dataclasses-and-namedtuples ~ #2361
import ~ ON HOLD
memoryview ~ TBD
operator-overloading ~ TBD
regular-expressions ~ TBD
string-methods-splitting ~ TBD
testing ~ TBD
text-processing ~ TBD
type-hinting ~ TBD
unicode-regular-expressions ~ TBD
walrus-operator ~ TBD



Concept Exercise Tree

flowchart TD
%%{init: {"theme": "base", "themeVariables": { "fontFamily": "Victor Mono, San Francisco, Roboto", "fontSize" : "18px", "primaryColor": "#D9D7FF", "nodeBorder": "#9F80DF", "lineColor": "#AFAC6A"}}}%%
classDef TBD fill:#D9D7FF,stroke:#9F80DF,stroke-width:4px,stroke-dasharray: 5 5, color: #734CC4;
classDef Beta fill:#F5DE90,stroke:#F6B303,stroke-width:2px, color:#525952;
classDef WIP fill:#DEE8BB,stroke:#AFAC6A,stroke-width:4px,stroke-dasharray: 5 5, #908D49;

%%concepts & exercise names (node labels)
Basics((<b>Guidos Gorgeous Lasagna</b><br><i>Basics</i>)):::Beta
bools((<b>Ghost Gobble <br> Arcade Game</b><br><i>bools</i>)):::Beta
classes((<b>Ellen's Alien Game</b><br><i>Classes</i>)):::Beta
Class-customization((<b>TBD</b> <br> <i>Class Customization</i>)):::TBD
Class-inheritance((<b>TBD</b><br><i>Class Inheritance</i>)):::TBD
Class-interfaces((<b>TBD</b><br><i>Class Interfaces</i>)):::TBD
conditionals((<b>Meltdown Mitigation</b><br><i>Conditionals</i>)):::Beta
comparisons((<b>Black Jack</b><br><i>comparisons</i>)):::Beta
context-manager-customization((<b>TBD</b><br><i>Context Manager <br> Customization</i>)):::TBD
decorators((<b>TBD</b><br> <i>Decorators</i>)):::TBD
descriptors((<b>TBD</b><br> <i>Descriptors</i>)):::TBD
list-comprehensions(("<b>TBD</b><br><i>List Comprehensions</i>")):::TBD
other-comprehensions((<b>TBD</b><br><i>Other Comprehensions</i>)):::TBD
dicts((Inventory <br> Management<br><i>dicts</i>)):::Beta
dict-methods((<b>TBD</b><br> <i>Dict-Methods</i>)):::TBD
enums((<b>Log Levels</b> <br> <i>Enums</i>)):::WIP
functions((<b>TBD</b><br><i>Functions</i>)):::WIP
function-arguments((<b>TBD</b> <br> <i>Function Arguments</i>)):::TBD
functional-tools((<b>TBD</b> <br> <i>Functional Tools</i>)):::TBD
functools((<b>TBD</b> <br> <i>Functools Module</i>)):::TBD
generators((<b>Plane Tickets</b> <br><i>Generators</i>)):::TBD
generator-expressions((<b>TBD</b> <br> <i>Generator Expressions</i>)):::TBD
higher-order-functions((<b>TBD</b> <br> <i>Higher Order <br> Functions</i>)):::TBD
anonymous-functions((<b>TBD</b><br><i>Anonymous Functions <br> AKA Lambdas</i>)):::TBD
iterators((<b>TBD</b><br><i>iterators</i>)):::TBD
itertools((<b>TBD</b><br><i>itertools</i>)):::TBD
lists((<b>Card Games</b><br><i>lists</i>)):::Beta
list-methods((<b>Chaitana's <br> Colossal Coaster</b><br><i>list-methods</i>)):::Beta
loops((<b>Making the Grade</b><br><i>loops</i>)):::Beta
none((<b>Restaurant Rozalynn</b><br><i>none</i>)):::WIP
numbers(("<b>Currency Exchange</b><br><i>(ints & floats)</i>")):::Beta
complex-numbers(("<b>TBD</b> <i>(Bowling Game??)<br>complex-numbers</i>")):::TBD
raising-and-handling-errors((<b>TBD</b> <br> <i>Raising & <br> Handling Errors</i>)):::TBD
rich-comparisons((<b>TBD</b><br><i>Rich Comparisons</i>)):::TBD
sequences((<b>TBD</b><br><i>sequences</i>)):::TBD
sets((<b>Cater-Waiter</b><br><i>sets</i>)):::Beta
strings((<b>Little Sister's <br> Vocab</b> <br><i>strings</i>)):::Beta
string-formatting((<b>Pretty Leaflet</b> <br><i>String Formatting</i>)):::WIP
string-methods((<b>Little Sister's <br> Essay</b><br><i>String Methods</i>)):::Beta
tuples((<b>Tisbury <br> Treasure Hunt</b><br><i>tuples</i>)):::Beta
unpacking-and-multiple-assignment((<b>TBD</b> <br> <i>Unpacking <br> & Multi-assignment</i>)):::TBD
user-defined-errors((<b>TBD</b> <br><i>User Definied Errors</i>)):::TBD
with(("<b>TBD</b> <br> <i>with <br> (Context Managers)</i>")):::TBD


%%exercise prerequisites (node relations)
Basics -->  strings & numbers & bools & loops
Basics -->  functions
bools -->   conditionals
classes ---> iterators & Class-inheritance & Class-customization
conditionals -->  strings & comparisons & loops
comparisons --> loops
loops -->  tuples & with
loops -->  itertools & functions
list-comprehensions --> other-comprehensions
Class-customization --> rich-comparisons
Class-customization --> enums & decorators
Class-inheritance --> user-defined-errors & descriptors & Class-interfaces
Class-inheritance ----> context-manager-customization
other-comprehensions ---> generators
dicts --> dict-methods
functions --> function-arguments & higher-order-functions & functional-tools
function-arguments --> none
functional-tools --> functools
generators --> generator-expressions
higher-order-functions --->  decorators
higher-order-functions -->  anonymous-functions
iterators --> generators
lists --> string-formatting & dicts & list-methods & list-comprehensions & sequences
numbers -->  complex-numbers
sequences --> iterators
sets --> classes
strings --> string-methods & string-formatting & lists
strings --> raising-and-handling-errors
tuples --> sequences & sets & classes & unpacking-and-multiple-assignment
with --> context-manager-customization

click Basics "https://exercism.org/tracks/python/exercises/guidos-gorgeous-lasagna" "basics"
click bools "https://exercism.org/tracks/python/exercises/ghost-gobble-arcade-game" "bools"
click classes "https://exercism.org/tracks/python/exercises/ellens-alien-game" "classes"
click Class-customization "https://github.com/exercism/python/tree/main/concepts/class-customization" "Class-customization"
click Class-inheritance "https://github.com/exercism/python/tree/main/concepts/class-inheritance" "Class-inheritance"
click Class-interfaces "https://github.com/exercism/python/tree/main/concepts/class-interfaces" "Class-interfaces"
click conditionals "https://exercism.org/tracks/python/exercises/meltdown-mitigation" "conditionals"
click comparisons "https://exercism.org/tracks/python/exercises/black-jack" "comparisons"
click context-manager-customization "https://github.com/exercism/python/issues/2370" "context-manager-customization"
click decorators "https://github.com/exercism/python/issues/2356" "decorators"
click descriptors "https://github.com/exercism/python/issues/2365" "descriptors"
click list-comprehensions "https://github.com/exercism/python/issues/2295" "list-comprehensions"
click other-comprehensions "https://github.com/exercism/python/issues/2294" "other-comprehensions"
click conditionals "https://exercism.org/tracks/python/exercises/meltdown-mitigation" "conditionals"
click dicts "https://exercism.org/tracks/python/exercises/inventory-management" "dicts"
click dict-methods "https://github.com/exercism/python/issues/2348" "dict-methods"
click enums "https://github.com/exercism/python/tree/main/exercises/concept/restaurant-rozalynn" "enums"
click functions "https://github.com/exercism/python/issues/2353" "functions"
click function-arguments "https://github.com/exercism/python/issues/2354" "function-arguments"
click functional-tools "https://github.com/exercism/python/issues/2359" "functional-tools"
click functools "https://github.com/exercism/python/issues/2366" "functools"
click generators "https://github.com/exercism/python/issues/2293" "generators"
click generator-expressions "https://github.com/exercism/python/issues/2292" "generator-expressions"
click higher-order-functions "https://github.com/exercism/python/issues/2355" "higher-order-functions"
click anonymous-functions "https://github.com/exercism/python/issues/2357" "anonymous-functions"
click iterators "https://github.com/exercism/python/issues/2367" "iterators"
click itertools "https://github.com/exercism/python/issues/2368" "itertools"
click lists "https://exercism.org/tracks/python/exercises/card-games" "lists"
click list-methods "https://exercism.org/tracks/python/exercises/chaitanas-colossal-coaster" "list-methods"
click loops "https://exercism.org/tracks/python/exercises/making-the-grade" "loops"
click none "https://github.com/exercism/python/tree/main/exercises/concept/restaurant-rozalynn" "none"
click numbers "https://exercism.org/tracks/python/exercises/currency-exchange" "numbers"
click complex-numbers "https://github.com/exercism/python/tree/main/concepts/complex-numbers" "complex-numbers"
click raising-and-handling-errors "https://github.com/exercism/python/tree/main/concepts/raising-and-handling-errors" "raising-and-handling-errors"
click rich-comparisons "https://github.com/exercism/python/issues/2287" "rich-comparisons"
click sequences "https://github.com/exercism/python/issues/2290" "sequences"
click sets "https://exercism.org/tracks/python/exercises/cater-waiter" "sets"
click strings "https://exercism.org/tracks/python/exercises/little-sisters-vocab" "strings"
click string-formatting "https://github.com/exercism/python/tree/main/exercises/concept/pretty-leaflet" "string-formatting"
click string-methods "https://exercism.org/tracks/python/exercises/little-sisters-essay" "string-methods"
click tuples "https://exercism.org/tracks/python/exercises/tisbury-treasure-hunt" "tuples"
click unpacking-and-multiple-assignment "https://github.com/exercism/python/issues/2360" "unpacking-and-multiple-assignment"
click user-defined-errors "https://github.com/exercism/python/tree/main/concepts/user-defined-errors" "user-defined-errors"
click with "https://github.com/exercism/python/issues/2369" "with"
Loading