Practice Exercises with Difficulty, Solutions, and Mentor Notes
Exercise | Difficulty |
---|---|
Accumulate | 2 |
Beer Song | 3 |
Binary | 3 |
Diffie-Hellman | 3 |
Error Handling | 3 |
Hexadecimal | 3 |
Nucleotide Count | 2 |
Parallel Letter Frequency | 3 |
Point Mutations | 3 |
Trinary | 4 |
Custom Set | 5 |
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 |
= live on exercism.org
= drafted but not live
= planned or in progress
= future
= live on exercism.org
= drafted but not live
= planned or in progress
= future
flowchart TD
%%{init: {"theme": "base", "themeVariables": { "fontFamily": "Victor Mono, San Francisco, Roboto", "fontSize" : "18px", "primaryColor": "#D9D7FF", "nodeBorder": "#9F80DF", "lineColor": "#AFAC6A"}}}%%
classDef TBD-F fill:#C4D7FF,stroke:#97ACF5,stroke-width:4px,stroke-dasharray: 5 5, color: #5055C4;
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)
aliasing((<b>TBD-F</b><br><i>aliasing</i>)):::TBD-F
array((<b>TBD-F</b><br><i>array</i>)):::TBD-F
Basics((<b>Guidos Gorgeous Lasagna</b><br><i>Basics</i>)):::Beta
binary-data((<b>TBD-F</b><br><i>binary-data</i>>)):::TBD-F
bitwise-operations((<b>TBD-F</b><br><i>bitwise-<br>operations</i>)):::TBD-F
bools((<b>Ghost Gobble <br> Arcade Game</b><br><i>bools</i>)):::Beta
calendar((<b>TBD-F</b><br><i>calendar</i>)):::TBD-F
classes((<b>Ellen's Alien Game</b><br><i>Classes</i>)):::Beta
Class-customization((<b>TBD</b> <br> <i>Class Customization</i>)):::TBD
Class-composition((<b>TBD-F</b> <br> <i>Class Composition</i>)):::TBD-F
Class-inheritance((<b>TBD</b><br><i>Class Inheritance</i>)):::TBD
Class-interfaces((<b>TBD</b><br><i>Class Interfaces</i>)):::TBD
collections((<b>TBD</b><br><i>Collections Module</i>)):::TBD
comparisons((<b>Black Jack</b><br><i>comparisons</i>)):::Beta
conditionals((<b>Meltdown Mitigation</b><br><i>Conditionals</i>)):::Beta
context-manager-customization((<b>TBD</b><br><i>Context Manager <br> Customization</i>)):::TBD
copy((<b>copy</b><br><i>copy</i>)):::TBD-F
datetime((<b>TBD</b><br><i>datetime</i>)):::TBD
decorators((<b>TBD</b><br> <i>Decorators</i>)):::TBD
decimal((<b>TBD-F</b><br><i>decimal</i>)):::TBD-F
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
dataclasses((<b>TBD-F</b><br><i>dataclasses</i>)):::TBD-F
dicts((Inventory <br> Management<br><i>dicts</i>)):::Beta
dict-methods((<b>Mecha <br>Munch Management</b><br> <i>Dict-Methods</i>)):::WIP
enums((<b>Log Levels</b> <br> <i>Enums</i>)):::WIP
enumerate((<b>TBD</b><br><i>enumerate</i>)):::TBD
ExceptionGroup((<b>TBD-F</b><br><i>ExceptionGroup</i>)):::TBD-F
fractions((<b>TBD-F</b><br><i>fractions</i>)):::TBD-F
functions((<b>Exercise 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
imports((<b>TBD-F</b><br><i>imports</i>)):::TBD-F
iterators((<b>TBD</b><br><i>iterators</i>)):::TBD
itertools((<b>Ice Cream Stand</b><br><i>itertools</i>)):::WIP
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
logging((<b>TBD-F</b><br><i>Logging</i>)):::TBD-F
loops((<b>Making the Grade</b><br><i>loops</i>)):::Beta
math((<b>TBD-F</b><br><i>math</i>)):::TBD-F
cmath((<b>TBD-F</b><br><i>cmath</i>)):::TBD-F
memoryview((<b>TBD-F</b><br><i>memoryview</i>)):::TBD-F
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><br><i>(Bowling Game??)<br>complex-numbers</i>")):::TBD
binary-octal-hexadecimal(("<b>WIP</b><br><i>Binary, Octal, & <br> Hexadecimal</i>")):::WIP
operator-overloading((<b>TBD-F</b><br><i>operator-<br>overloading</i>)):::TBD-F
raising-and-handling-errors((<b>TBD</b> <br> <i>Raising & <br> Handling Errors</i>)):::TBD
regular-expressions((<b>TBD</b><br><i>Regular Expressions</i>)):::TBD
unicode-regular-expressions((<b>TBD-F</b><br><i>Unicode Regex</i>)):::TBD-F
random((<b>TBD-F</b><br><i>random</i>)):::TBD-F
rich-comparisons((<b>TBD</b><br><i>Rich Comparisons</i>)):::TBD
statistics((<b>TBD-F</b><br><i>statistics</i>)):::TBD-F
secrets((<b>TBD-F</b><br><i>secrets</i>)):::TBD-F
sequences((<b>Thalias <br> Tram Troubles</b><br><i>sequences</i>)):::WIP
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>TBD (rewrite)</b> <br><i>String Formatting</i>")):::WIP
string-methods((<b>Little Sister's <br> Essay</b><br><i>String Methods</i>)):::Beta
structural-pattern-matching((<b>TBD</b><br><i>Structural <br> Pattern Matching</i>)):::TBD
tuples((<b>Tisbury Treasure Hunt</b><br><i>tuples</i>)):::Beta
type-annotation(("<b>TBD-F</b><br><i>Type Annotation<br>(type hints)</i>")):::TBD-F
type-aliases((<b>TBD-F</b><br><i>Type Aliases</i>)):::TBD-F
unicode-data((<b>TBD-F</b><br><i>unicode data</i>)):::TBD-F
unpacking-and-multiple-assignment((<b>Locomotive Engineer</b><br><i>Unpacking & <br> Multi-assignment</i>)):::Beta
user-defined-errors((<b>TBD</b> <br><i>User Defined Errors</i>)):::TBD
walrus-operator((<b>TBD-F</b><br><i>Walrus Operator</i>)):::TBD-F
with(("<b>TBD</b> <br> <i>with <br> (Context Managers)</i>")):::TBD
unittest(("<b>TBD-F</b> <br> <i>unittest <br> (testing)</i>")):::TBD-F
doctests(("<b>TBD-F</b> <br> <i>doctests</i>")):::TBD-F
zip(("<b>TBD</b><br><i>iterating with zip()</i>")):::TBD
%%exercise prerequisites (node relations)
Basics --> strings & bools
Basics --> numbers & loops
binary-data --> memoryview
bools --> conditionals & bitwise-operations
classes ---> iterators & dataclasses & Class-inheritance & Class-customization
Class-customization --> type-annotation & Class-composition
conditionals --> strings & comparisons
comparisons --> loops
datetime --> calendar
decorators --> Class-customization
loops --> regular-expressions & tuples & imports
loops --> functions & with
regular-expressions --> structural-pattern-matching & unicode-regular-expressions
list-comprehensions --> other-comprehensions
Class-customization --> unittest & enums & rich-comparisons & logging
unittest --> doctests
Class-customization --> operator-overloading
Class-inheritance --> user-defined-errors & descriptors & Class-interfaces
Class-inheritance ----> context-manager-customization
other-comprehensions ---> walrus-operator & generators
dicts --> dict-methods & copy
functions --> function-arguments & higher-order-functions
functions --> functional-tools
function-arguments --> none
functional-tools --> functools
generators --> generator-expressions
higher-order-functions --> decorators
higher-order-functions --> anonymous-functions
imports --> itertools & datetime & aliasing
iterators --> generators
lists --> string-formatting & dicts & list-methods & list-comprehensions & array & sequences
numbers --> bitwise-operations & complex-numbers & fractions & decimal & binary-octal-hexadecimal & random & math & statistics
complex-numbers --> cmath
random --> secrets
sequences --> binary-data & iterators & enumerate
sets --> classes & collections
strings ----> string-formatting
strings --> raising-and-handling-errors & lists & string-methods & unicode-data & regular-expressions
tuples --> sequences & classes
tuples --> zip & unpacking-and-multiple-assignment
tuples ---> sets
tuples --> itertools
type-annotation --> type-aliases
user-defined-errors --> ExceptionGroup
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/issues/3094" "Class-customization"
click Class-inheritance "https://github.com/exercism/python/issues/3096" "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/tree/main/exercises/concept/mecha-munch-management" "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/tree/main/exercises/concept/plane-tickets" "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/tree/main/exercises/concept/locomotive-engineer" "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"