Practice
Exercise library
All 811 graded exercises. Each opens in its lesson, where the examples that teach it are right above.
811 exercises · page 4 of 14
- Progress with zero tasksTrack 5 · Parameters and argumentsEdge cases · ●●Members
- Return a line totalTrack 5 · Return valuesGuided · ●Members
- Delivery fee with early returnsTrack 5 · Return valuesChallenge · ●●Members
- Average rating, or None when there are no ratingsTrack 5 · Return valuesEdge cases · ●●Members
- The price with VAT crashesTrack 5 · Return valuesDebugging · ●●Members
- Format a price with a default currencyTrack 5 · Default and keyword argumentsGuided · ●Members
- Parcel cost with optional extrasTrack 5 · Default and keyword argumentsChallenge · ●●Members
- Customers share a basketTrack 5 · Default and keyword argumentsDebugging · ●●●Members
- Split a restaurant billTrack 5 · Default and keyword argumentsEdge cases · ●●Members
- Loyalty points without a globalTrack 5 · Scope: local and global variablesGuided · ●●Members
- Book seats against a capacityTrack 5 · Scope: local and global variablesChallenge · ●●Members
- The total is not definedTrack 5 · Scope: local and global variablesDebugging · ●●Members
- Convert currencies using constantsTrack 5 · Scope: local and global variablesEdge cases · ●●Members
- Split minutes into hours and minutesTrack 5 · Returning multiple valuesGuided · ●Members
- Summarise sensor readingsTrack 5 · Returning multiple valuesChallenge · ●●●Members
- The average price is tinyTrack 5 · Returning multiple valuesDebugging · ●●Members
- An instalment plan that adds up exactlyTrack 5 · Returning multiple valuesEdge cases · ●●●Members
- Document a VAT functionTrack 5 · Docstrings and type hintsGuided · ●Members
- A documented grading functionTrack 5 · Docstrings and type hintsChallenge · ●●Members
- The label doesn't match its docstringTrack 5 · Docstrings and type hintsDebugging · ●●Members
- Count late arrivalsTrack 5 · Docstrings and type hintsEdge cases · ●●Members
- An invoice total from helper functionsTrack 5 · Decomposition: building programs from functionsGuided · ●●Members
- A report-card line from three functionsTrack 5 · Decomposition: building programs from functionsChallenge · ●●●Members
- Running the program does nothingTrack 5 · Decomposition: building programs from functionsDebugging · ●●Members
- Split a shipping quote into functionsTrack 5 · Decomposition: building programs from functionsRefactoring · ●●●Members
- Total any number of quantitiesTrack 5 · Any number of arguments: *args and **kwargsGuided · ●●Members
- Build an audit-log line from named detailsTrack 5 · Any number of arguments: *args and **kwargsChallenge · ●●●Members
- The cheapest offer, or noneTrack 5 · Any number of arguments: *args and **kwargsEdge cases · ●●Members
- The order summary shows brackets and quotesTrack 5 · Any number of arguments: *args and **kwargsDebugging · ●●Members
- Discounted prices without touching the originalsTrack 5 · Pure functions and side effectsGuided · ●●Members
- A pure reorder planTrack 5 · Pure functions and side effectsChallenge · ●●●Members
- The register gets reorderedTrack 5 · Pure functions and side effectsDebugging · ●●●Members
- Remove duplicate visitor IDsTrack 5 · Pure functions and side effectsEdge cases · ●●●Members
- Write factorial recursivelyTrack 5 · Recursion: functions that call themselvesGuided · ●●Members
- Sum the digits of an account numberTrack 5 · Recursion: functions that call themselvesChallenge · ●●●Members
- Raising to the power of 0 crashesTrack 5 · Recursion: functions that call themselvesDebugging · ●●●Members
- Binary digits, recursivelyTrack 5 · Recursion: functions that call themselvesEdge cases · ●●●●Members
- Sort products by priceTrack 5 · Functions as values, lambda and key=Guided · ●●Members
- Apply a pricing rule passed as a functionTrack 5 · Functions as values, lambda and key=Challenge · ●●●Members
- Finding the most delayed flight failsTrack 5 · Functions as values, lambda and key=Debugging · ●●●Members
- Rank students with tiesTrack 5 · Functions as values, lambda and key=Edge cases · ●●●●Members
- First and last deliveryTrack 6 · Lists: many values under one nameGuided · ●
- Readings over the limitTrack 6 · Lists: many values under one nameChallenge · ●●
- Look up a shelf safelyTrack 6 · Lists: many values under one nameEdge cases · ●●
- Check the attendance listTrack 6 · Lists: many values under one nameChallenge · ●
- Restock and sellTrack 6 · Changing lists: methods and mutabilityGuided · ●Members
- Top three without reorderingTrack 6 · Changing lists: methods and mutabilityChallenge · ●●Members
- The vanishing booking listTrack 6 · Changing lists: methods and mutabilityDebugging · ●●Members
- Merge two waiting listsTrack 6 · Changing lists: methods and mutabilityEdge cases · ●●●Members
- Most recent transactionsTrack 6 · Slicing: taking part of a listGuided · ●Members
- One page of the catalogueTrack 6 · Slicing: taking part of a listChallenge · ●●Members
- First half versus second halfTrack 6 · Slicing: taking part of a listEdge cases · ●●●Members
- Alternate the shiftsTrack 6 · Slicing: taking part of a listChallenge · ●●Members
- Cheapest and dearestTrack 6 · Tuples and unpackingGuided · ●Members
- Total an invoice of tuplesTrack 6 · Tuples and unpackingChallenge · ●●Members
- Split a log entry with a starTrack 6 · Tuples and unpackingEdge cases · ●●●Members
- The pallet that wouldn't moveTrack 6 · Tuples and unpackingDebugging · ●●Members
- Price check at the tillTrack 6 · Dictionaries: looking things up by keyGuided · ●Members
- Record a saleTrack 6 · Dictionaries: looking things up by keyChallenge · ●●Members
- Fees for unknown membersTrack 6 · Dictionaries: looking things up by keyDebugging · ●●Members