# Learn Lambda Functions by Building an Expense Tracker - Step 40

### Tell us what’s happening:

expenses.append({‘amount’: amount, ‘category’: category})

def print_expenses(expenses):
for expense in expenses:
print(f’Amount: {expense[“amount”]}, Category: {expense[“category”]}')

def total_expenses(expenses):
return sum(map(lambda expense: expense[‘amount’], expenses))

def filter_expenses_by_category(expenses, category):
return filter(lambda expense: expense[‘category’] == category, expenses)

def main(

``````def add_expense(expenses, amount, category):
expenses.append({'amount': amount, 'category': category})

def print_expenses(expenses):
for expense in expenses:
print(f'Amount: {expense["amount"]}, Category: {expense["category"]}')

def total_expenses(expenses):
return sum(map(lambda expense: expense['amount'], expenses))

def filter_expenses_by_category(expenses, category):
return filter(lambda expense: expense['category'] == category, expenses)

def main():
expenses = []
while True:
print('\nExpense Tracker')
print('2. List all expenses')
print('3. Show total expenses')
print('4. Filter expenses by category')
print('5. Exit')

choice = input('Enter your choice: ')

if choice == '1':
amount = float(input('Enter amount: '))
category = input('Enter category: ')

elif choice == '2':
print('\nAll Expenses:')
print_expenses(expenses)

elif choice == '3':
print('\nTotal Expenses: ', total_expenses(expenses))

# User Editable Region

elif choice == '4':
category = input('Enter category to filter: ')
print(f'\nExpenses for {category}:')
print_expenses(filter_expenses_by_category(expenses, category))

# User Editable Region

``````

User Agent is: `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36`

### Challenge Information:

Learn Lambda Functions by Building an Expense Tracker - Step 40

Hi, welcome to the forum!

We see you have posted some code but did you have a question? (You have not filled out the “Tell us what’s happening:” field above)

Please Tell us what’s happening in your own words. Learning to describe problems is hard, but it is an important part of learning how to code.

Also, the more you say, the more we can help!

Here is a comparison of the original code and your code.

The code in blue is the original code, the code in red is your code.
The code in magenta is the overlap.

Here are the instructions.

Still within the `elif` statement, pass `expenses_from_category` iterator to a `print_expenses` call.

You are asked to add a new line of code, not to modify the existing code.

Happy coding