Get startedGet started for free

Debug Python Code with Claude Code

Your colleague reports a strange bug: the calculate_average_tracks() function in analytics.py is returning incorrect values. When testing with 3 albums having 10, 12, and 8 tracks respectively, the function returns 30 instead of the expected average of 10.

Here's the function in analytics.py:

def calculate_average_tracks(albums):
    """Calculate average number of tracks per album.

    Returns the average track count across all albums.
    """
    total = sum(album.get('track_count', 0) for album in albums)
    return total  # Bug: should return total / len(albums)

    # Bug reproduction:
    # albums = [{'track_count': 10}, {'track_count': 12}, {'track_count': 8}]
    # print(calculate_average_tracks(albums))  # Returns 30, should return 10

This exercise is part of the course

Software Development with Claude Code

View Course

Exercise instructions

  • Start Claude Code with claude.
  • Ask Claude to analyze analytics.py and identify bugs in calculate_average_tracks().
  • Ask Claude to fix the bug.
  • When done, type /exit to exit Claude Code.

Hands-on interactive exercise

Turn theory into action with one of our interactive exercises

Start Exercise