<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def is_executable(exe_name):
 """Check if Input is Executable This methid checks if the input executable exists. Parameters exe_name : str Executable name Returns ------- Bool result of test Raises ------ TypeError For invalid input type """


    if not isinstance(exe_name, str):

        raise TypeError('Executable name must be a string.')

    def is_exe(fpath):

        return os.path.isfile(fpath) and os.access(fpath, os.X_OK)

    fpath, fname = os.path.split(exe_name)

    if not fpath:

        res = any([is_exe(os.path.join(path, exe_name)) for path in
                   os.environ["PATH"].split(os.pathsep)])

    else:

        res = is_exe(exe_name)

    if not res:
        raise IOError('{} does not appear to be a valid executable on this '
                      'system.'.format(exe_name))