from __future__ import print_function
from __future__ import unicode_literals


def safe_input(prompt):
    """Return user input after catching KeyboardInterrupt and EOFError"""
    try:
        reply = raw_input(prompt)
    except (EOFError, KeyboardInterrupt):
        quit()
    else:
        return reply.decode('utf-8')  # Convert input to unicode

prompt = "Input a Lisp style statement '(test)': "
reply = safe_input(prompt)


def check_statement(value):
    where_open = value.find("(")
    where_close = value.find(")")

    if ((where_open == -1) and where_close != -1) or (where_open > where_close):
        return -1
   

from __future__ import print_function
from __future__ import unicode_literals


def safe_input(prompt):
    """Return user input after catching KeyboardInterrupt and EOFError"""
    try:
        reply = raw_input(prompt)
    except (EOFError, KeyboardInterrupt):
        quit()
    else:
        return reply.decode('utf-8')  # Convert input to unicode

prompt = "Input a Lisp style statement '(test)': "
reply = safe_input(prompt)


def check_statement(value):
    open_index = [i for i, val in enumerate(reply) if val == "("]
    close_index = [i for i, val in enumerate(reply) if val == ")"]

    paren_total_broken = [a < b for a, b in zip(open_index, close_index)]

    if paren_total_broken.find(False):
        return -1
    else:
        return 0

Add function for broken and groundwork for other objectives
Add function for broken and groundwork for other objectives

  from __future__ import print_function
  from __future__ import unicode_literals
  
  
  def safe_input(prompt):
      """Return user input after catching KeyboardInterrupt and EOFError"""
      try:
          reply = raw_input(prompt)
      except (EOFError, KeyboardInterrupt):
          quit()
      else:
          return reply.decode('utf-8')  # Convert input to unicode
  
  prompt = "Input a Lisp style statement '(test)': "
  reply = safe_input(prompt)
  
  
  def check_statement(value):
-     where_open = value.find("(")
-     where_close = value.find(")")
+     open_index = [i for i, val in enumerate(reply) if val == "("]
+     close_index = [i for i, val in enumerate(reply) if val == ")"]
  
-     if ((where_open == -1) and where_close != -1) or (where_open > where_close):
+     paren_total_broken = [a < b for a, b in zip(open_index, close_index)]
+ 
+     if paren_total_broken.find(False):
          return -1
-    
+     else:
+         return 0
  
Add function for broken and groundwork for other objectives
## Code Before:
from __future__ import print_function
from __future__ import unicode_literals


def safe_input(prompt):
    """Return user input after catching KeyboardInterrupt and EOFError"""
    try:
        reply = raw_input(prompt)
    except (EOFError, KeyboardInterrupt):
        quit()
    else:
        return reply.decode('utf-8')  # Convert input to unicode

prompt = "Input a Lisp style statement '(test)': "
reply = safe_input(prompt)


def check_statement(value):
    where_open = value.find("(")
    where_close = value.find(")")

    if ((where_open == -1) and where_close != -1) or (where_open > where_close):
        return -1
   

## Instruction:
Add function for broken and groundwork for other objectives
## Code After:
from __future__ import print_function
from __future__ import unicode_literals


def safe_input(prompt):
    """Return user input after catching KeyboardInterrupt and EOFError"""
    try:
        reply = raw_input(prompt)
    except (EOFError, KeyboardInterrupt):
        quit()
    else:
        return reply.decode('utf-8')  # Convert input to unicode

prompt = "Input a Lisp style statement '(test)': "
reply = safe_input(prompt)


def check_statement(value):
    open_index = [i for i, val in enumerate(reply) if val == "("]
    close_index = [i for i, val in enumerate(reply) if val == ")"]

    paren_total_broken = [a < b for a, b in zip(open_index, close_index)]

    if paren_total_broken.find(False):
        return -1
    else:
        return 0
