def AskNumber(text="unknown task"):
    """
Asks the user to interactively input a number (float or int) at any point in the script, and returns the input number.

| __option__ | __description__ 
| --- | --- 
| *text | an optional string to identify for what purpose the chosen number will be used.
"""
    def ValidateNumber(text):
        try:
            innumber = input("\n\nwrite a comma or integer number to use for "+str(text)+" (example: 15 or 15.83)\nnumber = ")
        except NameError:
            print("""\n---> unknown error""")
            return ValidateNumber(text)
        if not isinstance(innumber,(float,int)):
            print("""\n---> error: the number must be either a floating point comma or integer number""")
            return ValidateNumber(text)
        return innumber
    return ValidateNumber(text)