Skip to content

Issue 60: Total the expenses for every category #59

Description

@pushpam2404

The problem

Write a program that accepts a list of expenses containing person, category and amount and finds the total expense for every category.

The file

python-open-source-challenge/issue-60.py

That is the only file you need to open, and the only one you should change.

The function you are fixing is expense_totals(). There are 2 # TODO: comments in it. Each one sits next to something that is wrong or missing — they are clues, not answers.

What to do

  1. Comment /claim below. A bot assigns this issue to you.
  2. Fork the repository and create a branch: git checkout -b fix/issue-60
  3. Run the file first, so you can see what failing looks like:
    python3 python-open-source-challenge/issue-60.py
    You will get an AssertionError. That is expected — it is the work waiting for you.
  4. Work through the # TODO: comments and repair the code.
  5. Run it again until it prints All checks passed!
  6. Open a pull request whose description contains Closes #59.

How you know you are done

python3 python-open-source-challenge/issue-60.py
Output
Before AssertionError
After All checks passed!

Nothing else counts as finished.

Rules

  • Do not rewrite the program from scratch. Reading somebody else's code and making a small, careful change is the skill this is teaching.
  • Do not edit check_solution(). That is the marking scheme. Changing the test so it agrees with your code is not a fix.
  • Change only python-open-source-challenge/issue-60.py. One issue, one file, one pull request.

What you will practise

  • counting and grouping values by a key
  • turning a list of records into totals, averages and summaries

What to expect: one loop or one condition. If you know if and for, you have everything you need.

No prior open source experience is assumed. This repository exists so that this can be your first pull request.

Stuck?

Read check_solution() at the bottom of the file first. The assert lines spell out exactly what the function should return for a given input, and that is often clearer than the description above.

Still stuck? Comment here saying what you have tried. Asking is not failing.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

difficulty: beginnerOne loop or one condition. If you know if and for, you can do thisgood first issueGreat for your very first pull requesthacktoberfestPart of the Hacktoberfest 2026 challengehelp wantedMaintainers would like community help herestatus: claimedSomeone is working on this — pick a different onetopic: aggregationTotals, averages and summaries over recordstopic: dictionariesCounting, grouping and looking things up by key

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions