<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def scale(text="", value=0, min=0 ,max=100, step=1, draw_value=True, title="", width=DEFAULT_WIDTH, height=DEFAULT_HEIGHT, timeout=None):
 """ Select a number with a range widget :param text: text inside window :type text: str :param value: current value :type value: int :param min: minimum value :type min: int :param max: maximum value :type max: int :param step: incrementation value :type step: int :param draw_value: hide/show cursor value :type draw_value: bool :param title: title of the window :type title: str :param width: window width :type width: int :param height: window height :type height: int :param timeout: close the window after n seconds :type timeout: int :return: The value selected by the user :rtype: float """

    dialog = ZScale(text, value, min, max, step,
                    draw_value, title, width, height, timeout)
    dialog.run()
    return dialog.response