Learn Lambda Functions by Building an Expense Tracker - Step 25

Tell us what’s happening:

while True:
print(‘\nExpense Tracker’)

This is what the instructions for this step want me to put into my main function. This creates a loop that prints this statement indefinitely, grinds the browser to a hault and times out the test. Am I interpreting the instructions correctly? I’ve been refreshing and retrying this. Can’t get it to work.

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/125.0.0.0 Safari/537.36

Challenge Information:

Learn Lambda Functions by Building an Expense Tracker - Step 25

I’m not exactly sure what your code was at that point. Can you show me exactly what your code was? Your while loop is meant to be nested inside of the main function though.

You don’t need to worry about the loop at this step because we haven’t called the main() function yet.

The code is shown at the top of the post. Can you see it? The problem is towards the bottom where I am defining the main function. At this point, the main function is just
def main():
expenses =
while True:
print(‘\nExpense Tracker’)

Even though the code hasn’t called the function yet, the preview window on the right hand side starts running this and spamming “Expense Tracker” thousands of times, and the browser times out. The tests won’t run.

Pay attention to indentation. The ‘while’ statement is a part of the function here.

You were correct, I literally just needed to tab over the while True: and the print statement. >.<

1 Like

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