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 Python Collections (Retired) Lists Redux Shopping List Take Three

The same program wont run in my workspaces.

I have tried to follow Kenneth's steps in this code but when I run it in my workspaces console I'm not getting the same feedback as Kenneth. What is wrong with my code?

shopping_list = []


def show_help():
  print("\nSeparate each item with a comma.")
  print("Type DONE to quit, SHOW to see the current list and HELP to see this help.")


def show_list():
  count = 1
  for item in shopping_list:
    print("{}: {}".format(count, item))
    count += 1

print("Give me a list of things you want to shop for")
show_help()

while True:
  new_stuff = input("> ")

  if new_stuff == "DONE":
    print("\nHere is your list:")
    show_list()
    break
  elif new_stuff == "HELP":
    show_help()
    continue
  elif new_stuff == "SHOW":
    show_list()
    continue
  else:
      new_list = new_stuff.split(",")
      index = input("Add this at a certain spot? Press enter for the end of the list, "
                   "or give me a number. Currently {} are in the list".format (
        len(shopping_list)))
      if index:
        spot = int(index) - 1
        for item in new_list:
          shopping_list.insert(spot, item.strip())
          spot += 1
      else:
        for new_item in new_list:
          shopping_list.append(item.strip())

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

2 Answers

Chris Freeman
MOD
Chris Freeman
Treehouse Moderator 68,064 Points

Hi Innocent, you have unreferenced variable. In the last loop, you reference item, but the loop variable is new_item. Correcting the code:

        if index:
            spot = int(index) - 1
            for item in new_list:
                shopping_list.insert(spot, item.strip())
                spot += 1
        else:
            for new_item in new_list:
                shopping_list.append(new_item.strip())  # <-- changed to new_item

Oh I see. Thank you Chris.