<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def create_runscript(self, default="/bin/bash", force=False):
    '''create_entrypoint is intended to create a singularity runscript
       based on a Docker entrypoint or command. We first use the Docker
       ENTRYPOINT, if defined. If not, we use the CMD. If neither is found,
       we use function default.

       Parameters
       ==========
       default: set a default entrypoint, if the container does not have
                an entrypoint or cmd.
       force: If true, use default and ignore Dockerfile settings

    '''
    entrypoint = default

    # Only look at Docker if not enforcing default
    if force is False:
        if self.entrypoint is not None:
            entrypoint = ''.join(self.entrypoint)
        elif self.cmd is not None:
            entrypoint = ''.join(self.cmd)

    # Entrypoint should use exec
    if not entrypoint.startswith('exec'):
        entrypoint = "exec %s" %entrypoint

    # Should take input arguments into account
    if not re.search('"?[$]@"?', entrypoint):
        entrypoint = '%s "$@"' %entrypoint
    return entrypoint