def categorise(responses, datatypes):
    """Maps the question to a tuple containing the datatype of
    the responses and the responses

    Args:
        responses(dict): The responses(tuple/list) mapped to their question
        datatypes(dict): The datatypes of the responses
            mapped to question number

    Returns:
        A dictionary which maps a tuple of the datatype of the response
        and the responses to their question. For example:
        {"Do you like python?": ("categorical", ("yes", "no", "yes"))}

    >>> categorise({"Question 1": ("Answer 1", "Answer 2")}, {1: "categorical"})
    {'Question 1': ('categorical', ('Answer 1', 'Answer 2'))}
    """
    output = {}
    for i, items in enumerate(responses.items()):
        output[items[0]] = tuple([datatypes[i + 1], items[1]])
    return output