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

### Tell us what’s happening:

I cannot understend where place the elif in these lines

``````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: ')

/* User Editable Region */

if choice == '1':
amount = float(input('Enter amount: '))
category = input('Enter category: ')
elif choice  == '2':
print('\nAll Expenses:')

/* User Editable Region */

``````

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

### Challenge Information:

Learn Lambda Functions by Building an Expense Tracker - Step 34

you now have the if/elif statements outside the while loop. Did you want that to happen?

``````if choice == '1':
amount = float(input('Enter amount: '))
category = input('Enter category: ')
elif choice == '2':
print('\nAll Expenses: ')
``````

Still not working

you did not answer the question, did you want the if/elif statement outside the while loop?

Yes I did want that , but did it affects the output?

I solved. Thanks for the valid support

1 Like

Hey! I have the same error and I couldn´t solve it. Can you please tell me how did you solve it? Thank you!