Learn Lambda Functions by Building an Expense Tracker - Step 49

Tell us what’s happening:

keeps telling men to print_expenses() before expenses_form_ category…indetation is off, wont let me tab or space half the time…makes not sense…

Your code so far


… Sorry, your code does not pass. Keep trying.

  1. Your print_expenses() call should come after the expenses_from_category variable.
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('1. Add an expense')
        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: ')
            add_expense(expenses, amount, 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}:')
            expenses_from_category = filter_expenses_by_category
            (expenses, category)
            print_expenses(expenses_from_category)
            

# User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:131.0) Gecko/20100101 Firefox/131.0

Challenge Information:

Learn Lambda Functions by Building an Expense Tracker - Step 49

Try resetting and trying it again.

This should not be on two lines…

it will not let me do it in one…it keeps putting the parameters on the next line…even if i could it would cause and indentation error…i reset it a couple times…ill try again

never mind i widened my screen and it worked??? lol thanks for getting back to me

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.