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 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
231,275 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,457 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
231,275 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.