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
Miles Welch
628 PointsTried code as entered, keep getting different results
create a new empty list called shopping_list
shopping_list = []
create a function named add_to_list that declares a parameter named item
def add_to_list(item): # add the item to the list shopping_list.append(item) # notify user of total items in list print("Added! List has {} items.".format(len(shopping_list)))
def show_help(): print("What should we pick up at the store?") print(""" Enter 'DONE' to stop adding items. Enter 'HELP' for this help. Enter 'SHOW' to see the whole list. """) print(show_help())
def show_list(): for item in shopping_list: print("Here's your list:") for item in shopping_list: print(item)
while True: new_item = input("> ") # prompts for new data to be added to list
if new_item == 'DONE': # terminates prompt when DONE is entered
break # breaks the loop
elif new_item == 'HELP':
show_help()
continue
elif new_item == 'SHOW':
show_list()
continue
# call add_to_list with new_item as an argument
add_to_list(new_item)
print(show_list())
the word "none" keeps showing up in my lists, and my list repeats twice when I use "DONE" command
1 Answer
Steven Parker
243,861 PointsThe unformatted lines make it hard to be sure, but I think I see two issues:
- The function show_list() is defined having two loops, but it should only have the second one.
- On the last line, show_list() should be called directly. By printing it, you get the extra "None" since the function itself does not return any value.
And while you didn't mention it, the same thing (getting a "None" at the end) happens when you print show_help() instead of calling it directly.
Steven Parker
243,861 PointsSteven Parker
243,861 PointsCode should be properly formatted. (most important for Python!). Take a look at these videos about Posting a Question, using Markdown formatting to preserve the code's appearance, and particularly this one about sharing a snapshot of your workspace.