<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def round_(values, decimals=None, width=0, lfill=None, rfill=None, **kwargs):
 """Prints values with a maximum number of digits in doctests. See the documentation on function |repr| for more details. And note thate the option keyword arguments are passed to the print function. Usually one would apply function |round_| on a single or a vector of numbers: 0.333333 0.5, 0.3333, 0.25 Additionally, one can supply a `width` and a `rfill` argument: 1.0000 Alternatively, one can use the `lfill` arguments, which might e.g. be usefull for aligning different strings: __test Using both the `lfill` and the `rfill` argument raises an error: Traceback (most recent call last):
 ValueError: For function `round_` values are passed for both \ arguments `lfill` and `rfill`. This is not allowed. """

    if decimals is None:
        decimals = hydpy.pub.options.reprdigits
    with hydpy.pub.options.reprdigits(decimals):
        if isinstance(values, abctools.IterableNonStringABC):
            string = repr_values(values)
        else:
            string = repr_(values)
        if (lfill is not None) and (rfill is not None):
            raise ValueError(
                'For function `round_` values are passed for both arguments '
                '`lfill` and `rfill`.  This is not allowed.')
        if (lfill is not None) or (rfill is not None):
            width = max(width, len(string))
            if lfill is not None:
                string = string.rjust(width, lfill)
            else:
                string = string.ljust(width, rfill)
        print(string, **kwargs)