Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Python Introducing Lists Build an Application Add Items

v p
seal-mask
.a{fill-rule:evenodd;}techdegree
v p
Python Development Techdegree Student 790 Points

hey my code keeps reading name "" is not defined..?

here is my code:

shopping_list = []

# create a function called add to list tha takes an item and it adds item to shopping list
def add_to_list(item):
  shopping_list.append(item)
  print("Added, its now {} items in the list.".format(item))

def show_help():
  print("What shall we get from the store ?")
  print("""
  TYPE 'DONE' TO END LIST
  HIT this 4 'help'
  """)

  show_help() 
  while True:
    print("Item was added to the list! There are currently {} items on the list".format(len(shopping_list)))
    new_item = input("> ")
    if new_item == "DONE":
        break
    elif new_item == "HELP":
        show_help()
    add_to_list(new_item)
    continue

    print(shopping_list)

[MOD: added ```python formatting -cf]

v p
seal-mask
.a{fill-rule:evenodd;}techdegree
v p
Python Development Techdegree Student 790 Points

shopping_list = []

create a function called add to list tha takes an item and it adds item to shopping list

def add_to_list(item): shopping_list.append(item) print("Added, its now {} items in the list.".format(item))

def show_help(): print("What shall we get from the sto ?") print(""" TYPE 'DONE' TO END LIST HIT this 4 'help' """)

show_help() while True: print("Item was added to the list! There are currently {} items on the list".format(len(shopping_list))) new_item = input("> ") if new_item == "DONE": break elif new_item == "HELP": show_help() add_to_list(new_item) continue

print(shopping_list)
Steven Parker
Steven Parker
217,443 Points

When posting code, use Markdown formatting to preserve the code's appearance and prevent certain characters from being consumed. An even better way to share code and make your issue easy to replicate is to make a snapshot of your workspace and post the link to it here.

Chris Freeman
Chris Freeman
Treehouse Moderator 68,029 Points

As written the code defines two functions only. The call to show_help and the while statement are both inside the function definition.

your shopping list is already being printed through show_help() thats where your string is starting so you shouldnt be printing your shopping list at the end of the same block.

try calling new_item with your add_to_list function.

1 Answer

Steven Parker
Steven Parker
217,443 Points

I don't see what would cause that error. But as Chris pointed out, there's just 2 functions and no main program, so it won't really do anything as it is.

The code that should be the main program is indented too far.