Learn Lambda Functions by Building an Expense Tracker - Step 38

I don’t understand the question.
I think that if my input it’s ‘1’ my amount at the end it’s ‘1’.
I wrote the code so but it isn’t correct.

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)
    

# User Editable Region

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')
        
        
        if choice = input('Enter your choice: '1')
        amount = input()

# User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36

Challenge Information:

Learn Lambda Functions by Building an Expense Tracker - Step 38

1 Like

I think you are misunderstanding the sense of having that option menu.

First, you must not change this line:

choice = input('Enter your choice: ')

This allows you to take the user’s choice. After that you need to check with an if statement what is the value of choice. If the user chose '1', you need to create the amount variable to take the amount they want to add as a new expense.

In other words, the first choice leads to another user input, in this case to take the amount of money.

1 Like

Solved thanks very much, after the choice of ‘1’ user, I put amount = input() that would be how much the user takes.

1 Like