def prompt_dictionary(choices, default_style=1, menu_comments={}):
    """
    Prompt the user to chose one of many selections from a menu.
    
    Parameters
    ----------
    choices : dictionary
        Keys - choice numbers (int)
        Values - choice value (str), this is what the function will return
    default_style : int, optional
        Choice to select if the user doesn't respond
    menu_comments : dictionary, optional
        Additional comments to append to the menu as it is displayed
        in the console.
        Keys - choice numbers (int)
        Values - comment (str), what will be appended to the 
        corresponding choice
    """
            
    # Build the menu that will be displayed to the user with
    # all of the options available. 
    prompt = ""
    for key, value in choices.items():
        prompt += "%d %s " % (key, value)
        if key in menu_comments:
            prompt += menu_comments[key]
        prompt += "\n"
    
    # Continue to ask the user for a style until an appropriate
    # one is specified.
    response = -1
    while (not response in choices):
        try:
            text_response = input(prompt)
            
            # Use default option if no input.
            if len(text_response.strip()) == 0:
                response = default_style
            else:
                response = int(text_response)
        except ValueError:
            print("Error: Value is not an available option.  0 selects the default.\n")
    return choices[response]