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 (2015) Shopping List App Refactor

Debasis Nath
Debasis Nath
3,316 Points

indentation related?

every time i m doing a code , im getting errors about indentation, about which i'm still not cleared, im confused!! can somebody tell me what is good editor for python? and please describe me how to use space or tab for indentation?

shopping_list.py
def show_help():
    # print out instructions on how to use the app
    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 your current list.
""")

def show_list(shopping_list):
    # print out the list
    print("Here's your list:")

    for item in shopping_list:
        print(item)

def add_to_list(shopping_list, new_item):
    # add new items to our list
    shopping_list.append(new_item)
    print("Added {}. List now has {} items.".format(new_item, len(shopping_list)))
    return shopping_list
def main(): 
     show_help()

# make a list to hold onto our items
       shopping_list = []
while True:
    # ask for new items
           new_item = input("> ")

    # be able to quit the app
          if new_item == 'DONE':
             break
        elif new_item == 'HELP':
                show_help()
                continue
        elif new_item == 'SHOW':
            show_list(shopping_list)
             continue
            add_to_list(shopping_list, new_item)

            show_list(shopping_list)
Boris Ivan Barreto
Boris Ivan Barreto
6,838 Points

Regarding the indentation, I would recommend to have a look the PEP8 - Style guide for Python. You will find the answer to all your questions there.

There are plenty python editors such as: Atom, Sublime, etc, but there is one exclusively for python PyCharm.

1 Answer

Steven Parker
Steven Parker
231,271 Points

Python is pretty flexible about indentation, but be consistent in what you choose.

Don't mix tabs and spaces, for example. And be sure each "level" of indentation is always done the same way. Each "stop" should be made with the same number of tabs or spaces. An example of that would be that an if and the corresponding else if and/or else statements should all be indented to the same column.