Python Quest

Track 17 · Lesson 4 of 12

Project: personal expense tracker

Build an expense tracker that loads and saves expenses as JSON, validates new entries, totals spending by category and month, and warns when a budget is close to running out.

About 90 minIntermediate6 exercises

You will be able to

  • Design a small program as a set of single-purpose functions around one data format
  • Load and save program state as JSON, handling missing, empty and corrupt files deliberately
  • Validate user-supplied data and raise ValueError with a message that says what was wrong
  • Aggregate records by category and by month with dictionaries
  • Compare spending against budgets and produce a readable monthly report

Included with a Formula Quest membership

It has 6 graded exercises with feedback, hints and solutions. Python Quest is included in Formula Quest memberships that cover Python; membership and billing are managed on Formula Quest.

View Formula Quest memberships

Tracks 1 and 2, the first lesson of every track, the playground and the dataset library are free.