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 Basics (Retired) Putting the "Fun" Back in "Function" Shopping List Redux

Shazad Kazi
Shazad Kazi
10,758 Points

Shopping List Redux Error?

I seem to be getting this error.

Traceback (most recent call last):                                                                                                                             
  File "function_list.py", line 25, in <module>                                                                                                                
    add_to_list(new_item)                                                                                                                                      
  File "function_list.py", line 8, in add_to_list                                                                                                              
    shopping_list.append(item)                                                                                                                                 
AttributeError: 'dict' object has no attribute 'append' 

I am not sure why, I feel as though I have copied to code correctly as well.

shopping_list = {}

def show_help():
  print("What should we pick up at the store?")
  print("Enter DONE to stop.")

def add_to_list(item):
  shopping_list.append(item)
  print("Added! List has {} items.".format(len(shopping_list)))

def show_list():
  print("Here's your list:")
  for item in shopping_list:
    print(item)

show_help()

while True:
  new_item = input("> ")
  if new_item == "DONE":
    break
  elif new_item == "HELP":
    show_help()
    continue
  add_to_list(new_item)
  continue

show_list()

I'd really appreciate it, if someone could help me out.

Kind Regards,

1 Answer

And the error message is correct. there is no append attribute (or method) for a dictionary. Did you mean to define shopping list ass a dictionary? Or did you want it to be a list? In which case you used the wrong braces in your definition. try this:

shopinglist = []