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

Suleiman Abdurozikov
Suleiman Abdurozikov
2,943 Points

how to do this

help

shopping_list.py
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

shopping_list = []
def main():
show_help():
        # make a list to hold onto our items
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)

2 Answers

Torsten Lundahl
Torsten Lundahl
2,570 Points

Instead of just posting the code here and ask for help you could describe the problem in a more specific way. Perhaps you could check the errors and try to explain what it is that you need help with.

I'll gladly help you, but when you just post 'help' and rely on the forum to give you every answer, I don't feel the slightest interest.

Chris Shaw
Chris Shaw
26,676 Points

Hi Suleiman,

I recommend you retry the challenge again but remember to ensure you function logic is indented correctly and not moved around in any way as the task is just asking for you to define a function called main around lines 22 and below.

Happy coding!