Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Python Python Basics (2015) Shopping List App Refactor

Parzeval One
Parzeval One
1,920 Points

Refactoring the shopping_list2.py

Could someone please post the right refactored code to the shopping list 2?

2 Answers

Andrew Winkler
Andrew Winkler
37,739 Points

You really gave it your all on this one. Next time post what little/incorrect code you have and we'll help you along.

def show_help():
    # print out instructions on how to use the app
    print("What should we pick up at the store?")
    print("""
    Enter 'DONE' to stop adding items.
    Enter 'HELP' for this help.
    Enter 'SHOW' to see your current list.
    """)

def show_list(shopping_list):
    # print out the list
    print("Here's your list:")

    for item in shopping_list:
        print(item)

def add_to_list(shopping_list, new_item):
    # add new items to our list
    shopping_list.append(new_item)
    print("Added {}. List now has {} items.".format(new_item, len(shopping_list)))
    return shopping_list

def main():
    show_help()

# make a list to hold onto our items
    shopping_list = []

    while True:
    # ask for new items
        new_item = input("> ")

    # be able to quit the app
        if new_item == 'DONE':
            break
        elif new_item == 'HELP':
            show_help()
            continue
        elif new_item == 'SHOW':
            show_list(shopping_list)
            continue
        add_to_list(shopping_list, new_item)

    show_list(shopping_list)
Parzeval One
Parzeval One
1,920 Points

OK, Im just very new to all this. And for me to tell where I should call a function or not is difficult. For example the code you gave doesnt work when copied and pasted into workspaces. And I also ran the code commenting out the calling of show_help() and the code still worked.

Thanks for posting though. Inside the challenge the code you gave clears.

Andrew Winkler
Andrew Winkler
37,739 Points

Your comment indicates that something inside of your workspaces is probably incorrect.

It is saying make sure that all your code is inside the function. What could be the problem