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

Michael Morale
Michael Morale
2,702 Points

I get the 'syntax error' on line 9

I get the 'syntax error' on line 9 which says: def show_help(): ^ syntax error: invalid syntax

It matches every other function description outline. Can anyone direct me?

Steven Parker
Steven Parker
229,732 Points

To enable replication and analysis of the issue, make a snapshot of your workspace and post the link to it here.

A link to the course page you are working with could also be useful.

Michael Morale
Michael Morale
2,702 Points

import os

shopping_list = []

def clear_screen(): os.system("cls" if os.name == "nt" else clear

def show_help(): clear_screen()
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 add_to_list(item): show_list() if len(shopping_list): position = input("Where should I add {}?\n" "Press Enter to add to the end of our list\n" ">" .format(item))

else: position = 0

try: position = abs(int(position)) except ValueError: position = None if position is not None: shopping_list.insert(position-1, item) else:
shopping_list.append(new_item)

show_list()

def show_list(): clear_screen()
print("Here's your list:")

index = 1        
for item in shopping_list:
    print("{}. {}".format(index, item))
    index += 1

print("-"*10)

show_help()

while True: new_item = input("> ")

if new_item.upper == 'DONE' or new_item.upper =="QUIT":
    break
elif new_item.upper == 'HELP':
    show_help()
    continue
elif new_item.upper == 'SHOW':
    show_list()
    continue
else:       
    add_to_list(new_item)

show_list()

Steven Parker
Steven Parker
229,732 Points

Being able to see the indentation is critical to analyzing Python. That "snapshot" would allow us to see the code as it really is, and make it easy to replicate the issue.

1 Answer

Chris Freeman
MOD
Chris Freeman
Treehouse Moderator 68,423 Points

Many errors are caused by the previous line:

os.system("cls" if os.name == "nt" else clear

There appears to be a missing closing paren.

Post back if you need more help. Good luck!!!

Michael Morale
Michael Morale
2,702 Points

This was actually the issue! Thanks!