code: def text(self):
          
          def _problem_iter(problem_num):
              problem_file = os.path.join(EULER_DATA, 'problems.txt')
  
              with open(problem_file) as f:
                  is_problem = False
                  last_line = ''
  
                  for line in f:
                      if line.strip() == 'Problem %i' % problem_num:
                          is_problem = True
  
                      if is_problem:
                          if line == last_line == '\n':
                              break
                          else:
                              yield line[:-1]
                              last_line = line
  
          problem_lines = [line for line in _problem_iter(self.num)]
  
          if problem_lines:
              # First three lines are the problem number, the divider line,
              # and a newline, so don't include them in the returned string.
              # Also, strip the final newline.
              return '\n'.join(problem_lines[3:-1])
          else:
              msg = 'Problem %i not found in problems.txt.' % self.num
              click.secho(msg, fg='red')
              click.echo('If this problem exists on Project Euler, consider '
                         'submitting a pull request to EulerPy on GitHub.')
              sys.exit(1)
docs: Parses problems.txt and returns problem text