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 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,423 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.