Learn Lambda Functions by Building an Expense Tracker - Step 33

Tell us what’s happening:

What’s going on? i doesn’t stop looping…!

Your code so far

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

    

# 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/131.0.0.0 Safari/537.36 Edg/131.0.0.0

Challenge Information:

Learn Lambda Functions by Building an Expense Tracker - Step 33

Looks like you might be missing the closing statement

Thanks for the reply, shall I add: main()

Remember Python uses indentation to determine which code goes together. Because the while loop is not indented, it is considered as being in global scope. This it is executed when code runs and loop prints over and over again.

As per instructions, the loop should be added within the main function.

I indented the print, but is still not passing !

What’s your updated code?

while True:
             print('\nExpence Tracker')

please start from def main and give the code from that line to the end

I’ve edited your code for readability. When you enter a code block into a forum post, please precede it with a separate line of three backticks and follow it with a separate line of three backticks to make it easier to read.

You can also use the “preformatted text” tool in the editor (</>) to add backticks around text.

See this post to find the backtick on your keyboard.
Note: Backticks (`) are not single quotes (').

Whole loop should be in function.