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 trialInnocent Ngwaru
7,554 PointsThe 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
Treehouse Moderator 68,457 PointsHi 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
Innocent Ngwaru
7,554 PointsOh I see. Thank you Chris.