Practice
Exercise library
All 811 graded exercises. Each opens in its lesson, where the examples that teach it are right above.
811 exercises · page 3 of 14
- Machine control commandsTrack 3 · The match statementGuided · ●Members
- Explain HTTP status codesTrack 3 · The match statementChallenge · ●●Members
- Fix the plan pricingTrack 3 · The match statementDebugging · ●●●Members
- Normalise measurement unitsTrack 3 · The match statementEdge cases · ●●●Members
- Milestone 1: validate the orderTrack 3 · Project: a shipping and discount rules engineProject milestone · ●●Members
- Milestone 2: base shipping by weightTrack 3 · Project: a shipping and discount rules engineProject milestone · ●●Members
- Milestone 3: add the zone surchargeTrack 3 · Project: a shipping and discount rules engineProject milestone · ●●●Members
- Milestone 4: discounts and membershipTrack 3 · Project: a shipping and discount rules engineProject milestone · ●●●Members
- Milestone 5: the complete quoteTrack 3 · Project: a shipping and discount rules engineProject milestone · ●●●●Members
- Print numbered ticketsTrack 4 · Why loops? Repeating work with forGuided · ●
- A times table for any numberTrack 4 · Why loops? Repeating work with forChallenge · ●●
- The report that repeats itselfTrack 4 · Why loops? Repeating work with forDebugging · ●●
- Label the even shelvesTrack 4 · range() in depth: start, stop and stepGuided · ●Members
- Countdown to openingTrack 4 · range() in depth: start, stop and stepChallenge · ●●Members
- The missing last pageTrack 4 · range() in depth: start, stop and stepDebugging · ●●Members
- A bus timetableTrack 4 · range() in depth: start, stop and stepChallenge · ●●●Members
- Spell out a product codeTrack 4 · Looping over text and listsGuided · ●Members
- Flag orders above a limitTrack 4 · Looping over text and listsChallenge · ●●Members
- Keep only the digitsTrack 4 · Looping over text and listsEdge cases · ●●Members
- Every tag shows the whole listTrack 4 · Looping over text and listsDebugging · ●Members
- Add up a receiptTrack 4 · Accumulators: totals, counts and built-up stringsGuided · ●●Members
- Count the registerTrack 4 · Accumulators: totals, counts and built-up stringsChallenge · ●●Members
- Build a string of initialsTrack 4 · Accumulators: totals, counts and built-up stringsChallenge · ●●Members
- Average sensor readings safelyTrack 4 · Accumulators: totals, counts and built-up stringsEdge cases · ●●●Members
- Months to reach a savings goalTrack 4 · while loops and loops that never endGuided · ●●Members
- Count the digits of an order numberTrack 4 · while loops and loops that never endChallenge · ●●●Members
- The packing loop that never stopsTrack 4 · while loops and loops that never endDebugging · ●●●Members
- Years for an investment to doubleTrack 4 · while loops and loops that never endChallenge · ●●●Members
- An expense log that stops at doneTrack 4 · Input loops and sentinel valuesGuided · ●●Members
- Ask until the quantity is validTrack 4 · Input loops and sentinel valuesChallenge · ●●Members
- Welcome guests until a blank lineTrack 4 · Input loops and sentinel valuesChallenge · ●●Members
- Give up after three attemptsTrack 4 · Input loops and sentinel valuesEdge cases · ●●●Members
- Report the first empty shelfTrack 4 · break, continue and the loop elseGuided · ●●Members
- Total the sales, skip the refundsTrack 4 · break, continue and the loop elseChallenge · ●●●Members
- Search for a product codeTrack 4 · break, continue and the loop elseEdge cases · ●●●Members
- The alert that only checks one readingTrack 4 · break, continue and the loop elseDebugging · ●●●Members
- Print a seating planTrack 4 · Nested loops: grids, tables and pairsGuided · ●●Members
- An aligned multiplication gridTrack 4 · Nested loops: grids, tables and pairsChallenge · ●●●Members
- A round-robin match listTrack 4 · Nested loops: grids, tables and pairsChallenge · ●●●Members
- Day totals that keep growingTrack 4 · Nested loops: grids, tables and pairsDebugging · ●●●Members
- A numbered menu with a choiceTrack 4 · enumerate() and zip(): positions and parallel dataGuided · ●●Members
- Order lines from two listsTrack 4 · enumerate() and zip(): positions and parallel dataChallenge · ●●●Members
- Mark a multiple-choice testTrack 4 · enumerate() and zip(): positions and parallel dataEdge cases · ●●●Members
- Every task is number 1Track 4 · enumerate() and zip(): positions and parallel dataDebugging · ●●Members
- Find the cheapest quoteTrack 4 · Finding patterns: smallest, largest, first and allGuided · ●●Members
- Did everyone pass? Did anyone score 100?Track 4 · Finding patterns: smallest, largest, first and allEdge cases · ●●●Members
- The longest run of good daysTrack 4 · Finding patterns: smallest, largest, first and allChallenge · ●●●●Members
- The best month that wasn'tTrack 4 · Finding patterns: smallest, largest, first and allDebugging · ●●●Members
- Milestone 1: count and totalTrack 4 · Mini project: a sales tallyGuided · ●●Members
- Milestone 2: skip voided entriesTrack 4 · Mini project: a sales tallyEdge cases · ●●●Members
- Milestone 3: largest sale and averageTrack 4 · Mini project: a sales tallyProject milestone · ●●●Members
- Milestone 4: a bar chart of sale sizesTrack 4 · Mini project: a sales tallyProject milestone · ●●●Members
- Milestone 5: a report for several daysTrack 4 · Mini project: a sales tallyChallenge · ●●●●Members
- Print a store bannerTrack 5 · Defining and calling functionsGuided · ●
- A report header built from two functionsTrack 5 · Defining and calling functionsChallenge · ●●
- The opening hours never appearTrack 5 · Defining and calling functionsDebugging · ●●
- A countdown function with a loop insideTrack 5 · Defining and calling functionsEdge cases · ●●
- Greet a gym member by nameTrack 5 · Parameters and argumentsGuided · ●Members
- Print a receipt lineTrack 5 · Parameters and argumentsChallenge · ●●Members
- Every city reports the same temperatureTrack 5 · Parameters and argumentsDebugging · ●●Members