code: def _interpret_lines(self, lines, compare_all=False):
          
          current = []
          for line in lines + ['']:
              if isinstance(line, str):
                  if current and (line.startswith(self.PS1) or not line):
                      # Previous prompt ends when PS1 or a blank line occurs
                      try:
                          if compare_all:
                              self._compare(CodeAnswer(), '\n'.join(current))
                          else:
                              self.evaluate('\n'.join(current))
                      except ConsoleException:
                          return False
                      current = []
                  if line:
                      print(line)
                  line = self._strip_prompt(line)
                  current.append(line)
              elif isinstance(line, CodeAnswer):
                  assert len(current) > 0, 'Answer without a prompt'
                  try:
                      self._compare(line, '\n'.join(current))
                  except ConsoleException:
                      return False
                  current = []
          return True
docs: Interprets the set of lines.
  
          PARAMTERS:
          lines       -- list of str; lines of code
          compare_all -- bool; if True, check for no output for lines that are not
                         followed by a CodeAnswer
  
          RETURNS:
          bool; True if successful, False otherwise.